API System的常用方法

本文介绍了Java编程中的System.exit()方法用于终止程序运行,currentTimeMillis()获取当前系统时间(毫秒),以及arraycopy()进行数组拷贝的函数。还提及了C语言的发展历史和时间转换的基本概念。
摘要由CSDN通过智能技术生成

System的常用方法

exit

 终止当前运行的Java虚拟机

 public static void exit (int status)

说明:

方法的形参:
    状态码:
    0:表示当前虚拟机是正常停止
    非0:表示当前虚拟机异常停止
    System.exit(0);
    System.out.println("我执行了语句");
    以拼图小游戏为例子:
    当我们需要结束程序运行的时候就可以调用这

currenTimeMillis()

时间原点:

计算机中的起始时间: 1970年1月1日 00:00:00
原因:1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命
性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。
随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX。
所以1970年1月1日算C语言的生日。

 

北京时间   

北京时间需要在世界标准时间上加8小时

2. 1 秒= 1000 毫秒

3. 计算机中的时间原点为: 1970年1月1日00:00:00

即中国的标准时间:

世界标准时间 + 8小时

时间换算公式

1秒 = 1000毫秒

1毫秒 = 1000微秒

1微秒 = 1000纳秒

返回当前系统的时间毫秒值(特别注意,这里返回的是毫秒值,所以要用long来接收)
 public static long currenTimeMillis() 

应用举例:

拿质数的判定来进行举例

public class systemTest02 {
    public static void main(String[] args) {
    //判断1~100000有多少个质数

        long start1=System.currentTimeMillis();

        for (int i = 0; i <=100000; i++) {
            boolean flase=isPrime1(i);
            if (flase){
                System.out.println(i);
            }
        }
        long end1=System.currentTimeMillis();
        //获取程序运行的总时间
        System.out.println(end1-start1);//815(运行时间,单位:毫秒)

        System.out.println("--------------");

        long start2=System.currentTimeMillis();

        for (int i = 0; i <=100000; i++) {
            boolean flase=isPrime2(i);
            if (flase){
                System.out.println(i);
            }
        }
        long end2=System.currentTimeMillis();
        //获取程序运行的总时间
        System.out.println(end2-start2);//44(运行时间,单位:毫秒)
    //原始的判断方法
    public static boolean isPrime1(int number){
        for (int i=2;i < number;i++){
            if (number%i==0){
                return false;
            }
        }
        return true;
    }

    //改进后的判断方法---效率更高
    public static boolean isPrime2(int number){
        for (int i=2;i<=Math.sqrt(number);i++){
            if (number % i==0){
                return false;
            }
        }
        return true;
    }
}

注意: 

程序的具体运行时间会因为个人的电脑配置不同而出现变化

arraycopy

数组的拷贝

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

 上述的参数说明:

参数一;数据源,要拷贝的数据从那个数组来
参数二:从数据源数组中的第几个索引开始拷贝
参数三:目的地,要把拷贝的数据放在哪儿数组中
参数四:目的地的数组索引
参数五:拷贝的个数

运用举例:

//拷贝数组
        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,5);

        //检测
        for (int i =0;i<arr2.length;i++){
            System.out.println(arr2[i]);
        }

此外,在运用数据拷贝时候需要注意的

细节:
1.如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错
2.在拷贝的时候需要考虑数组的长度,如果超出范围也会报错
3.如果数据源数组与目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型

这里就不做详细的举例演示了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值