Java第三季,

來源:互聯網
上載者:User

Java第三季,

 

1、異常簡介:

   (1) Java中的所有不正常類都繼承於Throwable類。Throwable主要包括兩個大類,一個是Error類,另一個是      

              Exception類;

   (2)其中Error類中包括虛擬機器錯誤和線程死結,一旦Error出現了,程式就徹底的掛了,被稱為程式終結者;

   (3) Exception類主要指編碼、環境、使用者操作輸入出現問題,Exception主要包括兩大類,非檢查異常。

           (RuntimeException 和檢查異常(其他的一些異常)

   (4)RuntimeException異常主要包括以下四種異常:null 指標異常、數組下標越界異常、類型轉換異常、算術異常。

2、異常文法 

try{    //調用一些會拋出異常的方法}catch(Exception e){    //處理該異常的代碼塊}

例子1:

例子2:

3、Java中的異常拋出

throw:將產生的異常拋出

throws:聲明將要拋出何種類型的異常

public void 方法名(參數列表) throws 異常列表{     //調用會拋出異常的方法或者throw new Exception}

調用方法一:

調用方法二:

4、自訂異常

class 自訂異常類 entends 異常類型{}

5、Java中的字串

       在 Java 中,字串被作為 String 類型的對象處理。 String 類位於 java.lang 包中。預設情況下,該包被自動匯入所有的程式。

       建立String對象的方法:

6、Java中字串的不變性

 

運行結果:

 

7、Java中的String類的常用方法

       String 類提供了許多用來處理字串的方法,例如,擷取字串長度、對字串進行截取、將字串轉換為大寫或小寫、字串分割等。

結合代碼來熟悉一下方法的使用:

 

運行結果:

 

注意:

(1) 使用 indexOf 進行字元或字串尋找時,如果匹配返回位置索引;如果沒有匹配結果,返回 -1

(2)使用 substring(beginIndex , endIndex) 進行字串截取時,包括 beginIndex 位置的字元,不包括 endIndex 位置的          

          字元。

8、Java中的String類的其他方法

運行結果:

注意:那麼,“==” 和 equals() 有什麼區別呢?

== : 判斷兩個字串在記憶體中首地址是否相同,即判斷是否是同一個字串對象

equals() :  比較儲存在兩個字串對象中的內容是否一致

 9、認識Java中的StringBuild類

  StringBuildStringBuilder 類提供了很多方法來操作字串。

     例如:在下面的範例程式碼中,建立了 StringBuilder 對象,用來儲存字串,並對其做了追加和插入操作。這些操作

     修改了 str 對象的值,而沒有建立新的對象,這就是 StringBuilder 和 String 最大的區別。

運行結果:

 10、Java中的封裝類

      基礎資料型別 (Elementary Data Type)都非常熟悉,例如 int、float、double、boolean、char 等。基礎資料型別 (Elementary Data Type)是不具備對象的特性的,比如基本類型不能調用方法、功能簡單。。。,為了讓基礎資料型別 (Elementary Data Type)也具備對象的特性, Java 為每個基礎資料型別 (Elementary Data Type)都提供了一個封裝類,這樣我們就可以像操作對象那樣來操作基礎資料型別 (Elementary Data Type)。

      基本類型和封裝類之間的對應關係:

 

封裝類主要提供了兩大類方法:

(1)將本類型和其他基本類型進行轉換的方法

(2)將字串和本類型及封裝類互相轉換的方法

public class HelloWorld {    public static void main(String[] args) {                // 定義int類型變數,值為86        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);    }}
11、Java中基本類型和封裝類之間的轉換

基本類型和封裝類之間經常需要互相轉換

 

裝箱:把基本類型轉換成封裝類,使其具有對象的性質,又可分為手動裝箱和自動裝箱

 

拆箱:和裝箱相反,把封裝類對象轉換成基本類型的值,又可分為手動拆箱和自動拆箱

 

public class HelloWorld {    public static void main(String[] args) {                // 定義double類型變數        double a = 91.5;                 // 手動裝箱        Double b =  new Double(a);                      // 自動裝箱        Double c =  a;             System.out.println("裝箱後的結果為:" + b + "和" + c);                // 定義一個Double封裝類對象,值為8        Double d = new Double(87.0);                // 手動拆箱        double e = d.doubleValue()             ;                // 自動拆箱        double f =                d;                 System.out.println("拆箱後的結果為:" + e + "和" + f);    }}
12、Java 中基本類型和字串之間的轉換

基本類型轉換為字串有三種方法:

   1. 使用封裝類的 toString() 方法

   2. 使用String類的 valueOf() 方法

   3. 用一個Null 字元串加上基本類型,得到的就是基本類型資料對應的字串

將字串轉換成基本類型有兩種方法:

  1. 調用封裝類的 parseXxx 靜態方法

  2. 調用封裝類的 valueOf() 方法轉換為基本類型的封裝類,會自動拆箱

 

public class HelloWorld {    public static void main(String[] args) {        double m = 78.5;        //將基本類型轉換為字串        String str1 = String.valueOf(m) ;        System.out.println("m 轉換為String型後與整數20的求和結果為: "+( str1 + 20 ) );                String str = "180.20";        // 將字串轉換為基本類型        Double a = Double.parseDouble(str) ;            System.out.println("str 轉換為double型後與整數20的求和結果為: " + ( a + 20 ) );    }}

運行結果: 

m 轉換為String型後與整數20的求和結果為: 78.520str 轉換為double型後與整數20的求和結果為: 200.2
 13、使用 Date 和 SimpleDateFormat 類表示時間

    使用 java.util 包中的 Date 類。這個類最主要的作用就是擷取目前時間

 

   使用 Date 類的預設無參構造方法建立出的對象就代表目前時間,我們可以直接輸出 Date 對象顯示當前的時間,顯示的結果如下:

   從上面的輸出結果中,我們發現,預設的時間格式不是很友好,與我們日常看到的日期格式不太一樣,如果想要按指定的格式進行顯示,如 2014-06-11 09:22:30 ,那該怎麼做呢?

  此時就到了 java.text 包中的 SimpleDateFormat 類大顯身手的時候了!!可以使用 SimpleDateFormat 來對日期時間進行格式化,如可以將日期轉換為指定格式的文本,也可將文本轉換為日期。

(1)使用 format() 方法將日期轉換為指定格式的文本

 

運行結果為:

    2014-06-11  09:55:48 

(2)使用 parse() 方法將文本轉換為日期

運行結果為:

 

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class HelloWorld {        public static void main(String[] args) throws ParseException {                // 使用format()方法將日期轉換為指定格式的文本        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                // 建立Date對象,表示目前時間        Date now =new Date();                // 調用format()方法,將日期轉換為字串並輸出        System.out.println(sdf1.format(now));        System.out.println(sdf2.format(now));        System.out.println(sdf3.format(now));        // 使用parse()方法將文本轉換為日期        String d = "2014-6-1 21:05:36";        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                 // 調用parse()方法,將字串轉換為日期        Date date = sdf.parse(d);                System.out.println(date);    }}

運行結果:

2017年11月28日 00時13分08秒2017/11/28 00:132017-11-28 00:13:08Sun Jun 01 21:05:36 CST 2014
14、Calendar 類的應用

     Date 類最主要的作用就是獲得目前時間,同時這個類裡面也具有設定時間以及一些其他的功能,但是由於本身設計的問題,這些方法卻遭到眾多批評,不建議使用,更推薦使用 Calendar 類進行時間和日期的處理。

    java.util.Calendar 類是一個抽象類別,可以通過調用 getInstance() 靜態方法擷取一個 Calendar 對象,此對象已由當前日期時間初始化,即預設代表目前時間,如 Calendar c = Calendar.getInstance();

其中,調用 Calendar 類的 getInstance() 方法擷取一個執行個體,然後通過調用 get() 方法擷取日期時間資訊,參數為需要獲得的欄位的值, Calendar.Year 等為 Calendar 類中定義的靜態常量。

 運行結果為:

 

       Calendar 類提供了 getTime() 方法,用來擷取 Date 對象,完成 Calendar 和 Date 的轉換,還可通過 getTimeInMillis() 方法,擷取此 Calendar 的時間值,以毫秒為單位。如下所示:

運行結果為:

 

import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class HelloWorld {        public static void main(String[] args) {        // 建立Calendar對象        Calendar c =Calendar.getInstance();                // 將Calendar對象轉換為Date對象        Date date = c.getTime();                // 建立SimpleDateFormat對象,指定目標格式        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                // 將日期轉換為指定格式的字串        String now = sdf.format(date);        System.out.println("目前時間:" + now);    }}

運行結果:

目前時間:2017-11-28 00:27:38
15、使用 Math 類操作資料

  Math 類位於 java.lang 包中,包含用於執行基本數學運算的方法, Math 類的所有方法都是靜態方法,所以使用該類中的方法時,可以直接使用類名.方法名,如: Math.round();

常用的方法:

 

 例子:

 

運行結果:

 

public class HelloWorld {        public static void main(String[] args) {                // 定義一個整型數組,長度為10            int[] nums = new int [10];                //通過迴圈給數組賦值        for (int i = 0; i < nums.length; i++) {            // 產生10以內的隨機數            int x = (int)(Math.random()*10);                        nums[i] = x;// 為元素賦值        }                // 使用foreach迴圈輸出數組中的元素        for ( int num : nums     ) {            System.out.print(num + " ");        }    }}

運行結果:

9 3 2 2 4 1 1 8 5 9 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.