目录
常用方法:
第一个方法:
第二个方法:
第三个方法:
方法 三 的拓展:
- System 和 Math 一样,也是一个工具类,提供了一些与系统相关的方法
// 方法的形参:0表示虚拟机是正常停止
// 非0表示虚拟机异常停止
System.out.println("会执行");
System.exit(0);
System.out.println("看看我执行了吗");
//但我们需要把整个程序停止,就可以调用这个方法
返回当前时间毫秒值,并且以 1970 年 1 月 1 日 08:00:00 作为计算机中的时间原点(含时差); 1 秒=1000 毫秒
System.out.println(System.currentTimeMillis());
//分两次时间打印 :第一次1705373724363 第二次1705373737774
//看得出时间是在变化的
那这个方法的作用在哪?
public class Test02 {
public static void main(String[] args) {
/*求1~100000中的质数*/
long start = System.currentTimeMillis();//开始
for (int i = 1; i < 100000; i++) {
if (check1(i)) {
System.out.println(i);
}
}
long end = System.currentTimeMillis();//结束
//获取程序运行时间
System.out.println(end-start);//老方法需要578毫秒
}
public static boolean check1(int number) {
//验证是否是质数的方法(老方法)
for (int i = 2; i < number; i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
public class Test02 {
public static void main(String[] args) {
/*求1~100000中的质数*/
long start = System.currentTimeMillis();//开始
for (int i = 1; i < 100000; i++) {
if (check2(i)) {
System.out.println(i);
}
}
long end = System.currentTimeMillis();//结束
//获取程序运行时间
System.out.println(end-start);//新方法只需要33毫秒
//可以验证出改进的方法效率确实更高了
}
//验证是否是质数的方法(新方法--效率更高)
public static boolean check2(int number) {
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
得出此方法可以验证程序运行速度。
int []arr1={1,2,3,4,5,6,7,8,9,10};
int []arr2=new int[10];
//拷贝arr1到arr2
System.arraycopy(arr1,0,arr2,0,10);
//遍历arr2
for (int i = 0; i
控制台:
1 2 3 4 5 6 7 8 9 10
练习:使 arr2 为: 0 0 0 0 1 2 3 0 0 0
//拷贝arr1到arr2
System.arraycopy(arr1,0,arr2,4,3);
练习:使 arr2 为:0 0 7 8 9 0 0 0 0 0
//拷贝arr1到arr2
System.arraycopy(arr1,6,arr2,2,3);
int []arr1={1,2,3,4,5,6,7,8,9,10};
double []arr2=new double[10];
int []arr1={1,2,3,4,5,6,7,8,9,10};
int []arr2=new int[5];
3.若数据源数组和目的数组都是引用数据类型,那么子类类型可以拷贝给父类类型
public class Test05 {
public static void main(String[] args) {
Student s1=new Student("张胜男1",21);
Student s2=new Student("李胜男2",22);
Student s3=new Student("王胜男3",23);
//数据源数组和目的数组都是引用数据类型
Student []arr1={s1,s2,s3};
Person []arr2=new Person[3];
//arr1拷贝到arr2
System.arraycopy(arr1,0,arr2,0,3);
//遍历arr2
for (int i = 0; i
控制台:
张胜男1 ,21
李胜男2 ,22
王胜男3 ,23