Java创建随机数的四种方式总结

Java创建随机数的四种方式总结

在Java中,有多种方式可以创建随机数。下面将总结Java创建随机数的四种方式,并给出两个示例说明。

1. java.util.Random类

使用java.util.Random类可以生成随机数。这种方式通常使用步骤如下:

  1. 创建一个Random对象,如Random rand = new Random()
  2. 调用rand对象的方法生成随机数。

例如,生成n以内的随机整数的代码如下:

Random rand = new Random();
int randomNum = rand.nextInt(n);

示例:

Random rand = new Random();
int randomNum = rand.nextInt(100); // 生成0到99之间的随机整数
System.out.println(randomNum);

2. Math.random()方法

使用Math.random()方法也可以生成随机数,这个方法返回01之间的double类型数。可以通过以下公式将01之间的随机数转换为一个范围内的随机数:

Math.floor(Math.random() * (max - min + 1) + min)

其中 minmax 分别是范围的最小值和最大值。

例如,生成1100之间的随机整数的代码如下:

int randomNum = (int) Math.floor(Math.random() * (100 - 1 + 1) + 1);

这个表达式先使用Math.random()方法生成01之间的double类型数,然后将其乘以100,使用Math.floor()方法将结果向下取整。最后加上1,得到1100之间的随机整数。

示例:

int randomNum = (int) Math.floor(Math.random() * (100 - 1 + 1) + 1);
System.out.println(randomNum);

3. java.util.concurrent.ThreadLocalRandom类

java.util.concurrent.ThreadLocalRandomRandom的一个相对较新的替代品,它是线程安全的。使用这个类可以生成随机数。与Random类不同,可以使用ThreadLocalRandomcurrent()方法创建一个ThreadLocalRandom对象。

例如,生成1100之间的随机整数的代码如下:

ThreadLocalRandom rand = ThreadLocalRandom.current();
int randomNum = rand.nextInt(1,101);

示例:

ThreadLocalRandom rand = ThreadLocalRandom.current();
int randomNum = rand.nextInt(1,101);
System.out.println(randomNum);

4. java.security.SecureRandom类

java.security.SecureRandom能生成的随机数更安全,因为可以使用它来生成高质量的随机数。与Random类不同,SecureRandom需要更多的计算资源。

例如,生成1100之间的随机整数的代码如下:

SecureRandom rand = new SecureRandom();
int randomNum = rand.nextInt(100) + 1;

示例:

SecureRandom rand = new SecureRandom();
int randomNum = rand.nextInt(100) + 1; // 生成1到100之间的随机整数
System.out.println(randomNum);

总之,以上四种方式都可以生成随机数,选择什么方式要根据实际需求和场景进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java创建随机数的四种方式总结 - Python技术站

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

相关文章

  • java 文件上传(单文件与多文件)

    好的。对于Java文件上传,常见的方式有单文件上传和多文件上传两种。 一、单文件上传 1.前端通过表单实现文件选择和提交操作,后端利用Apache的FileUpload组件进行接收处理。 <form action="upload" enctype="multipart/form-data" method=&quo…

    Java 2023年5月20日
    00
  • springboot集成@DS注解实现数据源切换的方法示例

    下面是针对“springboot集成@DS注解实现数据源切换的方法示例”的详细讲解,包括两个示例。 一、简介 在Spring Boot中,实现数据源切换最常用的方式是使用@DS注解。它可以在运行时动态地切换数据源。这个注解是基于MyBatis-Plus的,需要引入MyBatis-Plus的核心依赖。 二、操作步骤 1. 引入相关依赖 在pom.xml文件中加…

    Java 2023年5月20日
    00
  • 浅谈SpringBoot优化技巧

    SpringBoot优化技巧 SpringBoot是目前广泛应用于Java web开发中的一款优秀框架,其简化了开发流程、提高了开发效率、提升了代码的可维护性,在实际开发中应用广泛。但是,一些不良操作或者技术栈的选择不当,会导致性能问题出现。 为了解决这些问题,我们需要对SpringBoot进行优化。在本文中,我将详细介绍一些SpringBoot的优化技巧,…

    Java 2023年5月15日
    00
  • Java 输入多行字符串或者多个int数值的方法

    要输入多行字符串或者多个int数值,可以使用Java的Scanner类。Scanner类可以通过System.in从键盘获取输入,也可以从文件、字符串等中获取输入。 输入多行字符串 如果需要输入多行字符串,可以使用Scanner类的nextLine()方法。为了避免输入时出现死循环,可以在输入的第一行加入一个数字,表示接下来要输入几行字符串。 下面是一个输入…

    Java 2023年5月26日
    00
  • 彻底解决Spring MVC中文乱码问题的方案

    彻底解决 Spring MVC 中文乱码问题的方案有以下几步: 第一步:在 web.xml 中添加 filter 在 web.xml 中添加如下过滤器,这个过滤器用于将所有请求和响应对象的编码都设置为 UTF-8: <filter> <filter-name>CharacterEncodingFilter</filter-nam…

    Java 2023年5月20日
    00
  • 如何成为一个优秀的jsp程序员

    如何成为一个优秀的JSP程序员 1. 学习JSP基础知识 要成为一个优秀的JSP程序员,首先需要掌握JSP基础知识,如JSP语法、JSP指令、JSP标签库、JavaBean和EL表达式等。建议可以先通过阅读JSP相关的书籍或在线课程进行学习,同时也可以自己动手编写一些简单的JSP程序来加深理解。另外,还需要对Java基础语法有一定的掌握,因为JSP底层是基于…

    Java 2023年5月23日
    00
  • Java获取接口所有实现类的方式详解

    关于Java获取接口所有实现类的方式,可以采用以下三种方法: 方法一:利用Java SPI机制 Java SPI(Service Provider Interface)即服务提供商接口,是Java标准类库中的一种服务提供发现机制。利用Java SPI机制,我们可以很容易地获取到某个接口的所有实现类。具体操作步骤如下: 定义接口MyService: java …

    Java 2023年5月19日
    00
  • Springboot开发OAuth2认证授权与资源服务器操作

    Spring Boot开发OAuth2认证授权与资源服务器操作 OAuth2认证授权是Web开发中非常实用的技术,解决了多种应用程序认证和权限的问题。在Spring Boot中集成OAuth2是一个非常流行的做法,本文将讲解如何使用Spring Boot来实现OAuth2认证和授权。 步骤 步骤1:创建Spring Boot项目 首先我们要创建一个Sprin…

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