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);
}
}