Date和Calendar类

简介

日期和日历类,用于操作日期相关信息。

构造方法

Date():

构造一个日期对象,当前系统时间,精确到毫秒。

Date(long):

构造一个日期对象,时间为自"1970年1月1日00:00:00GMT"起,至指定参数的毫秒数

成员方法

long getTime():

将日期对象转换成对应时间的毫秒值

static Calender getInstance():

根据当前系统时区和语言环境获取日历对象

int get(int field):

返回给定日历字段的值

void set(int field, int value):

将给定的日历字段设置为指定的值

 package cn.itcast.demo08;
 /*
 Calendar类:
      简介:
          日历类,用于操作日期相关的信息。
       成员方法:
           static Calendar setInstance():根据当前系统时区和语言环境获取日历对象
           int get(int field):返回给定日历字段的值
           void set(int field, int value):将给定的日历字段设置为指定的值
 ​
  */
 ​
 ​
 ​
 import java.util.Calendar;
 ​
 public class Test2 {
     public static void main(String[] args) {
         //抽象类不能new
         //创建Calendar类型的对象
         //在Java中表示月份数字是0-11
         Calendar c = Calendar.getInstance();
         System.out.println(c);
 ​
 ​
         //获取年月日信息
         int year = c.get(Calendar.YEAR);
         int month = c.get(Calendar.MONTH);//Java中使用0-11的数字表示月份,对应1-12月
         int day = c.get(Calendar.DATE);
         System.out.println(year + "年" + (month + 1) + "月"  + day +  "日");
         System.out.println("==========================");
 ​
         //设置指定时间为:2022年2月2日
        c.set(Calendar.YEAR ,2022);
         int year2 = c.get(Calendar.YEAR);
         System.out.println(year2 + "年" +(month + 1) + "月" + day + "日");
         System.out.println("========================");
         c.set(2022,1,2);
         //重新获取年月日的值
         int year3 = c.get(Calendar.YEAR);
         int month3 = c.get(Calendar.MONTH);
         int day3 = c.get(Calendar.DATE);
         System.out.println(year3 + "年" +(month3 + 1) + "月" + day3 + "日");
 ​
    }
 }
 ​

基本类型的包装类

简介

基本数据类型不是对象,所以Java针对基本类型提供了对应的包装类,以对象的形式来使用。

装箱

基本类型转包装类型(对象类型)

拆箱

包装类型(对象类型)转基本类型

成员方法

static 基本类型parseXxx(String):

将字符串类型的数据转换成对应的基本类型

 package cn.itcast.demo09;
 /*
 包装类:
    简介
       基本数据类型不是对象,所以java针对基本类型提供了对应的包装类,以对象的形式来使用。
       基本类型         对应的     包装类(可以理解为:就是引用类型)
       byte                     Byte
       short                     Short
       int                       Integer
       long                     Long
       char                     Character
       float                     Double
       boolean                   Boolean
     装箱
        基本类型转包装类型(对象类型)
     拆箱
        包装类型(对象类型)转基本类型
     成员方法
       static 基本类型paraseXxx(String):将字符串类型的数据转换成对应的基本类型
       例如:
          static int parseInt(String):将字符串类型的整数转换成对应的int类型的整数
      注意:
        除了Character类以外,其他的7种包装类都有paraseXxx()方法。
        因为如果字符串想转换成char类型的数据,可以通过:String类中的toCharArray().charAt();
 ​
 ​
  */
 ​
 public class Test {
     public static void main(String[] args) {
         //因为变量a属于基本类型,不能通过 对象名. 的形式调用方法
         //解决方案:将其转换成对应的 包装类(引用类型)即可
         int a = 10;
         //装箱
         Integer i1 = new Integer(20);
         //拆箱
         int b = i1.intValue();
         System.out.println(i1);
         System.out.println(b);
 ​
         //JDK5的新特性 自动拆装箱
         Integer i2 = 30;//装箱
         int c = i2;//拆箱
         System.out.println("===================");
 ​
 ​
 ​
 ​
         // 需求:将字符串类型的“10”,转换成int类型的10
         String s = "10";
         int num = Integer.parseInt(s);
         System.out.println("num: " + num);
         System.out.println("num + 100:" + (num
         + 100));
 ​
 ​
 ​
    }
 }
 ​

输出数据:

20

20

num: 10 num + 100:110

Process finished with exit code 0

集合简介

集合

简称集,是用来存储多个元素的容器

集合和数组的区别

元素类型:

集合:引用类型(存储基本类型时自动装箱)

数组:基本类型、引用类型

元素个数:

集合:不固定,可任意扩容

数组:固定,不能改变容量

集合的好处:

不受容器大小限制,可以随时添加、删除元素

提供了大量操作元素的方法(判断、获取等)

Java的集合体系

单列集合(Collection):

List:

ArrayList

Set:

HashSet

双列集合(Map: key,value):

Map:

HashMap

Collection Map List Set:都是接口

ArrayList HashSet HashMap:实现类

List 集合的特点

特点:

可重复、有序(存取顺序相同)

应用:

List list = new ArrayList();

案例: List集合的简单使用

需求:向List集合中添加三个元素,并遍历打印

分析:A. 向集合中添加元素的方法为:add()

B.遍历集合的方式:for循环

C.获取集合中元素个数的方法:size()

步骤:

1.创建集合对象:

List list = new ArrayList();

2.分别创建三个Student对象

3.使用add方法将Student对象添加到集合中

4.使用for循环遍历集合并打印

增强for循环和迭代器

简化数组和集合的遍历

增强for循环的格式:

 for(数据类型 变量名:数组或者集合对象){
 //循环体,变量即元素
 }
 package cn.itcast.demo011;
 /*
 增强for格式:
       for(元素的数据类型 变量名:要遍历的数组或者集合对象){
       //循环体 ,变量也就是元素
 ​
       增强for的快捷方式:
           iter----->回车
       注意:
          增强for的底层依赖的是迭代器(Iterator)
          增强for就是迭代器的简写形式
       }
  */
 ​
 import java.util.ArrayList;
 import java.util.List;
 ​
 public class Test {
     public static void main(String[] args) {
         //需求:通过增强for遍历List集合
 ​
 ​
         //1.创建集合对象
         List list = new ArrayList();
         //2.创建元素对象
         //3.将元素对象添加到集合对象中
         list.add(10);
         list.add(10);
         list.add(30);
         list.add(20);
         list.add(40);
 ​
 ​
         //4.遍历集合
         for(Object obj:list){
             //obj是集合中的元素,其本身应该是Integer类型的数据
            Integer ii =(Integer)obj;
             System.out.println(ii);
 ​
        }
         System.out.println("===============");
         for (Object obj : list) {
             Integer ii = (Integer) obj;
             System.out.println(ii);
             
        }
 ​
    }
 }
 ​

第28天学习打卡(Date和Calendar类 基本类型的包装类 集合 增强for循环 )的更多相关文章

  1. Java从零开始学三十一(DATE和Calendar类)

    一.Date类 Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期 二.Calendar类 Calendar类可以将取得的 ...

  2. Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题

    笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...

  3. JAVA基础——Date和Calendar类

    1计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //yea ...

  4. 射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计

    电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表 ...

  5. Java学习--使用 Date 和 SimpleDateFormat 类表示时间

    使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...

  6. Java学习(正则表达式、Date类、DateFormat类、Calendar类)

    一.正则表达式 1.概念:英语:Regular Expression,在代码中常简写为regex.正则表达式,是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串. ...

  7. Java学习关于时间操作的应用类--Date类、Calendar类及其子类

    Date类 Date类封装了当期时间和日期.与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化.在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和D ...

  8. JAVA学习第四十六课 — 其它对象API(二)Date类 & Calendar类(重点掌握)

    Date类(重点) 开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用 <span style="font-family:KaiTi_GB2312;font-size:18p ...

  9. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

随机推荐

  1. E - Period(KMP中next数组的运用)

    一个带有 n 个字符的字符串 s ,要求找出 s 的前缀中具有循环结构的字符子串,也就是要输出具有循环结构的前缀的最后一个数下标与其对应最大循环次数.(次数要求至少为2) For each prefi ...

  2. windows10与linux进行ftp遇到550 Failed to change directory及553 Could not creat file

    第一个原因: 没有权限,可以使用带有l参数的ls命令来看文件或者目录的权限 ls -l 解决:给本地用户添加一个可写权限 chmod +w /home/student ##给对应的本地用户添加一个可写 ...

  3. Codeforces 102394I Interesting Permutation 思维

    题意: 你有一个长度为n的序列a(这个序列只能使用[1,n]区间内的数字,每个数字只能使用一次),通过a序列可以构造出来三个相同长度的序列f.g.h For each 1≤i≤n, fi=max{a1 ...

  4. Who Gets the Most Candies?

    Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 11303   Accepted: 3520 Case Time Limit ...

  5. 2020ICPC&#183;小米 网络选拔赛第一场 J.Matrix Subtraction (贪心,二维差分)

    题意:给一个\(nXm\)的矩阵,可以选取\(aXb\)的子矩阵,使子矩阵中的所有元素减一,问最后是否能使矩阵中所有元素变为\(0\). 题解:首先贪心,我们看最左上角的元素,如果\(g[1][1]\ ...

  6. 自动生成requirements.txt

    Python 自动生成当前项目的requirements.txt 通常我们开发一个python项目时都会用conda 或者 virtualenv 等虚拟环境管理工具来创建一个虚拟环境,在这个虚拟环境中 ...

  7. Leetcode(4)-两个排序数组的中位数

      给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 示例 1: nums1 = [1, 3] ...

  8. 操作系统 part3

    1.操作系统四特性 并发:一个时间段,多个进程在宏观上同时运行 共享:系统中的资源可以被多个并发进程共同使用(互斥共享,同时共享) 虚拟:利用多道程序设计,利用时分复用(分时系统)和空分复用(虚拟内存 ...

  9. 2019牛客多校第四场B xor(线性基求交)题解

    题意: 传送门 给\(n\)个集合,每个集合有一些数.给出\(m\)个询问,再给出\(l\)和\(r\)和一个数\(v\),问你任意的\(i \in[l,r]\)的集合,能不能找出子集异或为\(v\) ...

  10. 51nod1459 带权最短路

    1459 迷宫游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分 ...