java —— 常用类

一、System 类

System 类内部的构造方法是 private 修饰的,所以不能实例化,普通方法均为静态方法。

(一).currentTimeMillis()

括号内无参数,返回值为距离1970年1月1日0时0分0秒之间的毫秒数。

long time=System.currentTimeMillis();

(二).arraycopy()

括号内 5 个参数,分别是 .arraycopy(原数组,要复制原数组的开始索引,目标数组,复制到目标数组的开始索引,要复制原数组的长度)。

public static void main(String[] args)
{int[] a1={0,1,2,3};int[] a2=new int[7];System.arraycopy(a1,1,a2,2,a1.length-1);System.out.println(Arrays.toString(a2));
}

(三).exit()

括号内的参数要么是 0,要么是非零值,前者表示强制退出程序,后者需要根据需要自定义。

System.exit(0);

二、Date 类

Date 类需要实例化,实例化之后用 .getTime()、.getHour、.getDay() 等等方法,除 .getTime() 返回 long 类型之外,其余均返回 int 类型。

Date d=new Date();
d.getTime();   //与System.currentTimeMillis()一样返回距离格林威治标准时间之间的毫秒数
d.getHour();
d.getDay();

三、DateFormat 类

DateFormat 是一个将日期进行格式化显示的类。

(一)对日期格式化显示

.getDateInstance();

public static void main(String[] args)
{Date date=new Date();DateFormat df=DateFormat.getDateInstance();  //将工具类对象实例化为dfString x=df.format(date);System.out.println(x);
}

(二)对时间格式化显示

 .getDateTimeInstance();

public static void main(String[] args)
{Date date=new Date();DateFormat df=DateFormat.getDateTimeInstance(); //将工具类对象实例化为dfString x=df.format(date);System.out.println(x);
}

四、SimpleDateFormat 类

SimpleDateFormat 主要提供的是日期与字符串之间的转换。

(一)日期转字符串

public static void main(String[] args)
{Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //编写输出格式String x=sdf.format(date);System.out.println(x);
}

(二)字符串转日期

public static void main(String[] args)
{String x="2020年5月10日10时05分30秒";SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒"); //编写来源格式Date date=sdf.parse(x);System.out.println(date);
}

五、Math类

求绝对值:Math.abs(double a)

求平方根:Math.sqrt(double a)

求较大值:Math.max(double a,double b)

求较小值:Math.min(double a,double b)

四舍五入:Math.round(double a)             //结果是整数

获取 0-1 之间的随机数:Math.random()

六、Random类

Random 生成随机数,需要先创建 Random 实例化对象。

public static void main(String[] args)
{Random rand=new Random();int x=rand.nextInt(10);    //随即生成0-9之间的整数System.out.println(x);
}

七、BigInteger 类

 BigInteger 表示大整数类,内部封装了常见的数学运算。使用时需要先声明一个 BigInteger 对象,数字用字符串的形式表示。

public static void main(String[] args)
{BigInteger bi1=new BigInteger("5555555555555555555");BigInteger bi1=new BigInteger("2222222222222222222");BigInteger bi3=bi1.add(bi2);             //求和BigInteger bi3=bi1.subtract(bi2);        //求差BigInteger bi3=bi1.multiply(bi2);        //求积BigInteger bi3=bi1.divide(bi2);          //取整BigInteger bi3=bi1.remainder(bi2);       //取余
}

八、BigDecimal 类

BigDecimal 用于处理超大型小数,使用方法与 BigInteger 类似。

public static void main(String[] args)
{BigDecimal bi1=new BigDecimal("1.5555555555555555555");BigDecimal bi1=new BigDecimal("0.2222222222222222222");BigDecimal bi3=bi1.add(bi2);             //求和BigDecimal bi3=bi1.subtract(bi2);        //求差BigDecimal bi3=bi1.multiply(bi2);        //求积BigDecimal bi3=bi1.divide(bi2,3,BigDecimal.ROUND_HALF_UP);          //求商BigDecimal bi3=bi1.remainder(bi2);       //取余
}

本案例中,bi1 除以 bi2 显然结果是无限小数,由于 BigDecimal 本身就是处理超大型小数的,所以会报错,否则就要无限显示下去。案例中,括号内增加的两个参数,3 表示保留三位小数,BigDecimal.ROUND_HALF_UP 表示四舍五入。

九、Timer 类和 TimerTask 类

两个类配合使用,以实现定时完成某项任务。

public static void main(String[] args)
{Timer ti=new Timer();                //实例化Timer对象TimerTask tisk=new TimerTask(){public void run() {System.out.println("kaka");      //编写任务}};ti.schedule(tisk,3000);             //第一种:3秒钟之后执行任务tiskti.schedule(tisk,new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒").parse("2025年3月1日 5时20分15秒"));                           //第二种:固定时间点执行任务tiskti.schedule(tisk,3000,2000);       //第三种:3秒之后执行,每2秒执行一次
}

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

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

相关文章

全面解析开源RTSP流媒体服务器:功能、性能与应用场景对比

本文综合分析了多个开源RTSP流媒体服务器,包括EasyDarwin、RtspServer、SRS等,深入探讨它们的功能特性、技术实现、性能对比及应用场景,旨在为开发者提供全面的选型参考。 文章目录 开源RTSP流媒体服务器概述RTSP协议简介开源RTSP服务器的重要…

【JavaScript】P5 数组与常量

目录 1 数组1.1 数组的声明1.2 数组的基本术语 2 常量 1 数组 如果将多个数据存储在单一个变量名下 -> 数组。 数组(array),可以将一组数据存储在单个变量名下。 1.1 数组的声明 let 数组名 [数据1, 数据2, ..., 数据n]数组是有序的&a…

APM2.8内置罗盘校准

如果你有外置罗盘,可以不用校准内置罗盘,可以忽略此文。推荐使用外置罗盘,内置罗盘容易受干扰。 使用内置罗盘需要插入飞控GPS接口旁边的跳线帽。如图: 如果要使用内置罗盘,而又加了GPS的,记得一定要把GPS…

深入探索Qt框架系列之元对象编译器

上一篇文章简单介绍了Qt框架中的三大编译器(MOC、UIC、RCC),其中我认为最核心,最重要的就是元对象编译器(MOC),下面我们将深入探索MOC生成的代码,并逐步解析。 本文将以下面的源码来…

【错误记录】HarmonyOS 运行报错 ( Failure INSTALL _PARSE _FAILED _USESDK _ERROR )

文章目录 一、报错信息二、问题分析三、解决方案 一、报错信息 在 DevEco Studio 中 , 使用 远程设备 , 向 P40 Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] compileSdkVersion and releaseType of the app do not match the apiVersion and releaseType on the device. 二、…

SpringMVC枚举类型字段处理

在日常的项目开发中经常会遇到一些取值范围固定的字段,例如性别、证件类型、会员等级等,此时我们可以利用枚举来最大程度减少字段的乱定义,统一管理枚举的值。 SpringMVC中对于枚举也有默认的处理策略: 对于RequestParam&#xf…

管理开发进度

在系统开发现场,必须要对项目的推进状况进行管理。不过,针对大型项目,要一下子对其整体进行统一的管理是很困难的。这时就需要将其划分成更小的单位进行管理。 这种用于分解的单位被称为任务。以任务为单位对开发进度进行管理的方法…

平常心看待已发生的事

本篇主要记录自己在阅读此篇文章(文章链接: 这才是扼杀员工积极性的真正原因(管理者必读) )和这两天京东的东哥“凡是长期业绩不好,从来不拼搏的人,不是我的兄弟”观点后的一些想法。 自己在微…

静态测试---基于WorkList的活跃变量分析

本文主要用于记录在活跃变量分析实验中的报错及解决,涉及静态测试的详细原理内容较少,编译运行底层逻辑偏多。 一、实验要求 1)使用llvm基于框架实现一个基于WorkList的活跃变量分析demo。变量在某个程序点有两种状态,live 或 dea…

利用 Scapy 库编写源路由攻击脚本

一、介绍 源路由攻击是一种网络攻击方法,攻击者通过利用IP数据包中的源路由选项来控制数据包的传输路径,从而绕过安全设备或防火墙,直接访问目标系统。源路由功能允许数据包的发送方指定数据包通过的路径,而不是由路由器根据路由…

计数排序法

计数排序的核心在于将输入数据转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 当输入的元素是n个0到k之间的整数时,它的运行时间复杂度是O(nk)。计数排序不是比较排序,…

Xshell 5(xmanager5)报错

总结 所有的错误都是因为Xshell版本太低,与新的Linux系统不兼容导致的。 所以解决办法都是使用Xshell7 XShell 7 (解压、运行绿化.bat) https://pan.baidu.com/s/151W_MeLrrceUZQIFiNlMdg?pwd8888错误1:找不到匹配的host key算…

【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)

【LeetCode刷题】Day 10 题目1:30. 串联所有单词的子串(困难)思路分析:思路1:滑动窗口哈希map 题目2:LCR 017.最小覆盖子串思路分析思路1:滑动窗口哈希表 题目1:30. 串联所有单词的子…

基于51单片机的直流电机调速设计

一.硬件方案 本系统采用STC89C51控制输出数据,由单片机IO口产生PWM信号,送到直流电机,直流电机通过测速电路将实时转速送回单片机,进行转速显示,从而实现对电机速度和转向的控制,达到直流电机调速的目的。…

20240528训练题目(2022 国际大学生程序设计竞赛亚洲区域赛 (南京站))

D题 题目描述 You’re the researcher of the International Chat Program Company (ICPC). Today, you discover the following chat history when reviewing some research data. SUA (2022/12/04 23:01:25) I’m out of ideas for competitive programming problems! Pl…

【TC8】如何测试IOP中PHY芯片的Llink-up time

在TC8一致性测试用例中,物理层的测试用例分为两个部分:IOP和PMA。其中IOP中对PHY芯片的Link-up时间的测试,又包含三个测试用例。它们分别是: OABR_LINKUP_01: Link-up time - Trigger: Power on Link PartnerOABR_LINKUP_02: Link-up time - Trigger: Power on DUTOABR_LIN…

qt把虚拟键盘部署到arm开发板上(imx6ull)

分为了qt官方配置的虚拟键盘以及各路大神自己开源的第三方键盘,我本来想尝试利用官方键盘结果一直失败,最后放弃了,后面我用的第三方键盘参考了如下文章: https://blog.csdn.net/2301_76250105/article/details/136441243 https…

算法基础之台阶-Nim游戏

台阶-Nim游戏 核心思想&#xff1a;博弈论 可以看作第i阶台阶上有i个含有i个石子的堆这样所有台阶上一共n!个堆就变成了经典Nim优化&#xff1a;发现偶数阶台阶上2n堆异或 0 , 奇数阶台阶异或 原本石子数量 因此 当遍历到奇数阶时异或一下就行 #include <iostream>…

git 学习随笔

git 学习随笔 基本概念 git 对待数据类似快照流的形式而不是类似 cvs 那样的纪录文件随时间逐步积累的差异 git 中所有数据在存储钱都会计算校验和&#xff08;hash) 三种状态&#xff1a;已提交(committed)&#xff0c;已修改(modified)&#xff0c;已暂存(staged)。 add…

二叉树习题精讲-单值二叉树

单值二叉树 965. 单值二叉树 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/univalued-binary-tree/description/ 判断这里面的所有数值是不是一样 方案1&#xff1a;遍历 方案2&#xff1a;拆分子问题 /*** Definition for a binary tree node.* struc…