Java常用API(二)Random,System与Math

简介: Java常用API(二)Random,System与Math

Random

用于生成随机数。

使用步骤:

  1. 导入包:import java.util.Random
  2. 创建对象:Random r = new Random()
  3. 随机整数:int num = r.nextInt(20)
  • 解释:20 代表的是一个范围,括号写 20 的随机数则是 0 - 19
  • 获取 0 - 10:int num = r.nextInt(10 + 1)
  1. 随机小数:public double nextDouble() 从范围 0.0d1.0d (左闭右开),随机地生成并返回

System

System 代表当前系统

静态方法:

  • public static void exit(int status):终止 JVM 虚拟机,非 0 是异常终止
  • public static long currentTimeMillis():获取当前系统此刻时间毫秒值
  • static void arraycopy(Object var0, int var1, Object var2, int var3, int var4):数组拷贝
  • 参数一:原数组
  • 参数二:从原数组的哪个位置开始赋值
  • 参数三:目标数组
  • 参数四:从目标数组的哪个位置开始赋值
  • 参数五:赋值几个
public class SystemDemo {
    public static void main(String[] args) {
        //System.exit(0); // 0代表正常终止!!
        long startTime = System.currentTimeMillis();//定义sdf 按照格式输出
        for(int i = 0; i < 10000; i++){输出i}
    long endTime = new Date().getTime();
    System.out.println( (endTime - startTime)/1000.0 +"s");//程序用时
        int[] arr1 = new int[]{10 ,20 ,30 ,40 ,50 ,60 ,70};
        int[] arr2 = new int[6]; // [ 0 , 0 , 0 , 0 , 0 , 0]
        // 变成arrs2 = [0 , 30 , 40 , 50 , 0 , 0 ]
        System.arraycopy(arr1, 2, arr2, 1, 3);
    }
}

Math

Math 用于做数学运算

Math 类中的方法全部是静态方法,直接用类名调用即可:

方法 说明
public static int abs(int a) 获取参数a的绝对值
public static double ceil(double a) 向上取整
public static double floor(double a) 向下取整
public static double pow(double a, double b) 获取 a 的 b 次幂
public static long round(double a) 四舍五入取整
public static int max(int a,int b) 返回较大值
public static int min(int a,int b) 返回较小值
public static double random() 返回值为 double 的正值,[0.0,1.0)
 public class MathDemo {
     public static void main(String[] args) {
         // 1.取绝对值:返回正数。
         System.out.println(Math.abs(10));
         System.out.println(Math.abs(-10.3));
         // 2.向上取整: 5
         System.out.println(Math.ceil(4.00000001)); // 5.0
         System.out.println(Math.ceil(-4.00000001));//4.0
         // 3.向下取整:4
         System.out.println(Math.floor(4.99999999)); // 4.0
         System.out.println(Math.floor(-4.99999999)); // 5.0
         // 4.求指数次方
         System.out.println(Math.pow(2 , 3)); // 2^3 = 8.0
         // 5.四舍五入 10
         System.out.println(Math.round(4.49999)); // 4
         System.out.println(Math.round(4.500001)); // 5
         System.out.println(Math.round(5.5));//6
     }
 }
目录
相关文章
|
2月前
|
Java API Spring
打造未来电商新引擎:揭秘Java可扩展API设计,让支付与物流灵活如丝,引领电商时代潮流!
【8月更文挑战第30天】本文通过电商平台案例,探讨了如何设计可扩展的Java API。首先定义支付和物流服务的接口与抽象类,然后实现具体服务,接着引入工厂模式或依赖注入管理服务实例,最后通过配置实现灵活扩展。这种设计确保了应用架构的灵活性和长期稳定性。
45 3
|
2月前
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
72 0
|
24天前
|
Java API C++
Java 8 Stream Api 中的 peek 操作
本文介绍了Java中`Stream`的`peek`操作,该操作通过`Consumer&lt;T&gt;`函数消费流中的每个元素,但不改变元素类型。文章详细解释了`Consumer&lt;T&gt;`接口及其使用场景,并通过示例代码展示了`peek`操作的应用。此外,还对比了`peek`与`map`的区别,帮助读者更好地理解这两种操作的不同用途。作者为码农小胖哥,原文发布于稀土掘金。
Java 8 Stream Api 中的 peek 操作
|
10天前
|
Java 程序员 API
Java 8新特性之Lambda表达式与Stream API的探索
【9月更文挑战第24天】本文将深入浅出地介绍Java 8中的重要新特性——Lambda表达式和Stream API,通过实例解析其语法、用法及背后的设计哲学。我们将一探究竟,看看这些新特性如何让Java代码变得更加简洁、易读且富有表现力,同时提升程序的性能和开发效率。
|
9天前
|
SQL Java Linux
Java 8 API添加了一个新的抽象称为流Stream
Java 8 API添加了一个新的抽象称为流Stream
|
11天前
|
Java
flyway报错Caused by: java.lang.NoSuchMethodError: org.flywaydb.core.api.configuration.FluentConfigurat
flyway报错Caused by: java.lang.NoSuchMethodError: org.flywaydb.core.api.configuration.FluentConfigurat
14 2
|
21天前
|
Java
Java Number & Math 类详解
在 Java 中,`Number` 类和 `Math` 类是处理数字和数学运算的重要工具。
|
29天前
|
安全 Java API
【本地与Java无缝对接】JDK 22外部函数和内存API:JNI终结者,性能与安全双提升!
【9月更文挑战第6天】JDK 22的外部函数和内存API无疑是Java编程语言发展史上的一个重要里程碑。它不仅解决了JNI的诸多局限和挑战,还为Java与本地代码的互操作提供了更加高效、安全和简洁的解决方案。随着FFM API的逐渐成熟和完善,我们有理由相信,Java将在更多领域展现出其强大的生命力和竞争力。让我们共同期待Java编程新纪元的到来!
47 11
|
26天前
|
监控 Java 大数据
【Java内存管理新突破】JDK 22:细粒度内存管理API,精准控制每一块内存!
【9月更文挑战第9天】虽然目前JDK 22的确切内容尚未公布,但我们可以根据Java语言的发展趋势和社区的需求,预测细粒度内存管理API可能成为未来Java内存管理领域的新突破。这套API将为开发者提供前所未有的内存控制能力,助力Java应用在更多领域发挥更大作用。我们期待JDK 22的发布,期待Java语言在内存管理领域的持续创新和发展。
|
28天前
|
Java API 数据处理
【Java的SIMD革命】JDK 22向量API:释放硬件潜能,让Java应用性能飙升!
【9月更文挑战第7天】 JDK 22向量API的发布标志着Java编程语言在SIMD技术领域的重大突破。这一新特性不仅释放了现代硬件的潜能,更让Java应用性能实现了飙升。我们有理由相信,在未来的发展中,Java将继续引领编程语言的潮流,为开发者们带来更加高效、更加强大的编程体验。让我们共同期待Java在SIMD技术的推动下开启一个全新的性能提升时代!
下一篇
无影云桌面