常用API学习04(Java)

news2024/11/27 18:51:12

System

System类包含几个有用的类字段和方法。它不能被实例化。System类提供的System包括标准输入,标准输出和错误输出流;访问外部定义的属性和环境变量;一种加载文件和库的方法;以及用于快速复制阵列的一部分的实用方法.

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

public static long currentTimeMillis()     返回当前系统的时间毫秒值形式

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

在Java中,延续了C语言的设定,计算机中的时间原点为:1970年1月1日 00:00:00

那么,currentTimeMillis()的作用就是,从时间原点开始到代码运行,时间总共过去了多少毫秒。

接下来通过代码来依次实现各方法:

package com.itheima.system;

public class SystemDemo01 {
    public static void main(String[] args) {
        //exit()  终止当前运行的Java虚拟机
        /*方法的形参
        * 状态码:
        * 0:表示当前虚拟机是正常停止
        * 非0:表示当前虚拟机异常停止*/
        System.exit(0);
        System.out.println("看我执行没");
        //当我们需要把整个程序结束的时候,就可以调用这个方法

    }
}

运行结果:

对于exit(),它有一个参数,当这个参数为0的时候,那么当前虚拟机就是正常停止,如果这个参数为非0时,那么当前虚拟机就是异常停止。

package com.itheima.system;

public class SystemDemo02 {
    public static void main(String[] args) {
        //currentTimeMillis()  返回当前系统的时间毫秒值形式
        long l =  System.currentTimeMillis();
        System.out.println(l);
        
    }
}

运行结果:

这个结果每一次运行的结果都不一样,因为每一次使用时,当前的时间都在变化。

那么这个方法有什么用呢?它可以用于统计一段代码的执行时间。

package com.itheima.system;

public class SystemDemo02 {
    public static void main(String[] args) {
        //currentTimeMillis()  返回当前系统的时间毫秒值形式
        long start =  System.currentTimeMillis();

        int sum = 0;
        for (int i=0;i<1000000000;i++){
            sum += i;
        }

        long end = System.currentTimeMillis();
        System.out.println(end-start);

    }
}

 那么这段代码的运行时间就是371毫秒。

package com.itheima.system;

public class SystemDemo03 {
    public static void main(String[] args) {
        //arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)  拷贝数组
        int[] arr1 = {1,2,3,4,5,6,7,8,9,10};
        int[] arr2 = new int[10];
        int[] arr3 = new int[10];

        //把arr1数组拷贝到arr2中
        System.arraycopy(arr1,0,arr2,0,10);

        //验证(遍历arr2数组)
        for(int i : arr2){
            System.out.print(i+" ");
        }

        System.out.println();

        //把arr1数组拷贝到arr3中
        System.arraycopy(arr1,0,arr3,0,5);

        //验证(遍历arr3数组)
        for(int i : arr3){
            System.out.print(i+" ");
        }
    }
}

运行结果:

 

对于arraycopy()里面的参数:

参数一:数据源,要拷贝的数据从哪个数组而来

参数二:从数据源数组中的第几个索引开始拷贝

参数三:目的地,我要把数据拷贝到哪个数组中

参数四:目的地数组的索引

参数五:拷贝的个数

#细节拓展:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/764155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WEB:easytornado

背景知识 Tornado 题目 一个一个点击尝试吧 /flllllllllag这个文件&#xff0c;估计是flag 发现了render&#xff0c;render是渲染HTML页面用到的函数。 发现加密方式是MD5值是文件名的MD5加上cookie_secret这个值&#xff0c;之后再MD5加密 获取cookie_secret的值 http://…

【输入法篇】PC微软输入法自定义短语的高级操作

【输入法篇】PC微软输入法自定义短语的高级操作 PC微软输入法自带的剪贴板&#xff0c;可设置常用高频词组、信息等。关键词唤起&#xff0c;告别重复粘贴&#xff0c;类似手机输入法剪贴板功能。—【蘇小沐】 文章目录 【输入法篇】PC微软输入法自定义短语的高级操作1.实验环…

kibana中添加spaces空间

目的 当需要对kibana中索引数据进行分组分区管理&#xff0c;如不同团队&#xff0c;不同业务等。可以同过kibana中的spaces空间进行分组展示。 操作 management>Spaces>create a space 填写name&#xff08;自定义图标&#xff09;>Customize feature display自定义…

Adaptive Graph Convolutional Subspace Clustering

基于图卷积算子的表示&#xff1a; 根据增广拉格朗日方法得出&#xff1a; 整个算法的步骤如下&#xff1a; 实验结果&#xff1a;

互联网时代个人信息安全:便利和担忧并存

文章目录 每日一句正能量前言一、互联网生存指南&#xff1a;通过哪些方法来加强个人信息保护&#xff1f;二、个人信息保护与数字经济发展的关系应该如何平衡&#xff1f;三、互联网公司如何处理数据隐私&#xff1f;四、如何加强个人隐私教育和意识&#xff1f;后记 每日一句…

取代抖音的下一个模式是什么?

现在抖音平台的发展还是很不错的&#xff0c;它通过短视频为基础不断发展其他方面的业务&#xff0c;比如电商&#xff0c;金融等&#xff0c;而抖音未来的发展将会越来越缓慢&#xff0c;这时候就可能出现下一个取代抖音的模式&#xff0c;是什么呢&#xff1f; 目前还无法预测…

dp算法篇Day8

"留下一首痛斥我的歌" 36、最长回文子串 (1) 题目解析 针对这一类回文串的动规问题得出该题解的状态表达式&#xff0c;不是经验题目要求&#xff0c;以什么位置为结尾…… 因为&#xff0c;这样定义的状态表达式是得不出求不出转移方程的。 (2) 算法原理 class Sol…

初识mysql数据库之索引概念与磁盘效率问题

目录 一、索引的概念及作用 二、实际看看索引的效率提升 三、认识磁盘 1. 简单了解磁盘 2. 数据库文件存储位置 3. 定位扇区 4. 数据读取效率问题 5. 磁盘随机访问与磁盘连续访问 5.1 随机访问 5.2 连续访问 四、mysql与磁盘的交互 五、建立共识 一、索引的概念及…

讯为RK3568开发板到手编译buildroot系统入坑一

从事单片机开发多年一直想买一个开发板学习Linux系统&#xff0c;这次狠心花了800多打样买了一个讯为的RK3568低配。裸板配置。 因为讯为没有编译系统的视频教程&#xff0c;只有文档的教程&#xff0c;而且只有瑞芯微官方带的Linux源码中的系统编译后文档教程。像ubuntu是没有…

网络编程Java Socket(UDP/TCP 套接字)

Socket是什么&#xff1f; 想知道Socket是什么就先得了解一下什么是网络编程 网络编程&#xff0c;通过代码来控制两个主机的进程之间能够进行数据交互。 操作系统就把网络编程的一些相关操作&#xff0c;封装起来了&#xff0c;提供了一组API供程序员使用。操作系统提供的功能…

Windows NT 驱动程序的编译、安装、调试

Windows NT 驱动程序的编译、安装、调试 Windows NT 驱动介绍NT 驱动代码分析编译安装修改注册表进行安装使用工具 DriverMonitor 进行打开加载安装 调试 Windows NT 驱动介绍 Windows 驱动分为两类&#xff0c;一类是从 Windows NT 遗留下来的驱动模型称为传统的 Windows NT …

1、Winform项目创建

项目创建的过程时比较简单的,要点在于选择基本库。 这里我们选择.Netframework 4.7.2,为什么使用这个呢?因为这个大多数windows系统上都装的有。如果使用.Net Core什么的,可能还需要再下载对应的运行库,影响用户体验。 具体步骤如下: 选择创建新项目 选择创建桌面应用…

RabbitMQ如何保证消息的可靠性6000字详解

RabbitMQ通过生产者、消费者以及MQ Broker达到了解耦的特点&#xff0c;实现了异步通讯等一些优点&#xff0c;但是在消息的传递中引入了MQ Broker必然会带来一些其他问题&#xff0c;比如如何保证消息在传输过程中可靠性&#xff08;即不让数据丢失&#xff0c;发送一次消息就…

GDB调试基础知识

文章目录 概念准备工作常用命令说明启动与退出给程序设置参数/获取设置参数GDB使用帮助查看当前文件代码查看非当前文件代码查看及设置显示的行数断点操作调试操作 概念 GDB 是由 GNU 软件系统社区提供的调试工具&#xff0c;同 GCC 配套组成了一套完整的开发环境&#xff0c;…

Python基础教程——60个基础练习(三)

41-字符串格式化 "%s is %s years old" % (bob, 23) # 常用 "%s is %d years old" % (bob, 23) # 常用 "%s is %d years old" % (bob, 23.5) # %d 是整数 常用 "%s is %f years old" % (bob, 23.5) "%s is %5.2f…

ListBox基本用法

作用&#xff1a;列表框&#xff0c;用于以列表的形式展示数据。 常用属性&#xff1a; 允许多列显示数据 添加数据项集合 常用事件&#xff1a; 选择项变化时触发该事件 后台代码示范&#xff1a; //列表框项目选择变化时被触发private void listBox1_SelectedIndexChanged…

Flutter 跳转应用市场评分——超简洁实现

最近在做flutter跳转去应用市场评分的功能&#xff0c;虽然是一个很小的功能&#xff0c;但是要做的既简单又高效&#xff0c;同时又能把细节考虑到&#xff0c;还是有坑要走的&#xff0c;这边记录一下。 背景 做应用市场相关的运营&#xff0c;在app内增加评分引导&#xf…

经典目标检测R-CNN系列(1)开山之作R-CNN

经典目标检测R-CNN系列(1)开山之作R-CNN 2014年&#xff0c;大神RBG&#xff08;Ross Girshick&#xff09;等人将卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;应用于目标检测任务中&#xff0c;在PASCAL VOC 2012数据集上&#xff0c;能…

vue 如何发布并部署到服务器

一般情况npm run build即可 从而生成vue代码直接放到服务器即可 这里的具体情况要看package.json里面的配置从而使用命令 会生成dist就是该项目的发布包

软件测试项目经验重要吗?

目前从行业薪资排名看&#xff0c;IT行业是我们普通人能够接触到的高薪行业&#xff0c;像金融、银行和投行等高薪职位&#xff0c;张雪峰老师在他的视频中分析过&#xff0c;不是一般人可以拿捏的。IT行业的大部分岗位需要专业的技能&#xff0c;留给我们这些非计算机专业科班…