標籤:get idt 目前時間 day and 綜合 拆箱 AC 指定
JAVA中的封裝類
封裝類裡沒有String,它是引用資料類型
基本類型是不能調用方法的,而其封裝類具有很多方法
封裝類主要提供了兩大類方法:
1. 將本類型和其他基本類型進行轉換的方法
2. 將字串和本類型及封裝類互相轉換的方法
基本類型 |
對應的封裝類 |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
Integer m=new Integer(5);//定義Integer封裝類對象,值為5Integer n=new Integer("8");//定義Integer封裝類對象,值為8public static void main(String[] args){ int score1=86; //建立Integer封裝類對象,表示變數score1 Integer score2=new Integer(score1); //將Integer封裝類轉換為double類型 double score3=score2.doubleValue(); //將Integer封裝類轉換為float類型 float score4=score2.floatValue(); //將Integer封裝類轉換為int類型 int score5=score2.intValue(); System.out.println("Integer封裝類"+score2); System.out.println("double類型"+score3); System.out.println("float類型"+score4); System.out.println("int類型"+score5); }
基本類型和封裝類之間的轉換
裝箱:把基本類型轉換成封裝類,使其具有對象的性質,又可分為手動裝箱和自動裝箱
char sex=‘男‘;//定義一個基本類型 Character sex1=new Character(sex);//手動裝箱 Character sex2=sex;//自動裝箱,省略了new
拆箱:和裝箱相反,把封裝類對象轉換成基本類型的值,又可分為手動拆箱和自動拆箱
Integer j=new Integer(8);//定義一個Integer封裝類對象 int m=j.intValue();//手動拆箱 int n=j;//自動拆箱為int類型 double a=91.4; Double b=new Double(a); Double c=a; System.out.println(b+"和"+c); // Double d=new Double(87.0); double e=d.doubleValue(); double f=d; System.out.println(e+"和"+f);
基本類型和字串之間的轉換
基本類型轉換為字串有三種方法:
1. 使用封裝類的 toString() 方法
2. 使用String類的 valueOf() 方法
3. 用一個Null 字元串加上基本類型,得到的就是基本類型資料對應的字串
//將基本類型轉換為字串 double a=91.4; String str1=Double.toString(a); String str2=String.valueOf(a); String str3=a+"";
字串轉換成基本類型有兩種方法:
1. 調用封裝類的 parseXxx 靜態方法
2. 調用封裝類的 valueOf() 方法轉換為基本類型的封裝類,會自動拆箱
//將字串轉換為基本類型 String str="9"; int d=Integer.parseInt(str); int e=Integer.valueOf(str);String str2 = "180.20"; // 將字串轉換為基本類型 Double a =Double.parseDouble(str2); //其他基本類型與字串的相互轉化這裡不再一一列出,方法都類似
使用Date和SimpleDateFormat類表示時間
使用 Date 類的預設無參構造方法建立出的對象就代表目前時間,我們可以直接輸出 Date 對象顯示當前的時間
Date nowTime=new Date();//使用預設的構造方法建立Date對象 System.out.println(nowTime);//輸出Date對象 >>> Sat Mar 10 13:46:10 CST 2018
可以使用 SimpleDateFormat 來對日期時間進行格式化,如可以將日期轉換為指定格式的文本,也可將文本轉換為日期。
1. 使用 format() 方法將日期轉換為指定格式的文本
import java.text.SimpleDateFormat;import java.util.Date;public static void main(String[] args){ //建立Date對象,表示目前時間 Date nowTime=new Date(); //建立SimpleDateFormat對象,指定目標格式 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //調用format()方法,格式化時間,轉換為指定格式字串 String today=sdf.format(nowTime); System.out.println(today); }
- 使用 parse() 方法將文本轉換為日期
//建立日期格式的字串 String day="2014年02月14日 10月30:13"; //建立SimpleDateFormat對象,指定字串的日期格式(要與字串的格式對應) SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH月mm:ss"); //調用parse()方法,將字串轉換為日期 Date date=df.parse(day); System.out.println(date);
一定要注意:
1、 調用SimpleDateFormat對象的parse()方法時可能會出現轉換異常,即ParseException ,因此需要進行異常處理
2、 使用 Date 類時需要匯入 java.util 包,使用 SimpleDateFormat 時需要匯入 java.text 包
Calendar類的應用
更推薦使用 Calendar 類進行時間和日期的處理。
java.util.Calendar 類是一個抽象類別,可以通過調用 getInstance() 靜態方法擷取一個 Calendar 對象,此對象已由當前日期時間初始化,即預設代表目前時間,如 Calendar c = Calendar.getInstance();
Calendar c=Calendar.getInstance();//建立Calendar對象
public static void main(String[] args){ Calendar c=Calendar.getInstance();//建立Calendar對象 int year=c.get(Calendar.YEAR); int month=c.get(Calendar.MONTH)+1;//擷取月份,0代表1月份 int day=c.get(Calendar.DAY_OF_MONTH); int hour=c.get(Calendar.HOUR_OF_DAY); int minute=c.get(Calendar.MINUTE); int second=c.get(Calendar.SECOND); System.out.println("目前時間:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);}
Calendar 類提供了 getTime() 方法,用來擷取 Date 對象,完成 Calendar 和 Date 的轉換,還可通過 getTimeInMillis() 方法,擷取此 Calendar 的時間值,以毫秒為單位。
public static void main(String[] args){ Calendar c=Calendar.getInstance();//建立Calendar對象 Date date=c.getTime();//將Calendar對象轉換為Date對象 long time=c.getTimeInMillis();//擷取目前時間,以毫秒為單位 System.out.println(date+" / "+time); }
Date/SimpleDateFormat/Calendar 綜合應用
public static void main(String[] args){ Calendar c=Calendar.getInstance(); Date date=c.getTime(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String now=sdf.format(date); System.out.println("目前時間:"+now); }
使用Math類操作資料
Math 類位於 java.lang 包中,包含用於執行基本數學運算的方法,Math類的所有方法都是靜態方法。所以使用該類中的方法時,可以直接使用類名.方法名,如: Math.round();
常用的方法:
傳回值 |
方法名 |
解釋 |
long |
round() |
返回四捨五入後的整數 |
double |
floor() |
返回小於參數的最大整數 |
double |
ceil() |
返回大於參數的最小整數 |
double |
random() |
返回0~1之間的隨機浮點數 |
public static void main(String[] args){ double a=12.81; int b=(int)a; System.out.println("a強制類型轉換後的值:"+b); long c=Math.round(a); System.out.println("四捨五入:"+c); double d=Math.floor(a); System.out.println("小於參數的最大整數:"+d); double e=Math.ceil(a); System.out.println("大於參數的最小整數:"+e); double f=Math.random(); //產生隨機整數,先調用random()方法產生0~1的隨機浮點數 //再乘以要產生的最大整數,最後強制類型轉換稱int類型 int g=(int)(Math.random()*99); System.out.println(f+" / "+g); }public static void main(String[] args){ int[] nums=new int[10]; for(int i=0;i<nums.length;i++){ nums[i]=(int)(Math.random()*10); } for(int x:nums){ System.out.print(x+" "); } }
*** END
Java 中常用的類:包括基本類型的封裝類、Date 類、SimpleDateFormat 類、 Calendar 類、 Math 類