张小飞的Java之路——第三十九章——常用类

文章讲述了Java中的System类,包括out、in、currentTimeMillis、exit和getProperty等方法的用途。还介绍了Runtime类的功能,如内存管理及exec方法用于执行系统命令。同时讨论了Math类的数学运算方法和Random类生成随机数的应用。
摘要由CSDN通过智能技术生成

写在前面:

视频是什么东西,有看文档精彩吗?

视频是什么东西,有看文档速度快吗?

视频是什么东西,有看文档效率高吗?


张小飞:今天学习什么?

诸小亮:今天我们学习 JDK 中一些常见的类,比如:System

张小飞:System?很熟悉啊,它是做什么的?

诸小亮:看看你,这么快就忘了,经常用的——System.out.println(“hello world”);

张小飞:噢噢,想起来了,一直这样用,还真是没有很注意

System

诸小亮:首先看 System ——类中全是静态属性和静态方法

张小飞:其中 out 就是一个静态属性吧

诸小亮:是的,当然还有其他的,我们一个个介绍

out

out :静态属性,标准输出流,对应显示器

image.png

image.png

in

诸小亮:跟 out 对应的 还有一个 in

张小飞:让我猜猜,它也是静态属性,标准输入流,对应键盘,对吗?

诸小亮:是的,这个怎么记得这么清楚?

张小飞:原来用过嘛,接受用户的输入

image.png

诸小亮:嗯嗯,记得就好,之后我们还会用的

currentTimeMillis

诸小亮:currentTimeMillis——获取当前时间的毫秒数

image.png

结果:image.png

张小飞:这一串数字是???

诸小亮:这是当前时间的毫秒值

张小飞:额。。。,不是很懂

诸小亮:来访问这个网站——https://www.beijing-time.org/shijianchuo/

image.png

张小飞:原来如此,明白了

exit

exit:退出java虚拟机,注意,执行后,finally中的代码不再执行

image.png

结果:image.png

其中参数status的值为0代表正常退出,非零代表非正常退出

getProperty

getProperty(key):获取系统属性,比如:

image.png

结果:image.png

获取系统文件分隔符(Windows是:\,Linux是:/)

image.png

结果:image.png

其他属性:
java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是"/“)
path.separator 路径分隔符(在 UNIX 系统中是”:“)
line.separator 行分隔符(在 UNIX 系统中是”/n")
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录

Runtime(了解)

诸小亮:第二个类——Runtime

张小飞:这是—运行时间?

诸小亮:。。。。,当然不是了,Runtime——表示虚拟机运行时的状态

张小飞:什么意思?

诸小亮:我们每个 java 程序运行时,虚拟机都对应一个 Runtime 实例对象,并且只有一个

张小飞:噢噢,然后呢?

诸小亮:通过 getRuntime 这个静态方法,可以获取 Runtime 实例对象

image.png
张小飞:那么,为什么要获取这个对象呢?

诸小亮:可以查看我们当前程序占用的内存大小,比如:

public static void main(String[] args) {
    Runtime runtime = Runtime.getRuntime();

    System.out.println("系统处理器个数:" + runtime.availableProcessors());
    System.out.println("JVM最大可用内存:" + runtime.maxMemory());
    System.out.println("JVM当前占用内存:" + runtime.totalMemory());
    System.out.println("JVM空闲内存:" + runtime.freeMemory());
}

张小飞:就这样?感觉没什么用啊

诸小亮尴尬的笑了笑:呵呵,确实没什么用,所以才说了解嘛,不过下面这个就有用了

exec

诸小亮:我们看这个 exec 方法

张小飞:这个方法有啥用?

诸小亮:exec——可以执行本地系统命令,比如:dir 、cd、mkdir等

张小飞:这个倒是有点儿意思,怎么用呢?

诸小亮:不要急,我们先在在命令行,打开记事本

image.png

结果:

11.gif

张小飞:原来这样也能打开程序

诸小亮:使用 Runtime 对象的 exec 方法,也可以打开,比如:

Runtime runtime = Runtime.getRuntime();

//cmd和/C都是固定写法
String [] cmd={"cmd","/C","notepad"};
runtime.exec(cmd);

张小飞:这样就行了?

诸小亮:是的,你可以试试

诸小亮:另外,也可以用它创建文件夹,比如:

Runtime runtime = Runtime.getRuntime();
String [] cmd={"cmd","/C","mkdir test"};
//在 D 盘下,执行命令
runtime.exec(cmd, null, new File("D:"));

结果:D盘下就有一个 test 文件夹——image.png

Math

诸小亮:下面这个是 Math 类

张小飞:不用说,肯定是跟数学有关系吧

诸小亮:是的,Math 类包含了一些基本数学运算的方法,比如:对数、平方根、四舍五入、绝对值等

public static void main(String[] args) throws IOException {
    System.out.println("-2的绝对值是:" + Math.abs(-2));
    System.out.println("3.4四舍五入是:" + Math.round(3.4));
    System.out.println("3.5四舍五入是:" + Math.round(3.5));
    System.out.println("0-1的随机数:" + Math.random());
    System.out.println("-2的4次方:" + Math.pow(-2, 4));
    System.out.println("3.14向上取整:" + Math.ceil(3.14));
    System.out.println("3.14向下取整:" + Math.floor(3.14));
    System.out.println("9的平方根:" + Math.sqrt(9));
}

结果:
image.png

Random

诸小亮:工作中也会有需要获取随机数的场景

张小飞:是啊,一直想问你这个问题呢

诸小亮:这就给你说说——Random对象

public static void main(String[] args) throws IOException {
    Random random = new Random();
    
    //1. 获取从 int 的取值范围中获取一个随机数
    System.out.println(random.nextInt());
    
    //2. 从指定范围内获取随机数
    System.out.println(random.nextInt(10));// 获取的值范围:[0,10)
}

结果:image.png

张小飞:有个问题

诸小亮:嗯?哪里有问题?

张小飞:代码没问题,我是想问,用这个可以买彩票吗?

诸小亮:。。。。。。,理论上是可以的,但是不要妄想了,踏踏实实干活儿才是正道

张小飞:你,不会是买过吧

诸小亮:唉,别说了,都是泪啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值