常用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);

完结🌹 🌹 🌹

相关文章
|
7月前
|
Java API 开发工具
Java之API详解之Object类的详细解析(下)
Java之API详解之Object类的详细解析(下)
38 0
|
7月前
|
Java API
Java之API详解之Runtime的详细解析
Java之API详解之Runtime的详细解析
95 0
Java之API详解之Runtime的详细解析
|
7月前
|
算法 Java API
Java之ApI之Math类详解
Java之ApI之Math类详解
55 0
|
7月前
|
Java API
Java常用API(二)Random,System与Math
Java常用API(二)Random,System与Math
41 0
|
7月前
|
存储 NoSQL Java
Java常用API(一)Object与Objects
Java常用API(一)Object与Objects
34 0
|
7月前
|
Java API 开发工具
Java之API详解之Object类的详细解析(上)
Java之API详解之Object类的详细解析
66 0
|
7月前
|
Java API
Java之API详解之System类的详解
Java之API详解之System类的详解
43 0
|
8月前
|
XML TensorFlow API
TensorFlow Object Detection API 超详细教程和踩坑过程
TensorFlow Object Detection API 超详细教程和踩坑过程
131 1
|
JavaScript 前端开发 Java
都2022年了你不会还没搞懂JS Object API吧
JS Object在我们平时的工作中用得并不多,但是也是我们前端必须掌握的一个知识点。今天请跟随笔者的步伐再来温习一遍。
57 0
|
Java API
Java中常用API总结(5)—— Object类中的深克隆和浅克隆
不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来;基本数据类型拷贝过来的是具体的数据,引用数据类型拷贝过来的是地址值。在Object类中默认的克隆方式就是浅克隆
170 0
Java中常用API总结(5)—— Object类中的深克隆和浅克隆