System类:
System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象!
System类中的都是static方法,类名访问即可(JDK中N 这样的类,查API)!
//如果该类不能创建对象,想要调用其中方法,请参考以下方法:
① 看该类中有没有方法返回该类的对象!
② 看看有没有静态修饰(Static),以供类名.方法名()调用!
常用方法:
① currentTimeMillis()获取当前系统时间与1970年01月01日00:00之间的毫秒差值!
② exit(int status)用来结束正在运行的Java程序!参数传入一个数字即可,通常传入0为正常状态,其他数字为异常状态!
③ gc()用来运行JVM中的垃圾回收器,完成内存中垃圾的清除(只需了解)!
④ getProperty(String key)用于获取指定键(字符串名称)中所记录的系统属性信息!
arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置
代码示例:
int[] src={1,2,3,4,5}; int[] dest={6,7,8,9,10}; //定义以上两个数组! System.arraycopy(src,0,dest,0,3); //类名.方法名()调用arraycopy方法(源数组,源数组要Copy的元素起始位置,目标数组,需要拷贝的长度) for(int i=0;i<dest.length;++i){ System.out.print(dest[i]+" "); } //遍历输出dest数组!
练习:
练习一:验证for循环打印数字1-9999所需要使用的时间(毫秒)
public static void main(String[] args) { long start = System.currentTimeMillis(); for (int i=0; i<10000; i++) { System.out.println(i); } long end = System.currentTimeMillis(); System.out.println("共耗时毫秒:" + (end-start) ); }
练习二:将src数组中前3个元素,复制到dest数组的前3个位置上
复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]
复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]
public static void main(String[] args) { int[] src = new int[]{1,2,3,4,5}; int[] dest = new int[]{6,7,8,9,10}; System.arraycopy( src, 0, dest, 0, 3); //代码运行后:两个数组中的元素发生了变化 //src数组元素[1,2,3,4,5] //dest数组元素[1,2,3,9,10] }
练习三:循环生成100-999之间的的三位数并进行打印该数,当该数能被10整除时,结束运行的程序
public static void main(String[] args){ Random random = new Random(); while(true){ int number = random.nextInt(900)+100; //0-899 + 100 if (nmumber % 10 == 0) { System.exit(0); } } }