小白学习java第15天calendar collection System

15 篇文章 0 订阅
2 篇文章 0 订阅

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());
		} 
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ijava'pdax

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值