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

news/2025/2/10 23:19:39/

目录

Math

Math类提供的常见方法

具体用法

System

System类提供的常见方法

具体用法

Runtime

Runtime类提供的常见方法

具体用法


Math

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

Math类提供的常见方法

方法名说明
public static int abs(int a)获取参数绝对值
public static double ceil(double a)向上取整
public static double floor(double a)向下取整
public static int round(float a)四舍五入
public static int max(int a,int b)获取两个int值中的较大值
public static double pow(double a,double b)返回a的b次幂的值
public static double random()返回值为double的随机值,范围[0.0,1.0)

具体用法

1.取绝对值

public class Test {public static void main(String[] args) {System.out.println(Math.abs(-12));  //12System.out.println(Math.abs(123));  //123System.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.0System.out.println(Math.ceil(4.0));  //4.0//向下取整System.out.println(Math.floor(4.99999));  //4.0System.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));  //3System.out.println(Math.round(3.50001));  //4}
}

4.取较大值&取较小值

public class Test {public static void main(String[] args) {System.out.println(Math.max(10, 20));  //20System.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.0System.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类提供的常见方法

方法名说明
public staticRuntime getRuntime()返回与当前Java应用程序关联的运行时对象
publicvoid exit(int status)终止当前运行的虚拟机
public int availableProcessors()返回Java虚拟机可用的处理器数。
public long totalMemory()返回Java虚拟机中的内存总量
public long freeMemory()返回ava虚拟机中的可用内存
public Process exec(String command)启动某个程序,并返回代表该程序的对象

具体用法

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


学习自:黑马程序员——JavaSE课程


http://www.ppmy.cn/news/1412774.html

相关文章

本地项目提交 Github

工具 GitIdeaGithub 账号 步骤 使用注册好的 Github 账号&#xff0c;登陆 Github&#xff1b; 创建 Repositories (存储库)&#xff0c;注意填写图上的红框标注&#xff1b; 创建完成之后&#xff0c;找到存储库的 ssh 地址或 https 地址&#xff0c;这取决于你自己的配置…

CSS-语法、选择器

&#x1f4da;详见 W3scholl&#xff0c;本篇只做快速思维索引。 概述 CSS 是一种描述 HTML 文档样式的语言。 有三种插入样式表的方法&#xff1a; 外部 CSS内部 CSS行内 CSS &#x1f4c5; 外部 CSS 外部样式表存储在.css文件中。HTML 页面必须在 head 部分的<link&g…

不到6毛钱的I2C总线实时时钟日历芯片LK8563

前言 8563实时时钟芯片&#xff0c;国内外均有多家生产&#xff0c;今推荐一个性价比极高的RTC芯片&#xff0c;LK8563&#xff0c;一片不到6毛钱. 特点 基于32.768kHz晶体的秒&#xff0c;分&#xff0c;小时&#xff0c;星期&#xff0c;天&#xff0c;月和年的计时 带有世…

Linux命令-dpkg-reconfigure命令(Debian Linux中重新配制一个已经安装的软件包)

说明 dpkg-reconfigure命令 是Debian Linux中重新配置已经安装过的软件包&#xff0c;可以将一个或者多个已 安装的软件包传递给此指令&#xff0c;它将询问软件初次安装后的配置问题。 当用户需要再次对软件包配置的时候&#xff0c;可以使用dpkg-reconfigure命令来对指定的软…

DDoS攻击包含哪些层面?如何防护?

DDoS攻击&#xff08;分布式拒绝服务攻击&#xff09;是一种通过向目标服务器发送大量流量或请求&#xff0c;以使其无法正常工作的网络攻击手段。DDoS攻击涉及多个层面&#xff0c;在实施攻击时对网络基础架构、网络协议、应用层等进行攻击。下面将详细介绍DDoS攻击的层面。 1…

16. TypeScript 中的类型工具

TypeScript 中的类型工具时&#xff0c;我们通常指的是 TypeScript 提供的一系列类型操作符和工具类型&#xff0c;用于进行类型转换、组合和推断等操作。下面我们来介绍一些常用的 TypeScript 类型工具&#xff0c;并附带详细的代码注释说明。 1. Partial<T> Partial&…

Vue项目自动注入less、sass、scss、stylus全局变量

一、Vue2项目 // vue.config.js const path require(path) module.exports {css: {loaderOptions: {// 给 sass-loader 传递选项sass: {// / 是 src/ 的别名// 所以这里假设有 src/assets/style/var.sass 这个文件// 注意&#xff1a;在 sass-loader v8 中&#xff0c;这个选…

基于ubuntu22.04系统安装nvidia A100驱动与NVLink启用

1、官方仓库 针对驱动包下载认准nvidia官网 dpkg -i nvidia-driver-local-repo-ubuntu2204-550.54.15_1.0-1_amd64.deb apt update apt search nvidia-driver-5502、安装 根据步骤1apt search nvidia-driver-550查出版本&#xff1a;此驱动包封在nvidia-driver-local-repo-ub…