进阶JAVA篇- Math 类和 System 类和 Runtime 类的常用API(三)

news2025/2/27 8:12:08

目录

API      

        1.0 Math 类的说明

        1.1 Math 类中的 abs() 方法

        1.2 Math 类中的 ceil () 方法

        1.3 Math 类中的 floor () 方法

        1.4 Math 类中的 round () 方法

        1.5 Math 类中的 max() 和 min() 方法

        1.6 Math 类中的 pow(double a , double b) 方法

        1.7 Math 类中的 random() 方法

        2.0 System 类的说明

        2.1 System 类中的 exit() 方法

        2.2 System 类中的 currentTimeMillis() 方法

        3.0 Runtime 类的说明

        3.1 Runtime 类中的 getRuntime() 方法

        3.2 Runtime 类中的 exit() 方法

        3.3 Runtime 类中的 availableProcessors() 方法

        3.4 Runtime 类中的 totalMemory() 方法

        3.5 Runtime 类中的 freeMemory() 方法

        3.6 Runtime 类中的 exec(String command) 方法


API      

        1.0 Math 类的说明

         代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法,属于类方法,直接用类名去调用方法。

        1.1 Math 类中的 abs() 方法

        获取传入的数据的绝对值,传入的数据类型可以是 int ,double ,long,float 类型。

代码如下:

public class MathMethod {
    public static void main(String[] args) {
        int a = Math.abs(-12);
        double b = Math.abs(-12.32);
        long c = Math.abs(-123333);
        float d = Math.abs(-12.4f);

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}

运行结果如下:

         1.2 Math 类中的 ceil () 方法

        向上取整,返回的是浮点型。

代码如下:

public class MathMethod {
    public static void main(String[] args) {

        //向上取整
        double a = Math.ceil(2.0000001);
        System.out.println(a);

    }

运行结果如下:

         1.3 Math 类中的 floor () 方法

        向下取整,返回的是浮点数类型。

代码如下:

public class MathMethod {
    public static void main(String[] args) {

        //向下取整
        double a = Math.floor(2.9999);
        System.out.println(a);
    }

运行结果如下:

        1.4 Math 类中的 round () 方法

        四舍五入,传进去的是浮点型,返回出来的是整型或者长整型。

代码如下:

public class MathMethod {
    public static void main(String[] args) {
        //四舍五入
        int a = Math.round(1.455f);
        long b = Math.round(1.5000);

        System.out.println(a);
        System.out.println(b);
    }

运行结果如下:

        1.5 Math 类中的 max()min() 方法

        比较两个数的大小,max() 方法返回大的值,min() 方法返回小的值。

代码如下:

public class MathMethod {
    public static void main(String[] args) {
        double a = 1.2;
        double b = 1.3;
        int c = 1;
        long d = 12222;

        System.out.println(Math.max(a,b));
        System.out.println(Math.max(a,c));
        System.out.println(Math.max(c,d));

        System.out.println(Math.min(a,d));
        System.out.println(Math.min(a,c));
        System.out.println(Math.min(a,d));

    }

运行结果如下:

        1.6 Math 类中的 pow(double a , double b) 方法

        返回a的b次幂的浮点类型的值。

代码如下:

public class MathMethod {
    public static void main(String[] args) {

        int a = 2;
        int b = 3;
        double c = Math.pow(a,b);//输入整型,会在方法内部转化成浮点型的
        System.out.println(c);

    }

运行结果如下:

        1.7 Math 类中的 random() 方法

        随机返回 double 类型的数值,范围为 [0,1)

代码如下:

public class MathMethod {
    public static void main(String[] args) {

        double a = Math.random();
        System.out.println(a);

    }

运行结果如下:

        2.0 System 类的说明

        System 代表程序所在的系统,也是一个工具类,提供了一些静态方法,直接用类名去调用方法。

        2.1 System 类中的 exit() 方法

        终止运行当前的java虚拟机。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {
        System.exit(0);
        System.out.println("运行这行代码");
    }
}

运行结果:

        2.2 System 类中的 currentTimeMillis() 方法

        返回当前系统的时间毫秒值形式,用 long 类型来接收。时间毫秒值是指从某个特定的起始时间点(通常是1970年1月1日00:00:00 UTC)到当前时间的总毫秒数。它用于表示时间的精确度,比如在计算机编程中常用于记录和比较时间。时间毫秒值可以用于计算时间间隔、时间戳转换以及其他与时间相关的操作。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {

        long a = System.currentTimeMillis();
        System.out.println(a);

        for (int i = 0; i < 100000; i++) {
            System.out.println(1);
        }
        long b = System.currentTimeMillis();

        System.out.println("该程序运行了 " + (b-a)/1000.0 + "s");
    }

运行结果为:

        3.0 Runtime 类的说明

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

分析 Runtime 类:

        

public class Runtime {
    private static Runtime currentRuntime = new Runtime();
    //先是在类中创建一个Runtime的对象,被静态变量引用且这个变量是不可以通过类名在类外访问的
    //因为这个变量被private修饰,只能在类中获取
    //所以这个变量只有一个,被称为单例类


    public static Runtime getRuntime() {
        return currentRuntime;
    }
    //在类外通过调用这个静态方法,返回该类的对象

    private Runtime() {}
    //构造方法被private修饰了,只能在类中使用,在类外是不能创建对象了。

}

        3.1 Runtime 类中的 getRuntime() 方法

        获取 Runtime 类的对象。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {

        Runtime runtime = Runtime.getRuntime();
        System.out.println(runtime);
    }

运行结果:

        3.2 Runtime 类中的 exit() 方法

        终止当前运行的虚拟机。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        runtime.exit(0);
        System.out.println("执行当前代码");
    }

运行结果:

        3.3 Runtime 类中的 availableProcessors() 方法

        返回 java 虚拟机可用的处理器数。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        int a = runtime.availableProcessors();
        System.out.println(a);
        //我自己这台有12个处理器,所以输出12
    }

运行结果:

        3.4 Runtime 类中的 totalMemory() 方法

        返回java虚拟机中内存总量,返回来的是字节数,用 long 类型来接收。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        long i = runtime.totalMemory();
        System.out.println(i/1024/1024.0+"mb");
    }

运行结果如下:

         3.5 Runtime 类中的 freeMemory() 方法

        返回java虚拟机可用内存,返回来的是字节数,用 long 类型来接收。

代码如下:

public class SystemMethod {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        long i = runtime.totalMemory();
        System.out.println(i/1024/1024.0+"MB");

        long a = runtime.freeMemory();
        System.out.println(a / 1024 / 1024.0 + "MB");

    }

运行结果如下:

        3.6 Runtime 类中的 exec(String command) 方法

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

代码如下:

import java.io.IOException;

public class SystemMethod {
    public static void main(String[] args) throws IOException {
        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec("D:\\WeChat\\WeChat.exe");
    }

        小结:本篇都是比较简单的API,看懂且多用就达到目标了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1087446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例|美创科技守护健康“一盘棋”,医共体整体数据安全建设实践

以医共体之“通”&#xff0c;破解看病之“痛”。在县域组建医疗共同体&#xff0c;逐步实现区域内医疗资源共享&#xff0c;推动形成基层首诊、双向转诊、急慢分治、上下联动的分级诊疗模式&#xff0c;是实现“首诊在基层、大病不出县”&#xff0c;更好地为全县人民群众服务…

生产环境中常用Linux命令

太简单的我就不讲解啦,浪费时间,直接将生产中常用的 文章目录 1.总纲2.整机 top3.CPU vmstat3. 内存 free4. 硬盘: df5. 磁盘IO iostat6. 网络IO ifstat7: 内存过高的情景排查 1.总纲 整机:topcpu:vmstat内存:free硬盘:df磁盘io: iostat网络io:ifstat 2.整机 top 首先们要查…

阿里云服务器10M带宽收费价格表

阿里云服务器10M公网带宽收费价格表&#xff0c;地域不同带宽价格不同&#xff0c;阿里云百科以华东2&#xff08;杭州&#xff09;地域为例&#xff0c;阿里云10M带宽一年85折优惠价格5355元&#xff0c;10M带一个月525元&#xff0c;阿里云百科aliyunbaike.com分享阿里云服务…

第二证券:全涨停,上市以来首次!

10月12日&#xff0c;国内产品商场大面积飘红&#xff0c;其间有色、化工板块上涨明显&#xff0c;碳酸锂期货自本年7月份上市以来初次呈现合约悉数触及涨停&#xff0c;到收盘时&#xff0c;主力合约LC2401上涨10750元/吨&#xff0c;涨幅6.97%&#xff0c;报164950元/吨。 碳…

pytorch学习第三篇:梯度

下面介绍了在pytorch中如何进行梯度运算,并介绍了在运行梯度计算时遇到的问题,通过解决一个个问题,来深入理解梯度计算。 梯度计算 import torch x = torch.rand(3,4,requires_grad=True) b = torch.rand(4,3,requires_grad=True) print(x,b)y = x@bt = y.sum()求导数 t.…

CrossOver2024下载安装详细图文教程

本文将集中为各位小伙伴们介绍一下类虚拟机软件CrossOver Mac是如何进行下载、安装教程。 1、双击下载好的文件&#xff08;若为压缩文件&#xff0c;请先解压&#xff09;&#xff0c;随后弹出“是否要把程序移动到应用程序文件夹中&#xff1f;”&#xff0c;一般我们选择移…

快排超详细,Leetcode排序数组题目带你升华掌握

大家好&#xff0c;这里是Dark FalmeMater。 这篇文章我将超级仔细地讲解快速排序&#xff0c;快排之所以叫快排&#xff0c;到底有多快&#xff0c;为什么这么快&#xff0c;还有快速排序的优化和改进&#xff0c;通过这篇文章你一定会对快排有进一步的掌握。 文章目录 Hoare版…

消息队列缓存,以蓝牙消息服务为例

前言 消息队列缓存&#xff0c;支持阻塞、非阻塞模式&#xff1b;支持协议、非协议模式 可自定义消息结构体数据内容 使用者只需设置一些宏定义、调用相应接口即可 这里我用蓝牙消息服务举例 有纰漏请指出&#xff0c;转载请说明。 学习交流请发邮件 1280253714qq.com 原…

4D视频数据集

RealGraph: A Multiview Dataset for 4D Real-world Context Graph Generation RealGraph是一个全新的4D视频数据集&#xff0c;旨在支持“Context Graph Generation (CGG)”任务。CGG任务的目标是从动态场景的校准多视图视频中恢复出物体的语义信息&#xff0c;包括坐标、轨迹…

Idea报错 java: 程序包org.springframework.boot不存在 解决方法

发现我的是因为更改了maven的主路径和本地仓库路径&#xff0c;但是新建了一个工程后&#xff0c;设置就恢复默认了。需要重新设置正确路径。 应用后会重新下载依赖项 之后虽然还会报错&#xff0c;但是已经不影响项目运行&#xff0c;配置成功

高速数字化仪和AWG在车辆总线(CAN/LIN/PSI5)测试中的应用(一)

引言 模块化仪器比传统仪器的尺寸大大减小&#xff0c;适合安装在电路卡上&#xff0c;同时也可以将多个卡插入具有通用计算机接口、电源和互连的框架中。模块化仪器框架包括使用标准PCIe接口的计算机、PXI测试框架或基于LXI的盒子&#xff0c;工程师通常会使用多个卡并将其配…

基于Docker-compose搭建LNMP

1、配置nginx 创建nginx目录上传所需压缩包将wordress解压到指定路径下 配置Dockerfile文本文件 vim DockerfileFROM centos:7 MAINTAINER this is nginx image <zgc> RUN yum -y install pcre-devel zlib-devel gcc gcc-c make RUN useradd -M -s /sbin/nologin nginx…

【RcoketMQ】RcoketMQ 5.0新特性(二)- Pop消费模式

Pop模式消费和消息粒度负载均衡 在RocketMQ 5.0之前&#xff0c;消费有两种方式可以从Broker获取消息&#xff0c;分别为Pull模式和Push模式。 Pull模式&#xff1a;消费需要不断的从阻塞队列中获取数据&#xff0c;如果没有数据就等待&#xff0c;这个阻塞队列中的数据由消息…

springBoot 自动配置机制

springBoot 自动配置机制 自动配置的tomcat、springmvc等默认包扫描规则自定义扫描路径配置默认值按需加载自动配置总结 自动配置的tomcat、springmvc等 导入场景&#xff0c;容器中就会自动配置好这个场景的核心组件 以前&#xff1a;dispatcherservlet、viewresolver、chara…

MyCat分片规则

MyCat是一个开源的数据库中间件&#xff0c;它可以实现对MySQL数据库进行分片和负载均衡。在分片规则方面&#xff0c;MyCat支持以下几种常见的分片方式&#xff1a; 范围分片 根据指定的字段及其配置的范围与数据节点的对应情况&#xff0c; 来决定该数据属于哪一个分片。 …

LeetCode【438】找到字符串中所有字母异位词

题目&#xff1a; 注意&#xff1a;下面代码勉强通过&#xff0c;每次都对窗口内字符排序。然后比较字符串。 代码&#xff1a; public List<Integer> findAnagrams(String s, String p) {int start 0, end p.length() - 1;List<Integer> result new ArrayL…

Leetcode——统计数组中的元素练习

错误的集合 此题没做出来 class Solution { public:vector<int> findErrorNums(vector<int>& nums) {vector<int> errorNums(2);int n nums.size();sort(nums.begin(), nums.end());// 记录上一个元素int prev 0;for (int i 0; i < n; i) {int cu…

什么是指标体系,怎么搭建一套完整的指标体系?(附PDF素材)

什么是指标体系&#xff0c;怎么搭建一套完整的指标体系&#xff1f;数字化转型过程中&#xff0c;这个问题一直困扰着数据分析师。主要体现在&#xff1a; 各部门根据业务需求&#xff0c;都有一部分量化指标&#xff0c;但不够全面&#xff0c;对企业整体数据分析应用能力提…

4.0 Beta2版本编译RK3588错误问题解决

最近有小伙伴在问4.0 Beta2版本编译RK3588&#xff08;也就是dayu210&#xff09;时&#xff0c;会有各种莫名奇妙的报错 &#xff08;1&#xff09;subsystem name config incorrect in ....... 这个原因是OH代码加入了编译检查&#xff0c;临时措施是把需要编译检查的文件放…

提升自媒体影音创作效率,这 10 款 AI 工具打工人必备!

随着AI工具的不断涌现&#xff0c;自媒体影音创作的效率也得到了提升&#xff0c;本次为大家介绍10款AI影音工具&#xff0c;为你的自媒体创作助力&#xff01; 还是先上一张脑图&#xff1a; 自媒体必备AI工具 1. Runway AI视频编辑工具&#xff0c;支持文字转视频 目前最…