JavaSE——常用API进阶二(1/8)-Math、System、Runtime(它们提供的常见方法以及具体使用)

简介: JavaSE——常用API进阶二(1/8)-Math、System、Runtime(它们提供的常见方法以及具体使用)

Math

  • 代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法。

Math类提供的常见方法 图片.png

具体用法

1.取绝对值

public class Test {
    public static void main(String[] args) {
        System.out.println(Math.abs(-12));  //12
        System.out.println(Math.abs(123));  //123
        System.out.println(Math.abs(-3.14));  //3.14
    }
}


2.向上取整&向下取整

public class Test {
    public static void main(String[] args) {
        //向上取整
        System.out.println(Math.ceil(4.00001));  //5.0
        System.out.println(Math.ceil(4.0));  //4.0
        
        //向下取整
        System.out.println(Math.floor(4.99999));  //4.0
        System.out.println(Math.floor(4.0));  //4.0
 
    }
}


3.四舍五入

public class Test {
    public static void main(String[] args) {
        System.out.println(Math.round(3.4999));  //3
        System.out.println(Math.round(3.50001));  //4
    }
}


4.取较大值&取较小值

public class Test {
    public static void main(String[] args) {
        System.out.println(Math.max(10, 20));  //20
        System.out.println(Math.min(10, 20));  //10
    }
}


5.取次方&取随机数

public class Test {
    public static void main(String[] args) {
        //取次方
        System.out.println(Math.pow(2, 3));  //2的3次方  8.0
        System.out.println(Math.pow(3, 2));  //3的2次方  9.0
 
        //取随机数
        System.out.println(Math.random()); //取[ 0.0, 1.0 )    (包前不包后)
    }
}


Ctrl + 鼠标左键查看random的源码:



System

  • System代表程序所在的系统,也是一个工具类。

System类提供的常见方法

方法名 说明
public static void exit(int status) 终止当前运行的Java虚拟机。
publicstaticlong currentTimeMillis() 返回当前系统的时间毫秒值形式

具体用法


public class Test {
    public static void main(String[] args) {
 
        //1.终止当前运行的Java虚拟机
        //System.exit(0); //人为地终止虚拟机(不要运行使用)
 
        //2.获取当前系统的时间
        long time = System.currentTimeMillis();
        System.out.println(time);  //是以毫秒为单位输出出来的
    }
 
}

运行结果:

一般可用于判断一段程序的执行时间或者简单评估其性能:

public class Test {
    public static void main(String[] args) {
 
        long time1 = System.currentTimeMillis();
        int a = 0;
        for (int i = 0; i < 10000000; i++) {
            a += a;
        }
        long time2 = System.currentTimeMillis();
        System.out.println("执行时间:" + (time2 - time1) / 1000.0 + "s"); //换算成秒的单位
    }
 
}


时间毫秒值

  • 指的是从1970年1月1日00:00:00走到此刻的总的毫秒数,应该是很大的。1s=1000ms。

为什么选择“1970年1月1日00:00:00”作为时间的起点?

 1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX。


1970年1月1日算C语言的生日

Runtime

  • 代表程序所在的运行环境。
  • Runtime是一个单例类

Runtime类提供的常见方法 图片.png

具体用法

1.返回与当前Java应用程序关联的运行时对象

public class Test {
    public static void main(String[] args) {
        //1.返回与当前Java应用程序关联的运行时对象
        Runtime r = Runtime.getRuntime();
        System.out.println(r.toString());
    }
}


2.终止当前运行的虚拟机

3.获取虚拟机能够使用的处理器数。

4.返回Java虚拟机中的内存总量。

5.返回Java虚拟机中的可用内存量

public class Test {
    public static void main(String[] args) {
        //1.返回与当前Java应用程序关联的运行时对象
        Runtime r = Runtime.getRuntime();
 
        //2.终止当前运行的虚拟机,该参数用作状态代码;按照惯例,非零状态代码表示异常终止。
        //r.exit(0);   同样不能运行它
 
        //3、获取虚拟机能够使用的处理器数。
        System.out.println("3.虚拟机能够使用的处理器数:" + r.availableProcessors());
 
        //4.返回Java虚拟机中的内存总量
        System.out.println("4.Java虚拟机中的内存总量:" + r.totalMemory()/1024.0/1024.0 + " MB"); //转换成MB
 
        //5.返回Java虚拟机中的可用内存量
        System.out.println("5.Java虚拟机中的可用内存量" + r.freeMemory()/1024.0/1024.0 + " MB");
    }
 
}

运行结果:


6.启动某个程序,并返回代表该程序的对象。


public class Test {
    public static void main(String[] args) {
        Runtime r = Runtime.getRuntime();
 
        //6.启动某个程序,并返回代表该程序的对象。
        r.exec("F:\\Minecraft\\Minecraft\\HMCL-3.5.5.exe");
        
        //如果配置了环境变量,那么就可以直接使用
        Process p = r.exec("QQ");
        Thread.sleep(5000); //让程序在这里暂停5s后再继续
        p.destroy(); //销毁,关闭程序
    }
}

END



目录
相关文章
|
14天前
|
Java API
JavaSE——常用API进阶二(6/8)-ZoneId、ZoneDateTime、Instant(常见方法、用法示例)
JavaSE——常用API进阶二(6/8)-ZoneId、ZoneDateTime、Instant(常见方法、用法示例)
14 1
|
8天前
|
Java API
API:object当中的各种方法刨析(今日份:equals toString)
API:object当中的各种方法刨析(今日份:equals toString)
|
14天前
|
存储 Java API
JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)
JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)
16 2
|
14天前
|
安全 Java API
JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)
JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)
26 2
|
14天前
|
安全 Java API
JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime
JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime
15 2
|
14天前
|
存储 Java API
JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)
JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)
13 1
|
7天前
|
安全 数据挖掘 API
【实时数据】商品详情API接口系列开发
商品详情API接口系列对于电商平台至关重要,它们为开发者提供了实时、准确的商品信息,使得在线销售和展示商品变得更加高效和精准。以下是几个主要的电商平台及其商品详情API接口的介绍:
|
15天前
|
监控 供应链 搜索推荐
数据驱动电商:深度利用淘宝API接口掌握商品详情
本文探讨了如何利用淘宝API接口获取商品详情数据以助力电商决策。通过API,商家能获取商品标题、价格、库存等信息,从而进行市场分析、库存优化、定价策略制定及个性化推荐。步骤包括注册获取API权限、理解文档、构建数据收集流程、处理分析数据以及应用结果。示例代码展示了如何用Python调用API获取商品详情。善用API和数据驱动策略可在电商市场中取得优势。请注意遵循淘宝的API使用规范。
|
1天前
|
存储 前端开发 安全
Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口
这篇文章介绍了如何使用Supabase实现RESTful风格的API接口,用于网站分类和子站点的增删改查(CURD)功能。文章首先阐述了表设计,包括ds_categorys和ds_websites两张表的列名、类型和用途,并提到了为每张表添加的user_id和email字段以支持用户身份识别。接着,文章描述了接口设计,以ds_websites表为例,说明了如何通过RESTful API实现CURD功能,并给出了使用SupabaseClient实现插入数据的相关代码。文章最后提供了项目效果预览和总结,指出学习了Nuxt3创建接口及调用Supabase数据库操作。
Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口
|
1天前
|
XML 安全 API
API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测
API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测