Java-API-System类的学习 常用方法的介绍

4 篇文章 0 订阅
4 篇文章 0 订阅

目录

一、元时间的概念

二、常用方法

 代码演示:

三、arraycopy的注意点

子类类型赋值到父类类型的示例代码:


一、元时间的概念

        java 通常以1970年1月1日为时间起点,许多计算都以这个时间开始。

二、常用方法

public static void exit(int status) //终止当前运行的Java虚拟机

public static long currentTimeMilis() //返回当前系统的时间毫秒形式 就是现在的时间和元时间的差值

public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) //数组拷贝

 代码演示:

import java.lang.Math;

public class Systemdemo {
    public static void main(String args[]){
        /*
        1、public static void exit(int status) //终止当前运行的Java虚拟机
        2、public static long currentTimeMilis() //返回当前系统的时间毫秒形式 就是现在的时间和元时间的差值
        3、public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) //数组拷贝
         */

        //1:
        //方法的形参
        //状态码 0表示虚拟机正常停止 非0表示虚拟机异常停止
        //System.exit(0);
        System.out.println("check是否执行!");//会发现不执行了 在上一条语句已经停止了

        //2:
        //可以用来计算一个子程序运行所用的时间  eg:求2-1000000内的所有质数代码
        long start,end;
        start=System.currentTimeMillis();//获取当前时间

        //求2-1000000内的所有质数代码
        Boolean flag = true;
        for(int i = 2;i <= 1000000;i++){
            for(int j = 2;j <= Math.sqrt(i);j++){
                if(i % j == 0){     // i 被 j 整除,不是质数
                    flag = false;   // flag 置为false
                    break;
                }
            }
            if(flag == true){
                System.out.print(i + " ");
            }
            flag = true;            //将 flag 重置为 true
        }

        end=System.currentTimeMillis();

        long usetime=end-start;
        System.out.println("\n用了"+usetime+"ms");

        //3:
        int[] arr1={1,2,3,4,5,6,7,8,9,10};
        int[] arr2=new int[10];

        System.arraycopy(arr1,0,arr2,0,10);

        //验证
        for(int i=0;i<10;++i){
            System.out.println(arr2[i]+" ");
        }

    }
}

三、arraycopy的注意点

1.如果数组源数组和目的地数组都是基本数据类型 那么两者的类型必须保持一致 否则会报错

2.在拷贝的时候要考虑数组的长度,如果超出范围也会报错

3.如果数组源数组和目的地数组都是引用数据类型 那么子类类型也可以赋值给父类类型

4.因为引用数据类型copy的实际上是地址值 所以源数组发生改变 目的地数组也发生改变 

子类类型赋值到父类类型的示例代码:

package APIstudy;
import java.lang.Math;

public class Systemdemo {
    public static void main(String args[]){
        //arraycopy 拷贝引用数据类型
        student s1=new student(18,"zhangsan",100);
        student s2=new student(19,"lisi",95);
        student s3=new student(20,"wangwu",90);

        student[] arr1={s1,s2,s3};
        person[] arr2=new student[3];

        //子类copy到父类
        System.arraycopy(arr1,0,arr2,0,3);

        //验证
        for(int i=0;i<3;++i){
            student stu=(student)arr2[i];//强转!
            System.out.println(stu.getName()+","+stu.getAge()+","+stu.getScore());
        }


    }
}
class person{
    int age;
    String name;

    public  person(){

    }
    public person(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
class student extends person{
    int score;

    public student() {
    }

    public student(int score) {
        this.score = score;
    }

    public student(int age, String name, int score) {
        super(age, name);
        this.score = score;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值