4.30System类,Arrays类,Math类,Random类

System类

/**
 * System类博客练习
 * System 类包含一些有用的类字段和方法。它不能被实例化
 * 常用方法:
 * public static void gc()运行垃圾回收器。 
 * public static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码,若要终止虚拟机一般为0
 * public static long currentTimeMillis()返回以毫秒为单位的当前时间,可以在代码的开头和结尾各调用该方法来测试代码的速度
 * public static void arraycopy(Object src,int srcPos, Object dest,int destPos, int length)
 *	从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
 * */
public class Text1 {
	public static void main(String[] args) {
		long start = System.currentTimeMillis();
		Student s = new Student("张三",11);
		Student s1 = new Student("李四",11);
		System.out.println(s);
		System.out.println(s1);
		s = null;//将s不再指向堆内存
		s1 = null;//垃圾回收期回收的是堆内存中的成员变量
		long end = System.currentTimeMillis();
		System.out.println(end-start+"毫秒");//输出start与end之间运行了多少毫秒
		System.gc();//运行垃圾回收器的实质是执行finalize方法
		System.out.println("-----------------------");
		System.out.println(s);
		System.out.println(s1);
		System.exit(0);//这里终止了运行JVM,将不会执行后面的代码,注释掉这条语句之后就可以在控制台打印出  看不到我
		System.out.println("看不到我");
	}
}

Arrays类

import java.util.Arrays;

/**
 * Arrays类
 * 常用方法:
 * 		public static String toString(int[] a)		将int类型的数组转换为字符串
 * 		public static void sort(int[] a)			将int类型的数组按数字升序进行排列
 * 		public static int binarySearch(int[] a,int key)	利用二分法在数组a中查找key的索引
 * */
public class Text1 {
	public static void main(String[] args) {
		int[] array = {1,23,43,34,54,2,56};
		System.out.println(Arrays.toString(array));//[1, 23, 43, 34, 54, 2, 56]
		Arrays.sort(array);
		System.out.println(Arrays.toString(array));//[1, 2, 23, 34, 43, 54, 56]
		int i = Arrays.binarySearch(array, 43);
		System.out.println("43在array数组中的索引是:"+i);//43在array数组中的索引是:4(这里索引为4使用为在这之前对数组进行了排序)
	}
}

Math类

/**
 * Math类:包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
 * 常用方法:(静态方法直接通过类名+方法名调用)
 *		public static int abs(int a):绝对值
 *		public static double ceil(double a):向上取整
 *		public static double floor(double a):向下取整
 *		public static int max(int a,int b):求最大值
 *		public static int min(int a,int b):求最小值
 *		public static double pow(double a,double b):a的b次幂
 *		public static double random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
 *		public static int round(float a):四射五入
 *		public static double sqrt(double a):一个数的正平方根
 * */
public class Text1 {
	public static void main(String[] args) {
		//不采用中间变量交换ab值
		int a = 1;
		int b = 100;
		System.out.println(a+"----"+b);
		//^运算符:二进制按位异或,相同为0相异为1;
		//一个数连续异或另一个数两次等于它本身.即 a=a^b^b		(b^b的值是0)
		a=a^b;//将它看做是一个桥梁
		b=a^b;//b = a^b^b,此时b等于a
		a=a^b;//a = a^b^b,前一个b任然是b本来的值,后一个b的值是上一步的值a,所以这里的实质是a = a^b^a
		System.out.println(a+"----"+b);
	}
}

Random类

import java.util.Random;

/**
 * Random类:是一个可以获取随机数的类
 * 构造方法:
 * public Random():无参构造方法
 * public Random(long seed) :指定long类型的数据进行构造随机数类对象 
 * 常用方法:
 * public int nextInt():获取随机数,它的范围是在int类型范围之内
 * public int nextInt(int n):获取随机数,它的范围是在[0,n)之间
 * */
public class Text1 {
	public static void main(String[] args) {
		Random r = new Random();
		//产生一个int范围内的随机数
		int num = r.nextInt();
		//产生一个[0,3)范围内的随机数
		int num2 = r.nextInt(3);
		System.out.println(num+"----"+num2);
	}
}

猜你喜欢

转载自blog.csdn.net/ws1995_java/article/details/80199227