常用API——Math,System,Object,Runtime

简介: 常用API——Math,System,Object,Runtime

🔥Object、System是重点

一、Math

介绍:在Java中,Math类是一个包含数学函数和常数的工具类,提供了许多静态方法

作用:可以进行数学运算,如三角函数、指数函数、对数函数、取整函数等

// 演示几个

System.out.println(Math.sqrt(9));//开平方根、负数会返回NAN,0会返回0
System.out.println(Math.abs(-1));//求绝对值
System.out.println(Math.round(2.5));//四舍五入
System.out.println(Math.PI);    //3.141592653589793

二、System

介绍:System类是一个包含一些有用的类字段和方法的工具类

作用:提供了许多与系统操作相关的方法

//演示,其中arraycopy这个方法重要,要掌握

System.exit(0);//退出虚拟机
System.out.println(System.currentTimeMillis());//1970 1 1至今的时间,单位毫秒

arraycopy数组拷贝

  1. //拷基本数据类型,两边要保持一致
  2. //拷引用数据类型,子类->子类 ,子类->父类。
  3. //把arr1考到arr2里面,arr1从0开始,arr2从1开始,拷贝3个
//拷贝数组
int arr1[] = {1,2,3,4};
int arr2[] = new int[5];
System.arraycopy(arr1, 0, arr2,1, 3);

三、object

介绍:所有类的父类,java中所有的子类都直接或间接继承该类

作用:提供了许多重要的方法tostring、equal、clone等这些方法很重要,一 一介绍

1. tostring方法

一般重写,打印对象时打印属性

Object中的tostring打印包名+类名+地址值

//object中tostring方法
int arr[] = new int[2];
System.out.println(arr.toString());//[I@4eec7777
//重写的方法
Student s1 = new Student();
System.out.println(s1.toString());//Student{name='null', id='null'}
2. equals方法

比较对象的属性值时会重写

object类默认比较地址值

//原码 比较的是地址值
public boolean equals(Object obj) {
    return (this == obj);
}

   student没有重写该方法

Student s1 = new Student();
Student s2 = new Student();
System.out.println(s1.equals(s2));//false 继承Object方法

   string重写了该方法

比较规则 :

先看两者类型,有一个不为string类就返回false

类型相同,比较内容

String s3 = "abc";
String s4 = "abc";
System.out.println(s3.equals(s4));//true

3.练习

//字符串和stringBuilder的相互比较
String s3 = "abc";
StringBuilder sb = new StringBuilder();
sb.append("abc");
System.out.println(s3.equals(sb));//false
System.out.println(sb.equals(s3));//false
3. clone()方法

默认浅克隆

浅克隆:(不管是地址值还是普通值,都直接拷贝,一个改变都改变)

//浅克隆
int[] arr1 = {1,2,3,4,5};
User u3 = new User(arr1, "xiaoshou");
User u4 = (User) u3.clone();
u3.arr[0] = 100;
System.out.println(u3);//arr=[100, 2, 3, 4, 5], name='xiaoshou'
System.out.println(u4);//arr=[100, 2, 3, 4, 5], name='xiaoshou'

如果需要深克隆,需要重写方法或者使用第三方工具

深克隆:(基本数据类型拷贝,字符串复用,引用数据类型new一个新的)

//深克隆
int[] arr = {1,2,3,4,5};
User u1 = new User(arr, "pangdun");
User u2 = (User) u1.clone();
u1.arr[0] = 100;
System.out.println(u1);//arr=[100, 2, 3, 4, 5], name='pangdun'
System.out.println(u2);//arr=[1, 2, 3, 4, 5], name='pangdun'

四、Runtime

介绍:Runtime类表示当前Java应用程序的运行时环境

作用:用于管理和控制Java虚拟机和操作系统的运行时环境

例如:

//停止虚拟机
Runtime.getRuntime().exit(0);
//获取CPU线程数
System.out.println(Runtime.getRuntime().availableProcessors());
//获取虚拟机总内存
System.out.println(Runtime.getRuntime().maxMemory()/1024/1024);
//已使获取的总内存
System.out.println(Runtime.getRuntime().totalMemory()/1024/1024);
//未使用内存
System.out.println(Runtime.getRuntime().freeMemory()/1024/1024);

完结🌹 🌹 🌹

相关文章
|
编解码 人工智能 缓存
自学记录鸿蒙API 13:实现多目标识别Object Detection
多目标识别技术广泛应用于动物识别、智能相册分类和工业检测等领域。本文通过学习HarmonyOS的Object Detection API(API 13),详细介绍了如何实现一个多目标识别应用,涵盖从项目初始化、核心功能实现到用户界面设计的全过程。重点探讨了目标类别识别、边界框生成、高精度置信度等关键功能,并分享了性能优化与功能扩展的经验。最后,作者总结了学习心得,并展望了未来结合语音助手等创新应用的可能性。如果你对多目标识别感兴趣,不妨从基础功能开始,逐步实现自己的创意。
419 60
|
UED 开发工具 iOS开发
Uno Platform大揭秘:如何在你的跨平台应用中,巧妙融入第三方库与服务,一键解锁无限可能,让应用功能飙升,用户体验爆棚!
【8月更文挑战第31天】Uno Platform 让开发者能用同一代码库打造 Windows、iOS、Android、macOS 甚至 Web 的多彩应用。本文介绍如何在 Uno Platform 中集成第三方库和服务,如 Mapbox 或 Google Maps 的 .NET SDK,以增强应用功能并提升用户体验。通过 NuGet 安装所需库,并在 XAML 页面中添加相应控件,即可实现地图等功能。尽管 Uno 平台减少了平台差异,但仍需关注版本兼容性和性能问题,确保应用在多平台上表现一致。掌握正确方法,让跨平台应用更出色。
313 0
API:object当中的各种方法刨析(今日份:equals toString)
API:object当中的各种方法刨析(今日份:equals toString)
|
XML 缓存 API
【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
211 0
|
Java Unix 程序员
JavaSE——常用API进阶二(1/8)-Math、System、Runtime(它们提供的常见方法以及具体使用)
JavaSE——常用API进阶二(1/8)-Math、System、Runtime(它们提供的常见方法以及具体使用)
145 1
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
1154 0
|
Java API
JavaSE——常用API进阶一(1/3)-Object类(Object类的作用、Object类的常见方法-toString方法、equal方法、clone方法)
JavaSE——常用API进阶一(1/3)-Object类(Object类的作用、Object类的常见方法-toString方法、equal方法、clone方法)
172 0
|
5月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
5月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
6月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。