標籤:訪問 基本 cep logs ring eva void oat boolean
封裝類,Math,日期格式處理
- 封裝類
- Math:random(),round()
- 日期格式處理
Java提倡的是思想是一切皆對象,但是我們基礎資料型別 (Elementary Data Type)不是一個類,也就是說 沒有對象概念,和Java提倡的思想相違背,為瞭解決這個矛盾,Java裡面提供8種基礎資料型別 (Elementary Data Type)的封裝類。
序號 |
基礎資料型別 (Elementary Data Type) |
封裝類 |
1 |
int |
Integer |
2 |
char |
Character |
3 |
float |
Float |
4 |
long |
Long |
5 |
short |
Short |
6 |
double |
Double |
7 |
boolean |
Boolean |
8 |
byte |
Byte |
public static void main(String[] args) { int i=10; boolean flag=false; double j=10.00; Integer k=new Integer(i);//基礎資料型別 (Elementary Data Type)轉換成封裝類對象(裝箱) Boolean f=new Boolean(flag); Double d=new Double(j); int x=k.intValue();//封裝類轉換成基礎資料型別 (Elementary Data Type)叫拆箱 boolean bo=f.booleanValue(); double de=d.doubleValue();//進行拆箱 }
封裝類除瞭解決Java提倡的思想之外呢,還可以進行什麼操作呢?
- ·裝箱:將基礎資料型別 (Elementary Data Type)轉換成封裝類對象
- ·拆箱:將封裝類對象轉換成基礎資料型別 (Elementary Data Type)
- ·將字串轉換成基礎資料型別 (Elementary Data Type)
以上的裝箱和拆箱操作都是手動進行的,在JDK1.5之後,裝箱和拆箱的操作可以自動進行。
public static void main(String[] args) { int i=10; boolean flag=false; double j=10.00; Integer k=i;//基礎資料型別 (Elementary Data Type)轉換成封裝類對象(裝箱) Boolean f=flag; Double d=j; int x=k;//封裝類轉換成基礎資料型別 (Elementary Data Type)叫拆箱 boolean bo=f; double de=d;//進行拆箱 }
//將字串轉換成基礎資料型別 (Elementary Data Type) private void mian() { // TODO Auto-generated method stub String s="1122"; int x=Integer.parseInt(s); int y=Integer.valueOf(s); }
開發的時候一定要注意,在轉換的時候,注意異常的出現,比如說我們將字串“aabb”轉換成int類型的話,那麼一定會報錯(NumberFormatException)。
2Math
Math類是定義了一系列的數學運算方法,是使用static修飾的方法,表示可以通過Math類直接存取。我們在開發中一般只需要關注兩個:
public static void main(String[] args) { double d=100.53; int i = (int)Math.round(d); System.out.println(i); }
另外就是隨機數:使用random()取隨機數取出來的是0-1小數,是大於等於0,小於1。
範例:取1-10之間的隨機數
public static void main(String[] args) { for (int i = 1; i < 10; i++) { double d=Math.random();//取0到1之間的隨機數 int x=(int) Math.round(d*10); System.out.println(x+" "); } }3日期格式的處理
我們主要講到的是Date類,是java.util包中的Date類,另外Calendar(日曆)類,而後是日期格式轉換類(DateFormat)。
Date:Date類中的大部分的方法都已經過時,一般只會用到構造方法取得系統當前的時間。
·public long getTime():取得自1970年1月1號開始的毫秒數
public static void main(String[] args) { Date date = new Date(); System.out.println(date); System.out.println(date.getTime()); }
如果我們現在要取得Date對象的準確的年月日時分秒毫秒呢?我們知道Date類中的方法已經過時,那麼我們現在使用Calendar日曆類完成操作。此類有大量的操作方法:
·public abstract void add(int field, int amount):給指定的日曆欄位添加指定的值
·public int get(int field):取得指定日曆欄位的值
·public final Date getTime():轉換成Date類型
·public void set(int field, int value):指定的日曆欄位設定指定的值
·public final void setTime(Date date):將Date類型設定到Calendar對象中
範例:取得準確年月日時分秒毫秒
public static void main(String[] args) { Date date = new Date(); System.out.println(date); System.out.println(date.getTime()); Calendar ca= new GregorianCalendar();//取得日曆對象(也可以取得系統目前時間) System.out.println("年"+ca.get(Calendar.YEAR)); System.out.println("月"+ca.get(Calendar.MONTH)+1);//0到11個月 System.out.println("日"+ca.get(Calendar.DAY_OF_MONTH)); System.out.println("時"+ca.get(Calendar.HOUR_OF_DAY)); System.out.println("分"+ca.get(Calendar.MINUTE)); System.out.println("秒"+ca.get(Calendar.SECOND)); System.out.println("毫秒"+ca.get(Calendar.MILLISECOND)); System.out.println("今年第幾周"+ca.get(Calendar.WEEK_OF_YEAR)); System.out.println("這個月第幾周:"+ca.get(Calendar.WEEK_OF_MONTH)); }3.日期格式的轉換
在Java中使用DateFormat進行日期格式的轉換,此類也是一個抽象類別,執行個體化的時候必須依靠子類:SimpleDateFormat,常用的構造方法:
·public SimpleDateFormat(String pattern):參數表示的日期的轉換規則
規則:y年,M月,d日,H小時,m分鐘,s秒,S毫秒
DateFormat常用的方法:
·public final String format(Date date):將Date對象轉換成字串
·public Date parse(String source) throws ParseException:將字串轉換成日期
範例:將Date類型轉換成字串
public static void main(String[] args) { Date date = new Date(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//定義轉換格式 String s = df.format(date);//進行轉換 System.out.println(s); }}
範例:將字串轉換成日期
String s = "1998/10-10"; DateFormat df = new SimpleDateFormat("yyyy/MM-dd");//定義轉換格式 try { Date date = df.parse(s);//將字串轉化成日期 System.out.println(date); } catch (Exception e) { e.printStackTrace(); }
在開發過程中,一定要注意SimpleDateFormat定義的轉換規則,如果轉換規則定義錯誤,那麼日期轉換異常沒法避免
小結
·使用封裝類將字串轉換成基礎資料型別 (Elementary Data Type)
·會使用Math中的random()和round()方法
·學會使用Calendar類中的一些方法
·學會使用DateFormat進行日期格式的轉換
java基礎之封裝類,Math,日期格式處理