java37scanner,数组赋值,当前毫秒,system类,垃圾自动回收机制,Math类

1.键盘录入格式:
Scanner sc = new Scanner(System.in);
录入整数
int i = sc.nextInt();
字符:
String r = nextLine ();
完整代码:

import java.util.Scanner;
public class 键盘录入 {
public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int i = sc.nextInt();
	Double d = sc.nextDouble();
//录入字符串
	String str = sc.nextLine();
	System.out.println("***");
	System.out.println(i);
	System.out.println(d);
	System.out.println(str);
}
}
【10 0.2 哈哈
***
10
0.2
 哈哈】

2.数组复制(导包)
arraycopy是属于System类中的
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目的地数据中的起始位置。
length - 要复制的数组元素的数量。
System.arraycopy(src, srcPos, dest, destPos, length);

import java.util.Arrays;
public class 数组拷贝 {
public static void main(String[] args) {
	int[] a = {1,2,3,4,5,6};
	int[] b = new int[10];
	System.arraycopy(a, 1, b, 3, 3);
	System.out.println(Arrays.toString(b));
	
}
}

要清楚什么类中有什么方法
3.获取当前的毫秒值(1970年起)
用来测试一段代码的运行时长

4.终止当前运行的jvm虚拟机(图形化界面中会用到,相当于关闭eclipse程序)
正常退出
System.exit(0);
异常退出
System.exit(-1);

public class gc方法 {
public static void main(String[] args) {
	System.out.println("hello");
	System.exit(0);
	System.out.println("girl");
}
}
【hello】

java是自动回收垃圾机制,但对象不是立马被回收
若调用System.gc();则立即运行垃圾回收器回收对象。

gc();属于system类,在此类中显示为

runtime中又有



所以runtime类属于单例设计模式
注意:
看到类名.get().();形式时,要联想到很可能是单例设计模式
finalize:系统调用gc()时,自动调用的一个方法
应该写在创建的构造器的类中

class A{
//当一个对象被回收时,自动调用的方法
	@Override
	protected void finalize() throws Throwable {
		// TODO Auto-generated method stub
		super.finalize();
		System.out.println("被回收了");
	}
}
public class gc方法 {
public static void main(String[] args) {
	System.out.println("hello");
	System.gc();
	System.out.println("girl");
	new A();//创建了匿名对象,但不是立马被回收
	System.gc();//调用此方法,立马将对象A()回收
}
}

5.Math类
输出最大值,最小值,一个随机数(范围为【0,1)),开根号(double类型)
6.大精度,大整数(记得导包)

import java.math.BigDecimal;
import java.math.BigInteger;

public class 大精度小数 {
public static void main(String[] args) {
//字符串输出数字会是精确的
	BigDecimal num1 = new BigDecimal("0.09");
	BigDecimal num2 = new BigDecimal("0.01");
	System.err.println(num1.add(num2));
	//当使用比long还要大的数时使用大整数
	BigInteger b1 = new BigInteger("100000000000000000");
}
}
posted @ 2019-03-07 23:16  不断寻找  阅读(203)  评论(0编辑  收藏  举报