Java基础---常用类之Math类 and Syetem类

常用类—Math类

Math类:关于数学的类 这个类中封装了一些关于数学的方法 可以完成一些常用的数学操作
特点:
 1.final修饰的类 所以Math类没有子类的 不可以继承
 2.Math类中的构造方法被 private 修饰 ,所以不能通过new 创建对象,类中所有的方法都是静态的

常量

E: 自然对数的底数,2.718281828459045
PI:圆周率3.141592653589793

常用的方法

abs(数字类型)返回一个数据的绝对值
cbrt方法(double d)返回的是d的开立方根
sqrt(double d)返回的是d的开平方根
ceil(double d)返回d的向上取整
floor(double d) 返回的是d的向下取整
pow(int a,int b)返回a的b次幂
random(); 生成0.0-1.0不包括1.0的一个伪随机数
round(double d)返回的是d四舍五入的结果
package com.DaYu;

public class Demo02 {
	public static void main(String[] args) {
//		round(double d),返回d四舍五入的结果 底层实现 在原来的数的基础上 + 0.5  再向下取整 (就是数轴上向左)
//		---- 面试重点!!!!!!!
		 //正数
		 double d1 = 12.49;// + 0.5  12.99 --->向下取整 (向左) 12 
		 System.out.println(Math.round(d1));
		 double d2 = 12.5;//+ 0.5 13--->向下取整 (向左) 13
		 System.out.println(Math.round(d2));
		 
		 //负数
		
		 double d3 = -12.4;// + 0.5 -11.9 --->向下取整 向左 -12
		 System.out.println(Math.round(d3));
		 double d4 = -12.5;// +0.5 -12 ---->向左 -12
		 System.out.println(Math.round(d4));
		 double d5 = -12.6; // +0.5 -12.1 ---->向下取整 向左 -13
		 System.out.println(Math.round(d5));
	}
}

常用类—System类

System类:用于描述系统的资源类型的类
特点:
 1.被final修饰 不能被继承
 2.构造方法被private修饰 所以不能创建对象
 3.类中的方法和属性都是静态的 可以通过 类名.去调用

常用的属性(字段)

System.in:标准的输入流,默认关联到键盘上的
System.out: 标准的输出流,默认是关联到控制台上的
System.err:标准的错误输出流,默认是关联到控制台上的,用于打印错误的信息,打印出来的内容是红色的。

常用的方法

gc(): 强制垃圾回收器回收内存中的垃圾,只是通知垃圾回收器进行回收,但是可能垃圾回收器不会立即执行 
currentTimeMillis():返回当前时间的毫秒值,表示的是从1970年1月1日0时0分0秒开始到现在经历的毫秒值
 	应用:
	  1、可以通过某些手段,将数字转换成时间对象、指定格式的字符串;
 	  2、可以通过计算两次的差值,来获取某段代码运行的时间
nanoTime():可以获取纳秒
exit(0)立即退出系统

拓展:
Object: finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。当这个方法执行了,就表明垃圾回收了。
package com.DaYu;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo03 {
	public static void main(String[] args) {
//		currentTimeMillis();
		System.out.println(System.currentTimeMillis());
//		将从1970年一月一日0时0分0秒到现在的毫秒值,转成系统的时间
		long currentTimeMillis = System.currentTimeMillis();
		Date d = new Date(currentTimeMillis);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
		String str = sdf.format(d);
		System.out.println(str);
	}
}

垃圾回收

package com.DaYu;

public class Demo04 {
	public static void main(String[] args) {
		//通过for循环 创建一堆垃圾(没有引用指向的 对象 )
		for (int i = 0; i < 1000000; i++) {
			new Student();
		}
		
		//对象有引用的
		Student student = new Student();
		//引用指向null 上边创建的对象就成为垃圾了
		student = null;
		System.gc();
		
	}
}

class Student extends Object {

	@Override
	protected void finalize() throws Throwable {
		System.out.println("垃圾回收了");
		super.finalize();
	}
	
}

猜你喜欢

转载自blog.csdn.net/qq_41401295/article/details/106519693