Java获取随机数的3种方法

Java获取随机数的3种方法

在Java中,生成随机数是非常常见的任务,对于一些涉及到密码、加密等的场景更是必要的。Java提供了多个生成随机数的方法,下面是Java获取随机数的3种方法的详细解释。

方法1:使用Math.random()生成随机数

Math.random()方法可以用于生成随机数。返回值是一个大于等于0.0且小于1.0的double类型的伪随机数。如果要生成干净的随机数,需要进行一定的处理。代码如下:

double randomNumber = Math.random();
System.out.println(randomNumber);

执行以上代码,将会输出一个0.0到1.0之间的随机小数,如下所示:

0.8919127207863195

如果想要生成一个整数类型的随机数,可以借助Math.round()方法进行舍入操作,代码如下:

int randomInt = (int) Math.round(Math.random() * 10);
System.out.println(randomInt);

执行以上代码,将会输出一个大于等于0且小于等于10的整数随机数,如下所示:

5

方法2:使用Random类生成随机数

Random类是Java中提供的一个用于生成随机数的类。这个类提供了多个方法可以用于生成随机数,具体用法如下:

Random rand = new Random();
int randomNumber = rand.nextInt(10);
System.out.println(randomNumber);

以上代码将会输出一个大于等于0且小于10的整数随机数,如下所示:

7

除了nextInt()方法之外,Random类还提供了多种方法用于生成不同类型的随机数。

方法3:使用ThreadLocalRandom类生成随机数

ThreadLocalRandom类是Java7中引入的一个线程本地随机数生成器,这个类是Random的一个线程本地版本,理论上来说性能比Random更好。下面是一个获取0到9之间随机整数的示例:

int randomNumber = ThreadLocalRandom.current().nextInt(10);
System.out.println(randomNumber);

输出结果如下:

6

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java获取随机数的3种方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Ubuntu 16.04安装Apache Tomcat的方法

    下面是Ubuntu 16.04安装Apache Tomcat的具体步骤: 步骤一:安装Java环境 在Ubuntu 16.04中,可以通过以下命令安装Java环境: sudo apt-get update sudo apt-get install default-jdk 安装成功后,可以通过以下命令验证Java版本信息: java -version 示例输出…

    Java 2023年5月19日
    00
  • Java8新特性之空指针异常的克星Optional类的实现

    Java8新特性之空指针异常的克星Optional类的实现 前言 在 Java 中,我们经常会遇到空指针异常(NullPointerException),尤其是在处理数据集合或者从接口返回数据时,如果拿到了 null 值,程序就会抛出异常。 Java 8 中提供了一个克星空指针异常的类 Optional,它可以有效地解决 null 值的问题。 Optiona…

    Java 2023年5月27日
    00
  • 微信小程序以ssm做后台开发的实现示例

    下面我将详细讲解如何使用ssm框架进行微信小程序后台开发的实现示例。 一、什么是SSM框架 SSM框架实际上是Spring、SpringMVC和MyBatis三个框架的结合,可以高效稳定地进行Java Web开发。其中,Spring是用于控制Bean的,SpringMVC是用于控制请求的,MyBatis是用于控制数据的。部署方便,使用简单,很适合中小型互联网…

    Java 2023年5月23日
    00
  • SpringBoot项目优雅的全局异常处理方式(全网最新)

    下面我将为你详细讲解“SpringBoot项目优雅的全局异常处理方式(全网最新)”的完整攻略。 1. 什么是全局异常处理 全局异常处理指的是通过统一的方式来处理应用程序发生的异常,而不是在每个可能抛出异常的地方都进行异常处理。在 Spring Boot 项目中,使用全局异常处理能够将异常处理代码从业务逻辑中剥离出来,便于维护和重用。 2. 如何实现全局异常处…

    Java 2023年5月19日
    00
  • JSP针对表单重复提交的处理方法

    JSP针对表单重复提交的处理方法包括以下几步: 1.在提交表单的jsp页面中添加一个隐藏域,用于标识表单是否已经提交过。例如: <form method="post" action="submit.jsp"> <input type="hidden" name="subm…

    Java 2023年6月15日
    00
  • springboot+thymeleaf打包成jar后找不到静态资源的坑及解决

    在使用Spring Boot和Thymeleaf开发Web应用程序时,我们可能会遇到打包成jar后找不到静态资源的问题。本文将详细介绍这个问题的原因和解决方法,并提供两个示例说明。 1. 问题原因 在Spring Boot应用程序中,静态资源通常存放在src/main/resources/static目录下。当我们使用Maven或Gradle将应用程序打包成…

    Java 2023年5月18日
    00
  • SpringBoot学习之Json数据交互的方法

    下面是”SpringBoot学习之Json数据交互的方法”的详细攻略: 1. Json数据交互的概述 JSON(JavaScript Object Notation)是一种轻量级的数据交互格式,常用于前后端数据传输。SpringBoot可以很方便地支持Json数据的交互,实现前后端数据的无缝传输。 2. 配置Json数据交互 在SpringBoot中,配置J…

    Java 2023年5月26日
    00
  • JavaWeb文件上传下载功能深入分析(二)

    下面是对JavaWeb文件上传下载功能深入分析(二)的完整攻略。 一、文章概述 本篇文章是对JavaWeb文件上传下载功能深入分析(二)的详细讲解。本文主要分为以下几个方面: 1.文件上传和下载的原理:讲解文件上传和下载的基本原理和流程。 2.文件上传和下载的代码实现:演示如何使用JavaWeb实现文件上传和下载功能。 3.文件上传和下载的应用场景:介绍文件…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部