文章目录
1、与用户互动
public static void main(String[] args) {…}为什么采用这个方法签名?
public:Java类由JVM调用,为了让JVM自由调用这个main()方法,所以使用public修饰。 static修饰符:JVM调用main()方法时,不会先创建该主类的对象,然后通过对象来调用main()方法。JVM直接通过该类调用main()方法,因此使用static修饰。
void返回值:因为主方法被JVM调用,该方法的返回值将返回给JVM,这没有任何意义。
String[] args 字符串形参:由JVM负责赋值。
Scanner获取键盘输入
Scanner sc=new Scanner(System.in);//System.in是字节流
sc.useDelimiter("\n");
2、系统相关
System类
Runtime类
Runtime rt=Runtime.getRuntime();
rt.availableProcessors();//处理器数量
rt.freeMemory();//空闲内存数
rt.totalMemory();//总内存数
rt.maxMemory();//可用最大内存数
3、常用类
Object类
String、StringBuffer和StringBuilder类
ThreadLocalRandom和Random类
BigDecimal类
Calendar类
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
Date date=calendar.getTime();//Calendar和Date可以自由转换
//可以获取年月日时分秒
System.out.println(calendar.get(Calendar.YEAR));//获取年
System.out.println(calendar.get(Calendar.MONTH));//获取月
System.out.println(calendar.get(Calendar.DATE));//获取日
calendar.set(2003,10,23,12,34,23);
System.out.println(calendar.getTime());//输出:Sun Nov(11) 23 12:34:23 CST 2003,月份从0开始
//add修改月份超出11,会向年自动进位,修改日不会进位
calendar.add(Calendar.YEAR,1);//add(int field,int amount)
System.out.println(calendar.getTime());//输出:Sun Nov 23 12:34:23 CST 2004
//roll修改月份超出11,不会向年自动进位,修改日不会进位
calendar.roll(Calendar.YEAR,-1);//roll(int field,int amount)
System.out.println(calendar.getTime());//输出:Sun Nov 23 12:34:23 CST 2003
//容错性
calendar.setLenient(false);//关闭容错性
calendar.set(Calendar.MONTH,13);
System.out.println(calendar.getTime());//运行时出错
}
DateTimeFormatter完成格式化
调用LocalDate、LocalTimeDate、LocalTime等日期、时间的对象的format来格式化日期、时间。
public static void main(String[] args) {
DateTimeFormatter[] dateTimeFormatter=new DateTimeFormatter[]{
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL,FormatStyle.MEDIUM),
DateTimeFormatter.ofPattern("Gyyyy&&MMM&&dd HH:mm:ss")
};
LocalDateTime localDateTime=LocalDateTime.now();
System.out.println(localDateTime.format(dateTimeFormatter[0]));//2020年3月17日 星期二 19:47:28
System.out.println(localDateTime.format(dateTimeFormatter[1]));//公元2020&&三月&&17 19:47:28
}
解析日期、时间字符串:
String string="2020\\03\\07 19:53";
DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy\\MM\\dd HH:mm");//定义解析
LocalDateTime dateTime=LocalDateTime.parse(string,formatter);//执行解析,MMM:大写三月,MM:03
System.out.println(dateTime);//2020-03-07T19:53