java常用类解析一,小白进阶必备!

Random

让系统产生随机数使用

0~9的随机数 (int)(Math.random()*10);

0~999的随机数 (int)(Math.random()*1000);

a~b的随机数 (int)(Math.random()*(b-a));

其实Math的random方法用的就是util包中的Random类

因此可以Random.nextDouble()替换Math.random(), 但是这样说不太准确

Calendar类

有时为了取得更多的日期时间信息,或对日期时间进行操作,可以使用java.util.Calendar类,Calendar是一个抽象类,不能实例化,但是通过静态工厂方法getInstance()获得Calendar实例。

Calendar类的主要方法:

static Calendar getInstance():使用默认时区和语言环境获得一个日历。

void set(int field, int value):将给定的日历字段设置为给定值。

void set(int year,int month,int date):设置日历字段YEAR、MONTH和DAY_OF_MONTH的值。

Date getTime():返回一个表示此Calendar时间值(从1970年1月1日00:00:00至现在的毫秒数)的Date对象。

boolean after(Object when):判断此Calendar表示的时间是否在指定时间之后,返回判断结果。

boolean before(Object when):判断此Calendar表示的时间是否在指定时间之前,返回判断结果。

int compareTo(Calendar anotherCalendar):比较两个Calendar对象表示的时间值。

java常用类解析一,小白进阶必备!_第1张图片
java技术学习qun:59,789,1510进群免费送java系统学习视频!

java.lang.Math

Java语言是彻底地面向对象语言,哪怕是进行数学运算也封装到一个类中的,这个类是java.lang.Math,Math类是final的不能被继承。Math类中包含用于进行基本数学运算的方法,如指数、对数、平方根和三角函数等。这些方法分类如下:

舍入方法

static double ceil(double a):返回大于或等于a最小整数。

static double floor(double a):返回小于或等于a最大整数。

static int round(float a):四舍五入方法。

最大值和最小值

static int min(int a, int b):取两个int整数中较小的一个整数。

static int min(long a, long b):取两个long整数中较小的一个整数。

static int min(float a, float b):取两个float浮点数中较小的一个浮点数。

static int min(double a, double b):取两个double浮点数中较小的一个浮点数。

max方法取两个数中较大的一个数,max方法与min方法参数类似也有4个版本,这里不再赘述。

绝对值

static int abs(int a):取int整数a的绝对值。

static long abs(long a):取long整数a的绝对值。

static float abs(float a):取float浮点数a的绝对值。

static double abs(double a):取double浮点数a的绝对值。

三角函数:

static double sin(double a):返回角的三角正弦。

static double cos(double a):返回角的三角余弦。

static double tan(double a):返回角的三角正切。

static double asin(double a):返回一个值的反正弦。

static double acos(double a):返回一个值的反余弦。

static double atan(double a):返回一个值的反正切。

static double toDegrees(double angrad):将弧度转换为角度。

static double toRadians(double angdeg):将角度转换为弧度。

对数运算:static double log(double a),返回a的自然对数。

平方根:static double sqrt(double a),返回a的正平方根。

幂运算:static double pow(double a, double b),返回第一个参数的第二个参数次幂的值。

计算随机值:static double random(),返回大于等于 0.0 且小于 1.0随机数。

常量

圆周率PI, 自然对数的底数E。

大数值

对货币等大值数据进行计算时,int、long、float和double等基本数据类型已经在精度方面不能满足需求了。为此Java提高了两个大数值类:BigInteger和BigDecimal,这里两个类都继承自Number抽象类。

java常用类解析一,小白进阶必备!_第2张图片
java技术学习qun:59,789,1510进群免费送java系统学习视频!

BigInteger

java.math.BigInteger是不可变的任意精度的大整数。BigInteger构造方法有很多,其中字符串参数的构造方法有两个:

BigInteger(String val):将十进制字符串val转换为BigInteger对象。

BigInteger(String val, int radix):按照指定基数radix将字符串val转换为BigInteger对象。

BigInteger提供多种方法,下面列举几个常用的方法:

int compareTo(BigInteger val):将当前对象与参数val进行比较,方法返回值是int,如果返回值是0,则相等;如果返回值小于0,则此对象小于参数对象;如果返回值大于0,则此对象大于参数对象。

BigInteger add(BigInteger val):加运算,当前对象数值加参数val。

BigInteger subtract(BigInteger val):减运算,当前对象数值减参数val。

BigInteger multiply(BigInteger val):乘运算,当前对象数值乘参数val。

BigInteger divide(BigInteger val):除运算,当前对象数值除以参数val。

BigDecimal

java.math.BigDecimal是不可变的任意精度的有符号十进制数。BigDecimal构造方法有很多:

BigDecimal(BigInteger val):将BigInteger对象val转换为BigDecimal对象。

BigDecimal(double val):将double转换为BigDecimal对象,参数val是double类型的二进制浮点值准确的十进制表示形式。

BigDecimal(int val):将int转换为BigDecimal对象。

BigDecimal(long val):将long转换为BigDecimal对象。

BigDecimal(String val):将字符串表示数值形式转换为BigDecimal对象。

BigDecimal提供多种方法,下面列举几个常用的方法:

int compareTo(BigDecimal val):将当前对象与参数val进行比较,方法返回值是int,如果返回值是0,则相等;如果返回值小于0,则此对象小于参数对象;如果返回值大于0,则此对象大于参数对象。

BigDecimal add(BigDecimal val):加运算,当前对象数值加参数val。

BigDecimal subtract(BigDecimal val):减运算,当前对象数值减参数val。

BigDecimal multiply(BigDecimal val):乘运算,当前对象数值乘参数val。

BigDecimal divide(BigDecimal val):除运算,当前对象数值除以参数val。

BigDecimal divide(BigDecimal val, int roundingMode):除运算,当前对象数值除以参数val。roundingMode要应用的舍入模式。

java常用类解析一,小白进阶必备!_第3张图片
java技术学习qun:59,789,1510进群免费送java系统学习视频!

日期时间相关类

Java 8之前日期类是java.util.Date,Date类比较古老,其中的很多方法现在已经废弃了,但是目前仍然有很多程序还在使用Date类。

此外,Java 8之前与日期时间相关类还有DateFormat、Calendar和TimeZone,DateFormat用于日期格式化,Calendar日历类,TimeZone是时区类。

日期格式化和解析

日期格式化类是java.text.DateFormat,DateFormat是抽象类,它的常用具体类是java.text.SimpleDateFormat。

DateFormat中提供日期格式化和日期解析方法,具体方法说明如下:

String format(Date date):将一个Date格式化为日期/时间字符串。

Date parse(String source):从给定字符串的开始解析文本,以生成一个日期对象。如果解析失败则抛出ParseException。

另外,具体类是SimpleDateFormat构造方法如下:

SimpleDateFormat():用默认的模式和默认语言环境的日期格式符号构造SimpleDateFormat。

SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。pattern参数是日期和时间格式模式,下表所示是常用的日期和时间格式模式。

java常用类解析一,小白进阶必备!_第4张图片
java技术学习qun:59,789,1510进群免费送java系统学习视频!

Java 8新日期时间相关类

Java 8之后提供了新的日期时间相关类、接口和枚举,这些类型内容非常多,令人生畏。但是使用起来非常方便。

ava 8之后提供了新的日期时间类有三个:LocalDate、LocalTime和LocalDateTime,它们都位于java.time包中,LocalDate表示一个不可变的日期对象;LocalTime表示一个不可变的时间对象;LocalDateTime表示一个不可变的日期和时间。

这三个类有类似的方法,首先先看看创建日期时间对象相关方法,这三个类并没有提供公有的构造方法,创建它们对象可以使用静态工厂方法,主要有now()和of()方法。

now()方法说明如下:

static LocalDate now():LocalDate静态工厂方法,该方法使用默认时区获得当前日期,返回LocalDate对象。

static LocalTime now():LocalTime静态工厂方法,该方法使用默认时区获得当前时间,返回LocalTime对象。

static LocalDateTime now():LocalDateTime静态工厂方法,该方法使用默认时区获得当前日期时间,返回LocalDateTime对象。

of()方法有很多重载方法,说明如下:

static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second):按照指定的年、月、日、小时、分钟和秒获得LocalDateTime实例,将纳秒设置为零。

static LocalTime of(int hour, int minute, int second):按照指定的小时、分钟和秒获取一个LocalTime实例。

static LocalDate of(int year, int month, int dayOfMonth):按照指定的年、月和日获得一个LocalDate实例,日期中年、月和日必须有效,否则将抛出异常。

java常用类解析一,小白进阶必备!_第5张图片
java技术学习qun:59,789,1510进群免费送java系统学习视频!

日期格式化和解析

Java 8提供的日期格式化类是java.time.format.DateTimeFormatter,DateTimeFormatter中本身没有提供日期格式化和日期解析方法,这些方法还是由LocalDate、LocalTime和LocalDateTime提供的。

日期格式化

日期格式化方法是format,这三个类每一个都有String format(DateTimeFormatter formatter),参数formatter是DateTimeFormatter类型。

日期解析

日期解析方法是parse,这三个类每一个都有两个版本的parse方法,具体说明如下:

static LocalDateTime parse(CharSequence text):使用默认格式,从一个文本字符串获取一个LocalDateTime实例,如2007-12-03T10:15:30。

static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter):使用指定格式化,从文本字符串获取LocalDateTime实例。

static LocalDate parse(CharSequence text):使用默认格式,从一个文本字符串获取一个LocalDate实例,如2007-12-03。

static LocalDate parse(CharSequence text, DateTimeFormatter formatter):使用指定格式化,从文本字符串获取LocalDate实例。

static LocalTime parse(CharSequence text):使用默认格式,从一个文本字符串获取一个LocalTime实例。

static LocalTime parse(CharSequence text, DateTimeFormatter formatter):使用指定的格式化,从文本字符串获取LocalTime实例。

格式化类DateTimeFormatter对象是通过ofPattern(String pattern)获得,其中pattern是日期和时间格式模式,具体说明参考上上表。

你可能感兴趣的:(java常用类解析一,小白进阶必备!)