经常使用的系统类Math、Arrays、System、BigInteger和BigDecimal以及日期类,时间戳
一、Math
常用类:
//看看Math常用的方法(静态方法)
//1.abs绝对值
int abs = Math . abs(-9);
System. out . printLn(abs);//9
//2.pow 求幂
doubLe pow = Math.pow(2, 4);
System. out . printLn(pow);//16
//3.ceil向上取整,返回>=该参数的最小整数(转成Double类型);
double ceil = Math. ceil(-3.0001) ;
System. out. printLn(ceil);//-3
//4.floor向下取整,返回<=该参数的最大整数
double fLoor = Math. floor(-4.999);
System. out. printLn(floor);//-5
//5.round 四舍五入Math. floor(该参数+0.5)
Long round = Math . round(-5.001) ;
System. out. printLn(round);//-5
//6.sqrt 求开方
double sqrt = Math. sqrt(9.0);
System. out。printLn(sqrt);//3.0
//7.生成随机数 random():返回值是[0.1)之间的的数;
//8.比较得到两个数的最大值和最小值
//Math.max(23,45);//45
//Math.min(12,23);//12
二、Arrays
Arrays里面包含了系列静态方法, 用于管理或操作数组(比如排序和搜索)。
1) toString返回数组的字符串形式
Arrays.toString(arr)
2) sort排序(自然排序和定制排序)
自然排序:从小到大:Integer arr[] = {1,-1, 7, 0, 89};
Arrays.sort(arr);
定制排序:可通过自定义的内部匿名类实现从大到小排序;
(1).可以直接使用冒泡排序,也可以直接使用Arrays提供的sort方法排序
(2).因为数组是引用类型,所以通过sort排序后,会直接影响到实参arr
(3). sort重载的,也可以通过传入一个接口Comparator 实现定制排序
(4).调用定制排序时,传入两个参数
(4.1) 排序的数组arr
(4.2)实现了Comparator接口的匿名内部类,
要求实现
compare方法

在底层对内部匿名类进行调用:

3) binarySearch通过二分搜索法进行查找,要求必须排好序
int index = Arrays.binarySearch(arr, 3);

4)copyOf的使用

复制整个数组

5)fill数组元素的填充

6)equals比较两个数组:元素相同返回true,反之false

7)将一个数组转换为一个列表


运行结果:

三、System
1、System类常见方法和案例

(1)Sysout.exit(0);正常退出程序,0表示一个正常的状态,一般退出都用0
(2)System.arraycopy(src,0,dest,0,3);

src和dest是自己定义出来的列表;
(3)system.currentTimeMillens ():返回当前时间距离1970-1-1 的毫秒数
四、BigInteger和BigDecimal
1、应用场景:
1) BigInteger适合保存比较大的整型
2) BigDecimal适合保存精度更高的浮点型(小数)
大数的初始化和运算:

高精度浮点数
五、日期类
Date:经过发展,目前的类已经到达第三代
第一代:

获取系统默认时间

对时间进行格式化;
第二代:Calender
Calender的实现和继承

非常的灵活,Calender提供的属性选择非常的多,可以选择自己想要的格式输出:

第三代:
出现第三代日期类的分析:

1) LocalDate(日期/年月日)、LocalTime(时间/时分秒)、LocalDateTime(日期时
间/年月日时分秒) JDK8加入
LocalDate只包含日期,可以获取日期字段
LocalTime只包含时间,可以获取时间字段
LocalDateTime包含日期+时间,可以获取日期和时间字段
实现的类和继承的类:

常用方法和使用的类型

2)DateTrimeFormatter格式日期类(类似于:SimpleDateFormat)
Date TimeFormat dtf = Date TimeFormatter.ofPattern(格式);
String str = dtf.format(日期对象);
更多的方法
LocalDateTime类
MonthDay类:检查重复事件
是否是闰年
增加日期的某个部分
使用plus方法测试增加时间的某个部分
使用minus方法测试查看一年前和一年后的日期

3)Instant:时间戳

案例使用细节 
3 import java.text.SimpleDateFormat;
4 import java.time.Instant;
5 import java.util.Date;
6
7 public class Date_ {
8 public static void main(String[] args) {
9
10 //生成一个Instant时间戳
11 Instant now = Instant.now();
12 System.out.println(now);
13
14 //将Instant时间戳转换为Date格式
15 Date date = Date.from(now);
16 System.out.println(date);
17
18 //将Date的时间类型进行格式化
19 SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
20 String format1 = format.format(date);
21 System.out.println(format1);
22
23 //将Date类型的时间转换为Instant时间戳
24 Instant instant = date.toInstant();
25 System.out.println(instant);
26
27 }
28 }
运行的结果:

经常使用的系统类Math、Arrays、System、BigInteger和BigDecimal以及日期类,时间戳的更多相关文章
- Java中的常用类:包装类、String、StringBuffer、StringBuilder、Math、System、Arrays、BigInteger、BigDecimal、Data、Calendar
一.包装类 √ 二.String类 ★ 三.StringBuffer和StringBuilder类 ★ 四.Math类 五.System类 六.Arrays类 七.BigInteger类和BigDec ...
- 3.1常用类(java学习笔记)包装类及日期类
一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...
- Java 基础 常用API (System类,Math类,Arrays, BigInteger,)
基本类型包装类 基本类型包装类概述 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类 ...
- [Day17]常用API(System、Math、Arrays、BigInteger、BigDecimal)
1.基本类型包装类 1.1 8种基本类型对应的包装类 字节型 byte Byte 短整型 short Short 整型 int Integer 长整型 long Long 字符型 char Chara ...
- 六 一些常用类:Random、BigInteger、BigDecimal、DecimalFormat
常用类:
- 日期类的加减及java中所以日期类的操作算法大全
1.计算某一月份的最大天数 1Calendar time=Calendar.getInstance();2time.clear();3time.set(Calendar.YEAR,year); //y ...
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...
- Java 之 数学相关类 Math、BigInteger、BigDecimal
一.java.lang.Math 类 一.Math 类概述 java.lang.Math 类包含用于执行基本数学运算的方法,如指数.对数.平方根和三角函数.类似于这样的类,其所有方法均为静态方法,并且 ...
- java异常,异常处理,异常类 关键字:throws 和 throw 自定义的异常类
package cn.kecheng; import java.util.Scanner; /**异常:异常是指在程序的运行过程中所发生的不正常的情况,它会中断正在运行的程序 异常处理机制:java中 ...
随机推荐
- POJ 2442 Sequence堆 优先队列
题目描述 给定m个序列,每个序列包含n个非负整数.现在我们可以从每个序列中选择一个数字以形成一个具有m个整数的序列.显然,我们可以得到n ^ m种这种序列.然后,我们可以计算每个序列中的数字总和,并获 ...
- MongoDB_安装、配置、连接(五)
MongoDB 是跨平台的,既可以在 Linux系统下安装,也可以在Windows 系统.MacOS系统下安装,本节主要介绍如何在 Linux 系统下安装 MongoDB. windows安装:htt ...
- vuex 中使用Element-ui的message
首先引入Message 其次,在mutations中调用Message 注意:缓存的问题,如果没有弹出框架出现,多重启几次服务 参考资料: https://blog.csdn.net/weixin_4 ...
- [ css ] 实现漂亮的输入框动画(借鉴自panjiachen的后台管理项目)
效果预览 HTML <div class="l-custom-input"> <input size="large" id="l-i ...
- 第10组 Beta冲刺 总结
1.基本情况 组长博客链接:https://www.cnblogs.com/cpandbb/p/14050808.html 答辩总结: ·因为alpha阶段的产品做得偏离了方向,所以beta冲刺大家非 ...
- Java代码批量插入数据到MySQL
1.批量插入 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundExc ...
- 【记录一个问题】android下的ucontext协程,因为使用栈上的对象,导致cv::Mat被莫名析构
工作的流程是这样:某个协程在栈上创建task对象,在task对象内有需要返回的cv::Mat. 然后把task放到另一个线程上去执行,然后切换到别的协程,等到工作线程执行完task后,再唤醒协程. 这 ...
- visual studio进行机器学习与python编写
visual studio里的python安装之后自带一个虚拟环境 1.anaconda有些包版本无法到最新. 2.包管理器在安装卸载,强制停止后,包管理器会出问题,一直卸不掉那个包. 在卸载pyth ...
- Android开发-数据库代码编写
数据库代码主要是查找 package com.example.Utils.database; import android.annotation.SuppressLint; import androi ...
- python 小兵(4)之文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...