包名:java.lang.Math
静态常量 Math.E 自然对数 Math.PI 圆周率π静态方法 public class Test { public static void main(String[] args) { System.out.println(Math.random()); //随机 0.19307811007972298 System.out.println(Math.abs(-1)); //绝对值 1 System.out.println(Math.cbrt(27)); //开立方 3.0 System.out.println(Math.ceil(1.3)); //向上取整 2.0 System.out.println(Math.floor(1.7)); //向下取整 1.0 System.out.println(Math.max(1.3,1.5)); //取大值 1.5 System.out.println(Math.min(1.3,1.5)); //取小值 1.3 System.out.println(Math.pow(2,2)); //2^2 4.0 System.out.println(Math.round(2.5)); //四舍五入 3 System.out.println(Math.sqrt(4)); //开平方 2.0 } }包名:java.lang.System
常用字段 System.in:标准输入流 System.out:标准输出流 System.err:标准错误流常用方法 System.exit(int statues):结束JVM虚拟机,statue为0表示正常结束 System.gc():建议虚拟机启动垃圾回收,垃圾回收算法有,计时数算法,可欲达算法,复制算法. System.currentTimeMillis():返回long类型的1900年8:00到现在的毫秒数 //比较String,StringBuilder,StringBuffer的拼接速度 public class Test2 { public static void main(String[] args) { str1(); //String:490 str2(); //StringBuilder:0 str3(); //StringBuffer:1 } public static void str1(){ String str = ""; long start = System.currentTimeMillis(); for(int i=0;i<10000;i++){ str += i; } long end = System.currentTimeMillis(); System.out.println("String:"+(end-start)); } public static void str2(){ StringBuilder str = new StringBuilder(); long start = System.currentTimeMillis(); for(int i=0;i<10000;i++){ str.append(i); } long end = System.currentTimeMillis(); System.out.println("StringBuilder:"+(end-start)); } public static void str3(){ StringBuffer str = new StringBuffer(); long start = System.currentTimeMillis(); for(int i=0;i<10000;i++){ str.append(i); } long end = System.currentTimeMillis(); System.out.println("StringBuffer:"+(end-start)); } }包名:java.util.Date
构造方法: Date():表示当前时间 Date(long time):表示1970-01-01 8:00加上time毫秒之后的时间 public class Test { public static void main(String[] args) { Date date = new Date(0); System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date)); } } //1970-01-01 08:00:00 成员方法 after(Date date):比较时间是否在date之后 before(Date date):比较时间是否在date之前 getTime():获取时间的毫秒数 setTime(long time):设置毫秒数包名:java.text.SimpleDateFormat 抽象父类:java.text.DateFormat
构造方法: SimpleDateFormat():以默认格式创建格式化对象 SimpleDateFormat(String pattern):以pattern格式创建格式化对象成员方法 format(Date date):以格式化对象规定的格式,格式化输出date的字符串 parse(String str):以格式化对象规定的格式输入时间,方法将返回对应的Date对象 //输入时间到现在的天数 public class Test1 { public static void main(String[] args) throws ParseException { Scanner input = new Scanner(System.in); String dateStr = input.next(); Date sdf = new SimpleDateFormat("yyyy-MM-dd").parse(dateStr); long otime = sdf.getTime(); long ntime = System.currentTimeMillis(); long day = (ntime-otime)/1000/60/60/24; long year = day/365; System.out.println(day+"\t"+year); } }包名:java.util.Calendar Calendar是一个抽象类,不能直接实例化
Calendar cal = Calendar.getInstance(); get()方法 int get(int filed):filed是标志,filed为1时,返回的是年数,不过filed不太好记,可以使用Calendar的静态常量,Calendar.YEAR等于1. public class Test { public static void main(String[] args) throws ParseException { Calendar cal = Calendar.getInstance(); Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2019-10-31"); cal.setTime(date); int day = cal.get(Calendar.DAY_OF_WEEK); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int mday = cal.get(Calendar.DAY_OF_MONTH); System.out.println((day-1)); //4 System.out.println(year+" "+month+" "+mday); //2019 10 31 } }set()方法 void set(int filed,int value):使用value设置filed代表的字段 void set(int year, int month, int date):设定年月日 void set(int year, int month, int date, int hourOfDay, int minute, int second) 设定年月日,时分秒
add()方法 void add(int field, int amount):给filed代表的字段加上amount,amount可为负数