学习目标:
掌握API相关知识学习内容:
1、 System类 2、 Date类和Calendar类 3、 SimpleDateFormat类 4、 BigInteger 5、 BigDecimal学习时间:
2021年5月23日学习产出:
提示:这里统计学习计划的总量
例如:
1、 技术笔记 1 遍
2、CSDN 技术博客 1 篇
System类
最常用到的就是out,其中out是PrintStream类的属性System类继承PrintStream类
//PrintStream out
// out.println();
System.out.println("11");
同理 ,这是一种类的继承,Person类继承Phone类
public class Pserson {
static Phone phone;
}
public class Phone {
static String no;
}
public static void main(String[] args) {
System.out.println(Pserson.phone.no);
}
System 里面包含了一些对于系统信息相关的方法
System.exit(0);//退出,停止虚拟机
long a = System.currentTimeMillis();//1621735853158 自1970-1-1 0:0:0 至 程序运行时那一刻的时间差
for (int i = 0; i < 1000000; i++) {
System.out.println(i);
}
System.out.println(System.currentTimeMillis()-a);//计算出程序运行的时间差
System.out.println(System.getenv());
System.out.println(System.getenv("Path"));//系统的环境变量
两种复制到数组
第一种Arrays方法
int [] a = {1,2,3,4,5};
int[] ints = Arrays.copyOf(a, 10);//返回一个指定长度的新数组,把原数组的值填充进去
System.out.println(Arrays.toString(ints));
第二种System方法
int [] a = {1,2,3,4,5};
int [] b = new int[10];
/*
src 原数组
srcpos 原数组的起点
dest 目标数组
destpos 目标数组起点
length 要复制的数量
*/
System.arraycopy(a, 0, b, 4, a.length);
System.out.println(Arrays.toString(b));
Date类和Calendar类
使用Date类代表当前系统时间
Date d = new Date();
Date d = new Date(long d);
Date date = new Date();// 创建一个日期对象,里面包含程序运行时那一刻的时间
System.out.println(date.getYear()+1900);//获得年 过期方法 可以使用 只是官方不推荐
System.out.println(date.getMonth()+1); // 0开始
System.out.println(date.getDate()); //月中的第几天
System.out.println(date.getDay()); //周中的第0天 从0开始 0-星期天
System.out.println(date.getHours());
System.out.println(date.getMinutes());
System.out.println(date.getSeconds());
System.out.println(date.getTime());
Date date = new Date(1621735853158L);
date.setMonth(7);
System.out.println(date.getMonth()+1);
System.out.println(date.getHours());
System.out.println(date.getMinutes());
System.out.println(date.getSeconds());
System.out.println(date); //Sun May 23 10:10:53 CST 2021
System.out.println(date.toLocaleString()); //根据本地区习惯输出一个字符串格式的时间
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建
对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。
Calendar c1 = Calendar.getInstance();
//Calendar是抽象类 不能创建对象
//Calendar c = Calendar.getInstance();//返回的是子类对象
Calendar c = new GregorianCalendar();//直接new子类对象
//c.set(2002, 5, 10);
//System.out.println(c.getTime());
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
System.out.println(c.get(Calendar.DAY_OF_YEAR));
SimpleDateFormat类
SimpleDateFormat是日期格式化类
Date的输出格式
Date d = new Date();
System.out.println(d);//d.toString() Sun May 23 11:47:28 CST 2021
System.out.println(d.toLocaleString());//2021-5-26 19:55:56
SimpleDateFormat的输出格式
//日期格式化--把java中的对象型(new Date() Calendar ) 转为指定格式的字符
Date a = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS E");
String str = simpleDateFormat.format(a);
System.out.println(str);
//日期格式化--把字符串转为日期对象
String birthday = "1999-10-10";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d = simpleDateFormat.parse(birthday);
System.out.println(d.getYear()+1900);
System.out.println(d.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
BigInteger
BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而不会丢失任何信息。
/*
BigInteger 大整数 可以表示任意的整数
基本运算方法
加减乘除
add(),subtract(),multiply(),divide()
*/
BigInteger a = new BigInteger("1111111111111111111111111111111112222222222222222222222222211111111111111111");
BigInteger b = new BigInteger("111111111111111111111111111111111112222222222222222222222222111111111111119");
BigInteger c = a.add(b);
System.out.println(a);
System.out.println(b);
System.out.println(c);
BigDecimal
在计算机中不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。
/*double d = 10.5;
System.out.println(10.5-10.4);//10.5-10.4<0.1*/
BigDecimal a = new BigDecimal("1222222222222222222233333333333333333333333333333333222222222222222.5");
BigDecimal b = new BigDecimal("12.4");
System.out.println(a.subtract(b));