System 、Date、Math和Calendar API学习**
System类*
package am;
import java.util.Arrays;
import java.util.Scanner;
/**
*
* System 类
*
*
*/
public class SystemDemo {
public static void main(String[] args){
//System 类的属性: out in err
//out 系统输出
System.out.println("系统输出");
//in 系统输入
Scanner input = new Scanner(System.in);
//err 系统错误输出
System.out.println("系统错误输出");
//当前系统时间 1970年1月1日自今的毫秒数
System.out.println(System.currentTimeMillis());
int[] arrs = new int[]{5,48,68,45};
//复制数组
int[] arrs1 = new int[arrs.length];
//复制数组1 for循环遍历
//复制数组2
int[] arrs2 = Arrays.copyOf(arrs1, arrs.length);
//复制数组3
System.arraycopy(arrs1, 0, arrs1, 0, 3);
//Arrays 中的方法 数组排序
Arrays.sort(arrs);
System.out.println(Arrays.toString(arrs));
//退出java虚拟机
for(int i = 0; i < 100; i++){
if(i == 2){
System.exit(-1);
}
System.out.println(i);
}
//System.gc() 系统垃圾回收
/*
* 系统垃圾: 无用的变量,对象,执行结束的方法。
* GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),
* 内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,
* Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,
* Java语言没有提供释放已分配内存的显示操作方法。
* Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。
* 垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,
* 不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,
* 程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,
* 增量垃圾回收。
*
* 程序员不用关注系统垃圾回收,也不用去调用System.gc()方法。系统在空闲时,会自动回收无用的变量,对象,或其他空间。
*/
}
}
package pm1;
/**
*
* Date 日期类
*/
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class DateDemo {
public static void main(String[] args) {
//格林威治时间
System.out.println(System.currentTimeMillis());
Date date = new Date();
System.out.println(date);
System.out.println("毫秒:"+date.getTimezoneOffset());
//通过date获取年月日,时分秒
System.out.println("年:"+date.getYear());
System.out.println("月:"+date.getMonth());
System.out.println("日:"+date.getDate());
System.out.println("星期:"+date.getDay());
System.out.println("小时:"+date.getHours());
System.out.println("分钟:"+date.getMinutes());
System.out.println("秒:"+date.getSeconds());
System.out.println("毫秒:"+date.getTime());
//格式化时间
//最短
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,Locale.CHINA);
System.out.println(df.format(date)+"**");
//
DateFormat df1 = DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA);
System.out.println(df1.format(date));
//最全
DateFormat df2 = DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINA);
System.out.println(df2.format(date));
}
}
package pm1;
/**
* Math 数学类
*
*/
import java.util.UUID;
public class MathDemo {
public static void main(String[] args) {
//圆周率
System.out.println(Math.PI);
System.out.println(Math.E);
//abs 绝对值
System.out.println(Math.abs(1));
System.out.println(Math.abs(-1));
System.out.println(Math.abs(1.0));
//ceil 向上取值整数,结果为double类型
System.out.println(Math.ceil(1.1));
System.out.println(Math.ceil(1.5));
System.out.println(Math.ceil(-1.1));
//floor 向下取值整数,结果为double类型
System.out.println(Math.floor(1.9));
System.out.println(Math.floor(-1.2));
//max 取大值 min 取小值
System.out.println(Math.max(15.2,15.7));
System.out.println(Math.min(15.2, 15.7));
//round 四舍五入
System.out.println(Math.round(10.4));
//rint 大于5向上取值,小于=5向下取值
System.out.println(Math.rint(10.5));
//随机数
System.out.println(Math.random());
//用回id
System.out.println(UUID.randomUUID().toString());
}
}
package pm1;
import java.util.Calendar;
/**
*
* 日历类
*
*
*/
public class CalendarDeome {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Calendar calendar1 = Calendar.getInstance();
System.out.println(calendar);
//获取calendar中的属性
System.out.println("年:"+calendar.get(Calendar.YEAR));
System.out.println("月:"+calendar.get(Calendar.MONDAY));
System.out.println("日:"+calendar.get(Calendar.YEAR));
System.out.println("本月第几周:"+calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("星期:"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("小时:"+calendar.get(Calendar.HOUR));
System.out.println("分:"+calendar.get(Calendar.MINUTE));
System.out.println("秒:"+calendar.get(Calendar.SECOND));
System.out.println("毫秒:"+calendar.get(Calendar.MILLISECOND));
//通过格式化,得到时间
System.out.println(SimpleDateFormatUtil.format(calendar.getTimeInMillis(), "yy-MM-dd"));
//清除时间的设定
calendar.clear();
System.out.println(SimpleDateFormatUtil.format(calendar.getTimeInMillis(), "yy-MM-dd"));
//构造时间
calendar.set(2019, 10, 28);
calendar1.set(2019, 5, 10);
System.out.println(SimpleDateFormatUtil.format(calendar.getTimeInMillis(), "yy-MM-dd"));
//after before 比较时间先后
System.out.println(calendar.after(calendar1));
System.out.println(calendar.before(calendar1));
//add 添加时间 月数超过12年数加1
calendar.add(Calendar.YEAR, 5);
calendar.add(Calendar.MONDAY, 4);
System.out.println(SimpleDateFormatUtil.format(calendar.getTimeInMillis(), "yy-MM-dd"));
//roll 滚动时间 月数超过12年数不变
calendar1.roll(Calendar.YEAR, 1);
calendar1.roll(Calendar.MONDAY, 9);
System.out.println(SimpleDateFormatUtil.format(calendar1.getTimeInMillis(), "yy-MM-dd"));
}
}