Java中System的用法

System指的是当前进程运行的操作系统,属于java.lang包下面的类

常见的用法有以下几种:

第一种简单,我们直接上第二种方法吧

currentTimeMills()用法

 // 演示currentTimeMillis方法public static void main(String[] args) {// 获取当前时间所对应的毫秒值long millis = System.currentTimeMillis();// 输出结果System.out.println("当前时间所对应的毫秒值为:" + millis);}

 结果

获取到当前时间的毫秒值的意义:我们常常来需要统计某一段代码的执行时间。此时我们就可以在执行这段代码之前获取一次时间,在执行完毕以后再次获取一次系统时间,然后计算两个时间的差值,

这个差值就是这段代码执行完毕以后所需要的时间。如下代码所示:

package system;public class systemdemo2 {// 演示currentTimeMillis方法public static void main(String[] args) {//判断1~100000之间有多少个质数long start = System.currentTimeMillis();for (int i = 1; i <= 100000; i++) {boolean flag = isPrime2(i);if (flag) {System.out.println(i);}}long end = System.currentTimeMillis();//获取程序运行的总时间System.out.println(end - start); //方式一:1514 毫秒  方式二:34毫秒}//以前判断是否为质数的方式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方法

方法参数说明:

src:      源数组
srcPos:  源数值的开始位置
dest:    目标数组
destPos: 目标数组开始位置
length:   要复制的元素个数
public static native void arraycopy(Object src,  int  srcPos, Object dest, int destPos, int length); 

  要求 把srcArray数组中从0索引开始的3个元素,从desArray数组中的1索引开始复制过去

package system;public class systemdemo3 {public static void main(String[] args) {// 定义源数组int[] srcArray = {23, 45, 67, 89, 14, 56};// 定义目标数组int[] desArray = new int[10];// [0,23,45,67]// 要求 进行数组元素的copy:// 把srcArray数组中从0索引开始的3个元素,从desArray数组中的1索引开始复制过去System.arraycopy(srcArray, 0, desArray, 1,3 );// 遍历目标数组for (int i = 0; i < desArray.length; i++) {System.out.print( desArray[i]+" ");}System.out.println();}
}

结果

  要求: 删除数组中第3个元素(67):要删除67这个元素,我们只需要将67后面的其他元素依次向前进行移动即可

public class systemdemo4 {public static void main(String[] args) {// 定义源数组int[] srcArray = {23, 45, 67, 89, 14, 56};// 定义目标数组int[] desArray = new int[10];//要求删除数组中第3个元素(67)://要删除67这个元素,我们只需要将67后面的其他元素依次向前进行移动即可System.arraycopy(srcArray, 3, srcArray, 2, 3);// 遍历目标数组for (int i = 0; i < srcArray.length; i++) {System.out.print(srcArray[i] + " ");}System.out.println();}
}

结果:

arraycopy方法底层细节:

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

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

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

在这里我只想强调第3条

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

public class systemdemo5 {public static void main(String[] args) {//public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组拷贝//细节://1.如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错//2.在拷贝的时候需要考虑数组的长度,如果超出范围也会报错//3.如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型Student s1 = new Student("zhangsan", 23);Student s2 = new Student("lisi", 24);Student s3 = new Student("wangwu", 25);Student[] arr1 = {s1, s2, s3};Person[] arr2 = new Person[3];//子类类型可以赋值给父类类型//把arr1中对象的地址值赋值给arr2中System.arraycopy(arr1, 0, arr2, 0, 3);//遍历数组arr2for (int i = 0; i < arr2.length; i++) {Student stu= (Student) arr2[i];//向下转换,把父类arr2强转为子类StudentSystem.out.println(stu.getName()+" "+stu.getAge());}}}class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}class Student extends Person {public Student() {}public Student(String name, int age) {super(name, age);}}

结果:

 

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

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

相关文章

获取HTML元素的offsetParent属性

获取HTML元素的offsetParent属性 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨在前端开发中常用的一个属性——HTML元素的offsetParent属性…

Apache Ranger 2.4.0 安装部署

1、安装ranger admin 2、源码编译Ranger wget https://www.apache.org/dist/ranger/2.4.0/apache-ranger-2.4.0.tar.gz tar zxvf apache-ranger-2.4.0.tar.gz cd apache-ranger-2.4.0 mvn -Pall clean mvn clean package -DskipTests maven settting可以设置阿里云进行资源下载…

昇思25天学习打卡营第4天|扩散模型

文章目录 昇思MindSpore应用实践基于MindSpore的Diffusion扩散模型1、Diffusion Models 简介2、构建 Diffusion Model 的准备工作3、Attention 机制4、条件 U-Net5、Diffusion 正向过程6、Diffusion 反向过程7、Diffusion 模型训练 Reference 昇思MindSpore应用实践 本系列文章…

YOLO深度学习基准模型概念与应用

YOLO深度学习基准模型概念与应用 YOLO&#xff08;You Only Look Once&#xff09;是一种先进的深度学习目标检测模型&#xff0c;由Joseph Redmon等人在2016年首次提出&#xff0c;它彻底改变了目标检测领域的游戏规则&#xff0c;因其独特的一阶段检测方法和实时处理能力而广…

【Qt知识】Geometry属性

一、走进Geometry的世界 Geometry属性是Qt框架中用于处理和操作几何形状的一系列类的集合。它包括了QPoint、QPointF、QSize、QSizeF、QRect和QRectF等。这些类分别代表点、大小、矩形等基本几何概念&#xff0c;它们的存在让图形界面的创建变得既简单又直观。 位置和尺寸。 其…

算法训练营第七十三天 | Bellman_ford算法、SPFA算法、Bellman_ford之判断负权回路

算法训练营第七十三天 | Bellman_ford算法、SPFA算法、Bellman_ford之判断负权回路 Bellman_ford算法 题目链接&#xff1a; https://kamacoder.com/problempage.php?pid1152 对所有边松弛一次&#xff0c;相当于计算 起点到达 与起点一条边相连的节点 的最短距离&#xff…

新消息!2025第十四届北京国防信息化装备与技术博览会

2025第十四届中国&#xff08;北京&#xff09;国防信息化装备与技术博览会 展会时间&#xff1a;2025年6月12日-14日 展会地点&#xff1a;北京中国国际展览中心&#xff08;朝阳馆&#xff09; 展会规模&#xff1a;展览面积45000平米&#xff0c;展商1000余家&#xff0c;展…

css 滚动词云

css javascript 实现滚动词云效果 // 163css.js var radius 120; var dtr Math.PI / 180; var d 300; var mcList []; var active false; var lasta 1; var lastb 1; var distr true; var tspeed 10; var size 250; var mouseX 0; var mouseY 0; var howElliptic…

MySQL高级-MVCC-隐藏字段

文章目录 1、介绍2、测试2.1、进入服务器中的 /var/lib/mysql/atguigu/2.2、查看有主键的表 stu2.3、查看没有主键的表 employee2.3.1、创建表 employee2.3.2、查看表结构及其其中的字段信息 1、介绍 ---------------- | id | age | name | ---------------- | 1 | 1 | Js…

python读取语文成绩 青少年编程电子学会python编程等级考试三级真题解析2022年3月

目录 python读取语文成绩 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python读取语文成绩 2022年3月 python编程等级考试级编程题 一、题目…

【Qt】之【Bug】大量出现“未定义的标识符”问题

背景 构建时出现大量错误 原因 中文注释问题 解决 方法1. 报错代码附近的中文注释全部删掉。。。 方法2. 报错的文件添加 // Chinese word comment solution #pragma execution_character_set("utf-8")

第二天:ALOAM前端讲解【第3部分】

(2)面特征 点到面的距离公式: d H = ∣ ( X ~ ( k + 1 , i ) L − X ˉ ( k , j ) L ) ⋅ ( ( X ˉ ( k , j ) L − X ˉ ( k , l ) L ) ( X ˉ ( k , j ) L − X ˉ ( k , m ) L ) ) ∣ ∣ ( X ˉ ( k , j ) L − X ˉ ( k , l ) L ) ( X ˉ ( k , j ) L − X ˉ ( k ,…

Vue如何引用组件

在 Vue.js 中&#xff0c;你可以通过几种方式引用组件&#xff1a; 全局注册 在 main.js 或你的主入口文件中&#xff0c;你可以使用 Vue.component() 方法来全局注册一个组件。这意味着这个组件可以在你的 Vue 应用的任何地方使用。 import MyComponent from ./components/…

Linux常用命令大全(超详细!!!)

文章目录 1.Linux是什么1.1 关于Linux我们主要学习什么1.1 学习Linux常见命令的前置知识 2. Linux常见命令2.1 ls命令2.2 cd命令2.3 pwd命令2.4 touch命令2.5 cat命令2.6 echo命令2.7 vim命令2.8 mkdir 命令2.9 rm命令2.10 cp命令2.11 mv命令2.12 grep命令2.13 ps命令2.14 nets…

文华财经通达信同花顺期货通盘立方博易大师主图指标公式源码

买线:EMA(C,2); 卖线:EMA(SLOPE(C,21)*20C,42); BU:CROSS(买线,卖线); SEL:CROSS(卖线,买线); STICKLINE1(买线>卖线,LOW,MIN(O,C),0.1,1),COLORRED; STICKLINE1(买线>卖线,MAX(O,C),HIGH,0.1,1),COLORRED; STICKLINE(买线>卖线,CLOSE,OPEN,8,1),COLORRED; STI…

【简单讲解下OneFlow深度学习框架】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

AD如何将厂家的元器件库,添加到自己的元器件库

首先&#xff0c;去官网下载对应芯片的原理图和封装&#xff0c;之后用分别双击打开原理图和封装。之后打开自己的原理图库和封装库。如下图&#xff1a; 打开原理图和封装后框选&#xff0c;之后crlC复制&#xff0c;之后点开自己的原理图库和封装库&#xff0c;随便单击一个元…

Linux(Ubuntu20.04)系统中安装deb软件包错误(依赖关系问题-仍未被配置)解决的办法

在Ubuntu16.04下采用如下dpkg命令安装deb软件安装包时&#xff1a; sudo dpkg -i XXXX.deb 发生安装失败&#xff0c;返回信息为&#xff02;正处理时有错误发生&#xff02;&#xff0c;并且在安装过程中出现&#xff02;依赖关系问题-仍未被配置&#xff02;的提示&#xff0…

【数据分析“三剑客”】—— NumPy

本系列数据分析博客使用jupyter notebook作为开发环境&#xff0c;如果你还不是很熟悉jupyter notebook&#xff0c;我推荐你可以先花几十分钟实现学习一下我关于python开发环境搭建介绍的博客&#xff1a;python开发环境搭建——pycharm和jupyternotebook_jupyter跟pycharm代码…

RClone挂载有阿里云的AList

转自个人博客&#xff1a;https://www.jjy2023.cn/2024/05/23/rclone%e6%8c%82%e8%bd%bd%e6%9c%89%e9%98%bf%e9%87%8c%e4%ba%91%e7%9a%84alist-md/ RClone挂载一般的AList可以直接使用mount命令&#xff0c;但是阿里云需要使用指定头部Referer:https://www.aliyundrive.com/ &a…