1. 程式人生 > >包裝類和日期操作

包裝類和日期操作

Java 包裝類

字串廣泛應用 在Java 程式設計中,在 Java 中字串屬於物件,Java 提供了 String 類來建立和操作字串。

 Number類

Test2.java 檔案程式碼:

//包裝類
//Number 數字類(包括整數和小數) Byte Short Integer Long Float Double
//Number是Byte Short Integer Long Float Double的父類,都是引用型別
public class Test1 {
public static void main(String[] args) {
// int a=3;
// Integer a1=new Integer(3);
// System.out.println(Integer.MAX_VALUE);//int可以取得最大值
// System.out.println(Integer.MIN_VALUE);//int可以取得最小值
//從基本型別轉成引用型別為裝箱
Number d=Double.valueOf(123.45);//將基本型別123.45轉成引用型別Double,再向上造型為Number
System.out.println("檢視引用所指向的物件型別:"+d.getClass().getName());
Number n=Integer.valueOf(123);
System.out.println("n="+n);
//從引用型別到基本型別  拆箱
int value=n.intValue();//將Integer引用型別拆成int基本型別  
double value1=d.doubleValue();//將Double引用型別拆成double基本型別
System.out.println(value+","+value1);
}


}

將字串轉成相應的基本型別

Test3.java 檔案程式碼:

//將字串轉成相應的基本型別
public class Test2 {
public static void main(String[] args) {
// String str=String.valueOf(3);//把其它型別轉成字串型別
// System.out.println("str="+str);
String str="123";
int value=Integer.parseInt(str);//將字串轉成整數
System.out.println("value="+value);
// String str1="一二三";
// //java.lang.NumberFormatException
// int value1=Integer.parseInt(str1);//"一二三"不是正確的數字格式
// System.out.println("value1="+value1);
String str2="12345.657";
double value2=Double.parseDouble(str2);
System.out.println("value2="+value2);
Character c=new Character('a');

}


}

拆箱與裝箱

下面是一個例子:

Test4.java 檔案程式碼:

//裝箱 int-->Integer       拆箱Integer-->int
public class Test3 {

public static void main(String[] args) {
Integer a=Integer.valueOf(100);//裝箱int-->Integer
Integer b=Integer.valueOf(200);//裝箱int-->Integer
//a.intValue()+b.intValue()拆箱 Integer-->int    Integer.valueOf(a.intValue()+b.intValue() 裝箱int-->Integer  
Integer c=Integer.valueOf(a.intValue()+b.intValue());
int d=c.intValue();//c.intValue()  拆箱 Integer-->int
System.out.println("d="+d);


}


}

Date類的時間操作

//時間操作
//Date類
public class Test4 {
public static void main(String[] args) {
//獲取當前的毫秒數  1秒==1000毫秒
long time=System.currentTimeMillis();
System.out.println("當前的毫秒數:"+time);

//Date類封裝了日期及時間資訊
Date date=new Date();//建立Date物件預設獲得了系統的當前日期及時間資訊
//輸出此時此刻的日期和時間
System.out.println("date="+date.toString());
//把Date型別變成毫秒數
long time1=date.getTime();
System.out.println("time1="+time1);
long time2=24*60*60*1000;//一天的毫秒數
time1=time1+time2;//加上一天的毫秒數
date.setTime(time1);//將毫秒數轉成Date型別
System.out.println("第二天的日期和時間:"+date);


}


}

時間的格式化

//格式化 (日期-->文字)
public class Test5 {
public static void main(String[] args) throws ParseException {
//格式化 (日期-->文字)
Date date=new Date();
System.out.println("date="+date);//輸出的格式不符合國人的閱讀習慣
//2017-04-19 11:29:45
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr=sdf.format(date);//對Date型別的時間格式化
System.out.println("dateStr="+dateStr);

//格式化 (文字-->日期)
//將字串時間轉成Date型別
String str="1999-02-19";
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
Date date1=sdf1.parse(str);
System.out.println("date1="+date1);

Character c=new Character('a');
}


}

Calendar類操作日期和時間

//Calendar 
//Calendar類提供了一系列的方法操作日期和時間
public class Test7 {
//Calendar>Date>longtime
public static void main(String[] args) {
// Date date=new Date();
// Date date1=new Date(117,3,19);//預設+1900   117+1900=2017
// System.out.println("date1="+date1);

Calendar c=Calendar.getInstance();//通過一個方法返回一個例項
//Calendar c1=new GregorianCalendar();//向上造型
System.out.println("c="+c);
///從Calendar型別轉換成Date型別
Date date=c.getTime();
System.out.println("date="+date);


}


}

Calendar類設定時間



//Calendar設定時間
public class Test8 {
public static void main(String[] args) {
//獲取Calendar物件  Calendar是一個抽象類不能例項化
//Calendar c1=new GregorianCalendar();
Calendar c=Calendar.getInstance();//可以通過Calendar類裡的static方法getInstance()獲取GregorianCalendar物件
c.set(Calendar.YEAR, 2017);//設定年份為2017年
c.set(Calendar.MONTH,Calendar.APRIL);//設定月份為4月
c.set(Calendar.DATE, 19);//設定在此月的第幾天

System.out.println("c.getTime()="+c.getTime());//c.getTime()   Calendar-->Date
//2017/4/19 14:16
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/M/dd HH:mm");
String time=sdf.format(c.getTime());
System.out.println("time="+time);
}


}

Calendar類獲取時間

//Calendar獲取時間
public class Test9 {
public static void main(String[] args) {
Calendar c=Calendar.getInstance();//儲存的是系統當前時間
System.out.println(c.getTime());
Calendar c1=Calendar.getInstance();
c1.set(Calendar.YEAR,2017);//給年設定為2017
System.out.println("c1="+c1.getTime());
System.out.println("year="+c1.get(Calendar.YEAR));//獲取設定的年份
System.out.println("month="+c1.get(Calendar.MONTH));// 3  表示四月
System.out.println("date="+c1.get(Calendar.DATE));//月上面的天數

int dayOfWeek=c1.get(Calendar.DAY_OF_WEEK);
System.out.println("dayOfWeek="+dayOfWeek);//是這一週的第幾天  國外認為星期日是第一天 1




}


}

long,Date,Calendar幾種型別之間的轉換

/*
將Calendar>getTime()>Date>getTime()>timeMillis  
timeMillis>setTime()>Date>setTime()>Calendar
 */
public class Test12 {
public static void main(String[] args) {
Calendar c=Calendar.getInstance();
c.add(Calendar.YEAR,1);//加一年
c.add(Calendar.MONTH, 1);//加一月
c.add(Calendar.DATE, 1);//加一天
System.out.println("c="+c.getTime());

Date date=c.getTime();//Calendar-->Date
long time=date.getTime();//Date-->long

long time1=1444444444444L;
Date date1=new Date();
date1.setTime(time1);//long-->Date
System.out.println("date1="+date1);
Calendar c1=Calendar.getInstance();
c1.setTime(date1);//Date-->Calendar
System.out.println("c1="+c1);


}


}