zoukankan      html  css  js  c++  java
  • java的 Date类、DateFormat类、Calendar类、基本类型包装类、System类、Math类

    1、Date类:
    (1)时间和日期的计算,必须依赖毫秒值;

    package com.oracle.demo01;
    
    import java.util.Date;
    
    public class demo01 {
                public static void main(String[] args) {
                     long time = System.currentTimeMillis();
                     System.out.println(time);
                    //创建当前日期的对象
                     Date  date = new  Date();
                     System.out.println(date);
                     System.out.println(date);
                     //创建指定毫秒值的日期对象
                     Date  date1 = new  Date(11111111111111111l);
                     System.out.println(date1);
                }
    }

    (2)常用方法:getTime() 把日期对象转换成对应的时间毫秒值;

    package com.oracle.demo01;
    
    import java.util.Date;
    
    public class demo04 {
        public static void main(String[] args) {
            //Date的getTime方法
            System.out.println(new Date().getTime());
        }
    }

    效果如下:


    2、DateFormat类:
    (1)DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象;

    (2)DateFormat类常用方法:
    format方法,用来将Date对象转换成String;

    parse方法,用来将String转换成Date(转换时,该String要符合指定格式,否则不能转换);

    package com.oracle.demo01;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class demo02 {
            public static void main(String[] args) throws ParseException {
                 SimpleDateFormat   s = new   SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
                 //日期转成字符串
                 String  time1 = s.format(new Date());
                 System.out.println(time1);
                 //字符串转成日期对象
                 Date  d = s.parse(time1);
                 System.out.println(d);
            }
    }

    效果如下:

    3、Calendar类:
    (1)该类将所有可能用到的时间信息封装为静态成员变量;【以此类推】
    (2)Calendar类静态方法:Calendar c = Calendar.getInstance(); //返回当前时间;
    (3)西方星期的开始为周日,中国为周一;在Calendar类中,月份的表示是以0-11代表1-12月;
    (4)getTime()方法:获取该日历对象转成的日期对象 [注意跟Date类不一样]

    package com.oracle.demo01;
    
    import java.util.Calendar;
    
    public class demo03 {
            public static void main(String[] args) {
                Calendar  c = Calendar.getInstance();
                //偏移量
                c.add(Calendar.DATE, 1);
                System.out.println(c.getTime());
                //取值
                Calendar  s = Calendar.getInstance();
                System.out.println(s.get(Calendar.MONTH));//+1
                System.out.println(s.get(Calendar.DAY_OF_WEEK));//-1
                s.set(Calendar.YEAR, 2088);
                System.out.println(s.get(Calendar.YEAR));
            }
    }

    效果如下:

    4、基本类型包装类:
    (1)字符串转成基本类型:包装类.parseXXX(String s);

    package com.oracle.demo02;
    
    public class demo01 {
                   public static void main(String[] args) {
                       //将字符串转成基本数据类型,  包装类.parseXXX(String s);
                       String  s1 = "123";
                       int  n1 = Integer.parseInt(s1);
                       System.out.println(n1+1);
                
                }
    }

    效果如下:

    注意:基本类型与包装类匹配 否则运行时报错:

    package com.oracle.demo02;
    
    public class demo01 {
                   public static void main(String[] args) {
                       //将字符串转成基本数据类型,  包装类.parseXXX(String s);
                       String  s1 = "你好啊";
                       int  n1 = Integer.parseInt(s1);
                       System.out.println(n1+1);
                      
                }
    }

    效果如下:

    NumberFormatException:

    (2)将基本数据类型转为字符串:第一种与""相连;第二种 valueof;第三种:toString(基本数据类型);

    package com.oracle.demo02;
    
    public class demo01 {
                   public static void main(String[] args) {//将基本数据类型转为字符串
                       //第一种与""相连
                       System.out.println(12+""+1);
                       //第二种 valueof
                       System.out.println(String.valueOf(12)+6);
                       //toString(基本数据类型)
                       System.out.println(Integer.toString(12)+9);
                }
    }

    效果如下:

    (3)基本类型和对象转换:
    基本数值---->包装对象:
    第一种构造方法:包装类 i= new 包装类(基本类型);或者包装类 i= new 包装类("基本类型");
    第二种方法:通过包装类的valueof方法;

    package com.oracle.demo02;
    
    public class demo02 {
    
        public static void main(String[] args) {
                //基本数据类型和包装类之间的转换
            //第一种 通过构造方法
                Integer in = new  Integer(44);
                Integer in2 = new  Integer("44");
            //第二种  通过包装类的valueof方法
                Integer in3 = Integer.valueOf(33);
                Integer in4 = Integer.valueOf("33"); 
        }
    
    }

    (4)将包装类对象转为基本数据类型:

    举例子:

    package com.oracle.demo02;
    
    public class demo02 {
    
        public static void main(String[] args) {
                Integer in = new  Integer(44);//将包装类对象转为基本数据类型
                int  i = in.intValue();
           System.out.println(i+1); } }

    效果如下:

    (5)自动装箱 基本类型 =》包装类;

    自动拆箱 包装类 =》基本类型;

    package com.oracle.demo02;
    
    public class demo03 {
    
        public static void main(String[] args) {
            //自动装箱   基本类型 =》包装类
            Integer i = 2; 
            //自动拆箱   包装类 =》基本类型
            int sum = i+2;
    
        }
    
    }

    注意:byte常量池 jdk1.5 自动装箱 调用范参时不会自动装箱;

    jdk1.5

    byte常量池:

    package com.oracle.demo02;
    
    public class demo04 {
    
        public static void main(String[] args) {
            Integer  in1 = 50;
            Integer  in2 = 50;
            //byte常量池   
            System.out.println(in1 == in2);
            System.out.println(in1.equals(in2));
        }
    
    }

    效果如下:

    范参不会自动装箱:


    5、System类:
    注意一下:arraycopy方法:用来实现将源数组部分元素复制到目标数组的指定位置(源数组,源数组起始位置,目标数组,目标数组起始位置,长度)

    package com.oracle.demo03;
    
    public class demo01 {
                public static void main(String[] args) {
                    //复制数组
                    int[]  arr = {1,2,2,3,4,5,6};
                    int[]  arr2 = new int[10];
                    System.arraycopy(arr, 2, arr2, 0, 4);
                    
                    for(int i = 0;i < arr2.length;i++){
                        System.out.println(arr2[i]);
                    }
                }
    }

    效果如下:


     exit(int status)方法:用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

    package com.oracle.demo03;
    
    public class demo01 {
                public static void main(String[] args) {
                    int[]  arr = {1,2,2,3,4,5,6};
                    int[]  arr2 = new int[10];
                    System.arraycopy(arr, 2, arr2, 0, 4);
                    //先不关注复制数组,先关注停止java虚拟机的运行
                    for(int i = 0;i < arr2.length;i++){
                        if(i == 2){
                            System.exit(0);
                        }
                        System.out.println(arr2[i]);
                    }
                }
    }

    效果如下:


    6、Math类:
    注意向上取整方法:Math.ceil(double i);可以用来做分页;

    package com.oracle.demo03;
    
    public class demo02 {
    
        public static void main(String[] args) {
            System.out.println(Math.ceil(2.3));
        }
    
    }

    效果如下:

  • 相关阅读:
    Atitit 趋势管理之道 attilax著
    Atitit 循环处理的新特性 for...else...
    Atitit 2017年的技术趋势与未来的大技术趋势
    atitit 用什么样的维度看问题.docx 如何了解 看待xxx
    atitit prj mnrs 项目中的几种经理角色.docx
    Atitit IT办公场所以及度假村以及网点以及租房点建设之道 attilax总结
    Atitit 工具选型的因素与方法 attilax总结
    Atitit.团队文化建设影响组织的的一些原理 法则 定理 效应 p826.v4
    Atiitt 管理方面的误区总结 attilax总结
    Atitit 未来趋势把控的书籍 attilax总结 v3
  • 原文地址:https://www.cnblogs.com/scw123/p/9724537.html
Copyright © 2011-2022 走看看