1. System类
- 概述
- System类包含一些有用的字段和方法 他不能被实例化
- 无参构造为private修饰 无法调用
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(input.nextInt());
System.err.println(input.nextInt());
}
}
public class Demo02_System {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
int[] newarr = new int[4];
System.arraycopy(arr, 0, newarr, 0, arr.length);
newarr[3] = 4;
arr= newarr;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
2. Date类的概述
- 概述
- 表示特定的一瞬间 精确到毫秒
- 构造器
- 有参
- 无参
- 成员方法
- get
- set
3. SimpleDateFormat类概述
- Format
- 是一个用于格式化语言环境敏感信息(日期消息数字)的抽象基类
- DateFormat
- 用于格式化日期/时间的抽象类
- 构造方法
- 有参
- 无参
- 成员方法
- format
- parse
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo04_SimpleDateFormat {
public static void main(String[] args) throws ParseException {
SimpleDateFormat date = new SimpleDateFormat();
//默认的格式 格式化
Date date1 = new Date();
String dataStr1 = date.format(date1);
System.out.println(dataStr1);
//解析
String dateStr2 = "20-7-20 上午11:49";
Date date2 = date.parse(dateStr2);
System.out.println(date2);
String pattern = "yyyy--MM--dd HH:mm:ss";
SimpleDateFormat date3 = new SimpleDateFormat(pattern);
System.out.println(date3.format(new Date()));
}
}
4. 案例 你来到这个世界多少天
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Demo05_live {
public static void main(String[] args) throws ParseException {
Scanner input = new Scanner(System.in);
String birthday = input.next();
String now = input.next();
SimpleDateFormat si = new SimpleDateFormat("yyyy年MM月dd日");
//解析
Date birthdayDate = si.parse(birthday);
Date nowDate = si.parse(now);
long birthdayTime = birthdayDate.getTime();
long nowTime = nowDate.getTime();
long flag = (nowTime - birthdayTime)/1000/60/60/24;
System.out.println(flag);
System.out.println(flag/30);
System.out.println(flag/365);
}
}
5. calendar类的概述
-
概述
- calendar类是一个抽象类 它为日期 时间等日历字段转换和操作提供了一些方法
-
方法
- public static Calendar getInstance()
- public int get(int field)
-
常用字段
- MONTH 第一个月为0
- DAYOFWEEK 每周的第一天是星期天
import java.util.Calendar; public class Demo06_Calendar { public static void main(String[] args) { //多态调用 Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int day = cal.get(Calendar.DAY_OF_MONTH); int h = cal.get(Calendar.HOUR_OF_DAY); int m = cal.get(Calendar.MINUTE); int s = cal.get(Calendar.SECOND); int week = cal.get(Calendar.DAY_OF_WEEK) - 1; System.out.println(year + "年" + month + "月" + day + "日" + " " + "星期" + week); System.out.println(h + ":" + m + ":" + s ); } }
6. calendar类add()方法和set()方法
import java.util.Calendar;
public class Demo07_Calendar {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(2200, 2, 20, 18, 32, 55);
System.out.println(cal.get(Calendar.YEAR) + "年" + cal.get(Calendar.MONTH) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日");
System.out.println(cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND) );
//年份-1
cal.add(Calendar.YEAR, -1);
System.out.println(cal.get(Calendar.YEAR) + "年" + cal.get(Calendar.MONTH) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日");
System.out.println(cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND) );
//年份-5
cal.add(Calendar.YEAR, -5);
System.out.println(cal.get(Calendar.YEAR) + "年" + cal.get(Calendar.MONTH) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日");
System.out.println(cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND) );
}
}
7. 判断平年闰年 两种方法
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class Demo08_Calendar {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//创建GregorianCalendar对象
GregorianCalendar gre = new GregorianCalendar();
int year = input.nextInt();
Calendar cal = Calendar.getInstance();
cal.set(year, 2, 1);
cal.add(Calendar.DAY_OF_MONTH, -1 );
if(cal.get(Calendar.DAY_OF_MONTH) == 28) {
System.out.println("平年");
}else {
System.out.println("闰年");
}
//调用方法
System.out.println(gre.isLeapYear(year));
}
}
8. 集合的由来
-
数组长度是固定的 扩容又很麻烦 集合应运而生 他能存储任意对象 并能很轻松的扩容
-
数组和集合的区别
区别1 :
数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用
数据类型存储的是地址值
集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会
自动装箱变成对象
区别2:
数组长度是固定的,不能自动增长
集合的长度的是可变的,可以根据元素的增加而增长
9. Collection
import java.util.ArrayList;
import java.util.Collection;
public class Demo09_Collection {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add(123);
c.add(1);
System.out.println(c);
//移除指定元素
c.remove(1);
System.out.println(c);
//清除集合中的全部元素
// c.clear();
// System.out.println(c);
//如果集合中包含该数 则返回true
System.out.println(c.contains(123));
//判断集合是否为空
System.out.println(c.isEmpty());
//返回集合的长度
System.out.println(c.size());
}
}
10. 集合的遍历
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
/**
* 集合转换成数组遍历
* @author MACHENIKE
*
*/
public class Demo10_Collection {
public static void main(String[] args) {
Collection col = new ArrayList();
col.add(1);
col.add(2);
col.add(3);
Object[] arr = col.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
11. Collection集合的带All功能测试
import java.util.ArrayList;
import java.util.Collection;
public class Demo11_CollectionaAll {
public static void main(String[] args) {
Collection col = new ArrayList();
col.add(1);
col.add(2);
col.add(3);
Collection col1 = new ArrayList();
col1.add(4);
col1.add(5);
col1.add(6);
col.addAll(col1);
System.out.println(col);
col1.removeAll(col1);
System.out.println(col1);
//如果col中包含col1中的全部元素 则返回true
System.out.println(col.containsAll(col1));
System.out.println(col.retainAll(col1));
}
}
12. 集合的迭代遍历
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo12_iterator {
public static void main(String[] args) {
Collection col = new ArrayList();
col.add("1");
col.add("2");
col.add("3");
col.add("4");
col.add("5");
Iterator it = col.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}