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

}

效果如下:

 

posted on 2018-09-29 16:40  孙崇武  阅读(319)  评论(0编辑  收藏  举报

导航