紧接着正则表达式的学习,可以前往这里回顾一下。https://blog.csdn.net/zoweiccc/article/details/78089467
对于一些常见类的学习,对他们构造方法和一些常用的方法进行学习。从而使在开发的过程,效率更高。
package pra_08;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
public class J_16 {
public static void main(String[] args) throws ParseException {
math(); //Math类的使用
random(); //Random类的使用
//System类
for(int i=0;i<100;i++){
new Finalize();
System.gc(); //运行垃圾回收器
}
//System.exit(0); //非0状态是异常终止,退出jvm
System.out.println("aaaa");//执行不到这一步
long start=System.currentTimeMillis(); //获取当前时间的毫秒值
for(int i=0;i<1000;i++){
System.out.println(i);
}
long end=System.currentTimeMillis();
System.out.println(end-start);
int[] src={1,2,3,4,5,6,7};
int[] dest=new int[8];
System.arraycopy(src, 0, dest, 0,src.length);
//从src的第0个元素开始向dest(从这个的第0个位置开始拷贝)拷贝src.length个元素。
//BigInteger类的使用,大数类
BigInteger big=new BigInteger("302");
BigInteger big2=new BigInteger("231");
System.out.println(big.add(big2));
System.out.println(big.subtract(big2));
System.out.println(big.multiply(big2));
System.out.println(big.divide(big2));
BigInteger[] arr=big.divideAndRemainder(big2);
//求%的运算,返回的是一个数组,取得是除数和余数
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]); //1和71
}
//BigDecimal类的使用,精度高一点的小数
BigDecimal bd=new BigDecimal(23.0);
BigDecimal bd2=new BigDecimal(2.9);
System.out.println(bd.subtract(bd2)); //这种方式不够精确
BigDecimal bd3=new BigDecimal("23.0");
BigDecimal bd4=new BigDecimal("2.9"); //通过构造中传入字符串的方式,精确更高一点
System.out.println(bd3.subtract(bd4));
BigDecimal bd5=BigDecimal.valueOf(23.0);
BigDecimal bd6=BigDecimal.valueOf(2.9);
System.out.println(bd5.subtract(bd6)); //这种方式也可以,精度很高
//Date类的使用
Date d1=new Date(); //空参构造,没传参数,表示当前时间
System.out.println(d1); //Thu Sep 13 18:48:22 CST 2018
Date d2=new Date(0); //参数传为0
System.out.println(d2); //Thu Jan 01 08:00:00 CST 1970
Date d3=new Date();
System.out.println(d3.getTime()); //通过时间对象获取毫秒值
Date d4=new Date();
d4.setTime(1000); //设置毫秒值,改变时间对象
System.out.println(d4);
//SimpleDateFormat类实现日期和字符串的相互转换(日期格式化类)
Date d5=new Date(); //获取当前时间对象
SimpleDateFormat sdf=new SimpleDateFormat(); //获取日期格式化类对象
System.out.println(sdf.format(d5)); //18-9-13 下午7:11
Date d6=new Date();
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//创建日期格式化对象
System.out.println(sdf2.format(d6));
//将时间字符串转换成日期对象
String str2="2018年05月20日 08:05:20";
SimpleDateFormat sdf3=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d7=sdf3.parse(str2);
//将时间字符串转换成日期对象
System.out.println(d7);
//Calendar类日历类方法的实现
Calendar ca=Calendar.getInstance();
//抽象类还能用,说明父类引用指向子类对象
System.out.println(ca.get(Calendar.YEAR));
//get()函数的参数 2018
System.out.println(ca.get(Calendar.MONTH));
//get()函数的参数 8 从0开始编号,实际上是9
System.out.println(ca.get(Calendar.DAY_OF_MONTH));
//add()和set()方法
Calendar ca2=Calendar.getInstance();
ca2.add(Calendar.YEAR, 1); //year加+1
System.out.println(ca2.get(Calendar.YEAR));
ca2.set(Calendar.YEAR, 1998); //修改指定字段
System.out.println(ca2.get(Calendar.YEAR));
ca2.set(2000, 7, 8); //设置2000:7 :8
System.out.println(ca2.get(Calendar.MONTH));
}
//Math类的使用
public static void math(){
System.out.println(Math.PI);
System.out.println(Math.abs(-10));
System.out.println(Math.ceil(12.4)); //向上取整
//System.out.println(Math.floor("13.2")); //向下取整
System.out.println(Math.max(1, 3)); //获取最大值
System.out.println(Math.min(3, 4)); //获取最小值
System.out.println(Math.pow(2, 3)); //2的3次方
System.out.println(Math.random()); //生成[0,1)之间的小数
System.out.println(Math.round(12.5)); //四舍五入
System.out.println(Math.sqrt(4)); //开方
}
//Random类的使用
public static void random(){
Random ran=new Random();
int x=ran.nextInt();
int z=ran.nextInt(100); //生成的数字在0到99之间
System.out.println(x);
System.out.println(z);
Random ran2=new Random(1000); //调用种子生成的随机数,调用两遍值还是不变
int y=ran2.nextInt();
System.out.println(y);
}
}
class Finalize{
protected void finalize() {
System.out.println("垃圾清扫完毕");
}
}