经常使用的系统类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中 ...
随机推荐
- Python中去除字符串中的单个或多个空格的方法总结
python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...
- js几种常见排序的实现
1. 冒泡排序 定义: 比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个 数据交换. 这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就"沉"到数组第 ...
- Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口
更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML ...
- Echart可视化学习(二)
文档的源代码地址,需要的下载就可以了(访问密码:7567) https://url56.ctfile.com/f/34653256-527823386-04154f 正文: 页面主体部分 设置测试样式 ...
- ElasticSearch的应用
一.介绍 全文检索技术: 分布式: Restful风格: 近实时搜索 二.部署 下载:https://thans.cn/mirror/elasticsearch.html 新建用户,并登录: 解压: ...
- Sentry 开发者贡献指南 - Feature Flag
功能 flag 在 Sentry 的代码库中声明. 对于自托管用户,这些标志然后通过 sentry.conf.py 进行配置. 对于 Sentry 的 SaaS 部署,Flagr 用于在生产中配置标志 ...
- 数据库锁(mysql)
InnoDB支持表.行(默认)级锁,而MyISAM支持表级锁 本文着中介绍InnoDB对应的锁. mysql锁主要分为以下三类: 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高 ...
- P5024 [NOIP2018 提高组] 保卫王国
思路: 首先想到每次询问两个点后就从这两个点开始往上爬,沿路更新 dp 值即可. #include <bits/stdc++.h> #define For(i,a,b) for(int i ...
- Genymotion安装apk问题
Genymotion安装apk时,出现如下错误: 问题原因分析:很多apk使用arm架构的 cpu,在x86上安装会存在问题. 解决办法: 在Genymotion模拟器上安装一个能够解析ARM架构的a ...
- 【刷题-LeetCode】223. Rectangle Area
Rectangle Area Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectang ...