目录
三.Date类/Calendar类/ SimpleDateFormat类
一.Math类
abs 绝对值
sqrt 平方根
pow(double a, double b) a的b次幂
max(double a, double b)
min(double a, double b)
random() 返回 0.0 到 1.0 的随机数
long round(double a) double型的数据a转换为long型(四舍五入)
System.out.println(Math.PI);
System.out.println(Math.abs(-3));//绝对值
System.out.println(Math.sqrt(9));//开平方
System.out.println(Math.pow(2,3));//n的m次方
System.out.println(Math.floor(9.9));//9,向下取值
System.out.println(Math.ceil(9.1));//10,向上取值
System.out.println(Math.rint(9.5));//四舍五入
System.out.println(Math.max(5,6));//取最大值
System.out.println(Math.random());//返回 0.0 到 1.0 的随机数
二.Random类
1.Random类概述
此类用于产生随机数
2.使用
构造方法
public Random()
成员方法
public int nextInt()
public int nextInt(int n)
Random random = new Random();
System.out.println(random.nextBoolean());//随机出一个boolean类型
System.out.println(random.nextInt());
System.out.println(random.nextLong());
System.out.println(random.nextInt(5)+1);//取值为0---i-1之间
byte[]bytes = new byte[5];
random.nextBytes(bytes); //随机取出数组长度哥byte类型的函数
System.out.println(Arrays.toString(bytes));
三.Date类/Calendar类/ SimpleDateFormat类
1.Date类
使用Date类代表当前系统时间
Date d = new Date();
Date d = new Date(long d)
Date date = new Date(); //获取程序运行时的时间
System.out.println(date);
System.out.println(date.getTime());
/*
方法上有删除线,表示方法已弃用,有新的类代替,但是也可使用
*/
System.out.println(date.getDate());
System.out.println(date.getDay());
System.out.println(date.getYear());
2.Calendar类
概述
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建
对象的过程对程序员来说是透明的,只需要使用getInstance方法创建
即可
使用
Calendar calendar = Calendar.getInstance(); //GregorianCalendar
System.out.println(calendar);
//calendar.set(2024,3,11);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); // 月的第几天
System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //周的第几天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); //年的第几天
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); //年的第几周
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.getTimeInMillis());//1970年0.00到今的毫秒值
System.out.println(calendar.getTimeInMillis());
3.SimpleDateFormat 日期格式化类
构造方法
SimpleDateFormat(格式); // yyyy-MM-dd
使用
● 日期转字符串
Date now=new Date();
myFmt.format(now);
● 字符串转日期
myFmt.parse(“2018-02-10”);
字符串日期格式与 指定格式必须一致
例如:String s =
“2018-03-15”;
new SimpleDateFormat(“yyyy-MM-dd”)
/*
把字符串日期转为Date对象
*/
String s = "2022-2-3";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date date = sdf.parse(s);
System.out.println(date.getYear()+1900);
/*
把日期对象 转为 指定格式的字符串
*/
Date date1 = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String s1 = sdf1.format(date1);
System.out.println(s1.toString());
System.out.println(sdf1.format(date1));
四.BigInteger
概述
● 在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。
● 我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的
整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。
● BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意
精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而
不会丢失任何信息。
● BigInteger类位于java.math包中
● 构造方法
BigInteger(String val) /BigInteger(byte[] val) ... 基本运算方法
add(),subtract(),multiply(),divide()
五.BigDecimal
1.概述
● 在计算机中float 还是double都是浮点数,而计算机是二进制的,浮点数会失
去一定的精确度。
● 根本原因是:十进制浮点值没有完全相同的二进制表示形式;十进制浮点值的二进
制表示形式不精确,只能无限接近于那个值. System.out.println((0.1 + 0.2)==0.3);//结果是?
但是,在项目中,我们不可能让这种情况出现,特别是金融项目,因为涉及金
额的计算都必须十分精确
2.使用
• Java在java.math包中提供的API类BigDecimal
• 构造方法
BigDecimal(String val)
基本运算方法
add(),subtract(),multiply(),divide()