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));
        }
    
    }

    效果如下:

  • 相关阅读:
    mybatis 之 占位符#{} 和 ${}
    mybatis的#{}占位符和${}拼接符的区别
    MyBatis 批量操作、集合遍历-foreach
    Oracle查看和修改连接数
    linux下启动关闭oracle
    kafka的OffsetOutOfRangeError
    redis批量删除key
    mysql连接慢,修改配置文件
    [linux] ping服务器脚本
    oracle游标
  • 原文地址:https://www.cnblogs.com/scw123/p/9724537.html
Copyright © 2011-2022 走看看