常用的Java類方法【轉載】

ZXYhappiness發表於2018-07-25
  1. Number & Math 類方法
  2. Character方法
  3. String類
  4. StringBuffer & StringBuilder類
  5. Array類
  6. Date類日期時間
  7. SimpleDateFormat格式化日期
  8. Calendar類
  9. Java正規表示式
  10. Java方法
  11. Java流(Stream)、檔案(File)和IO
  12. Scanner類
  13. Java異常處理

 

1. Number & Math 類方法

 


  • compareTo():將Number物件與引數比較
  • equals():判斷Number物件是否與引數相等
  • valueOf():返回Number物件指定的內建資料型別
  • toString()以字串形式返回值
  • parseInt():將字串解析為int型別
  • abs():絕對值
  • ceil():返回大於等於給定引數的最小整數
  • floor():返回小於等於給定引數的最大整數
  • rint():返回與引數最接近的整數
  • round():四捨五入,演算法為Math.floor(x+0.5)
  • min():返回兩個引數的最小值
  • max():返回兩個引數的最大值
  • exp():返回自然數底數e的引數次方
  • log():返回引數的自然數底數的對數值
  • pow():返回第一個引數的第二個引數次方
  • sqrt():求引數的算術平方根
  • sin() asin():求指定double型別的正弦值、反正弦值
  • cos() acos():求指定double型別的餘弦值、反餘弦值
  • tan() atan():求指定double型別的正切值、反正切值
  • atin2():將笛卡爾座標轉換為極座標,並返回極座標的角度值
  • toDegrees():將引數轉化為角度
  • toRadians():將角度轉換為弧度
  • random():返回一個隨機數

 

2. Character方法

 


  • isLetter()
  • isDigit()
  • isWhiterspace()
  • isUpperCase()
  • isLowerCase()
  • toUPperCase()
  • toLowerCase()
  • toString():返回字元的字串形式,長度僅為1

 

3. String類

 

  • 不可改變,如需對字串做很多修改,選擇StringBuffer&StringBuilder類

  • char charAt(int index):指定索引處的char值
  • int compareTo(Object to):和另一個物件比較
  • int compareTo(String anotherString):按字典順序比較兩個字串
  • int compareToIgnoreCase(String str):不考慮大小寫
  • String concat(String str):連線指定字串到結尾
  • boolean contentEquals(StringBuffer sb):當且僅當字串與指定的StringBuffer有相同順序的字元時候返回真
  • static String copyValueOf(char[] data):返回指定陣列中表示該字元序列的String
  • static String copyValueOf(char[] data, int offset, int count):返回指定陣列中表示該字元序列的String
  • boolean endsWith(String suffix):是否以指定的字尾結束
  • boolean equeals(Object anObject):與指定物件比較
  • boolean equalsIgnoreCase(String anotherString):不考慮大小寫
  • byte[].getBytes():使用平臺的預設字符集將此String編碼為byte序列,並將結果儲存到一個新的byte陣列中
  • byte[].getBytes(String charsetName):使用指定的字符集將此String編碼為byte序列,並將結果儲存到一個新的byte陣列中
  • void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):複製到目標字元陣列
  • int hashCode():雜湊碼
  • int indexOf(int ch):返回指定字元在此字串中第一次出現處的索引
  • int indexOf(int ch, int fromIndex):從指定的索引開始搜尋
  • int indexOf(String str):返回指定子字串在此字串中第一次出現處的索引
  • int indexOf(String str, int fromIndex):從指定的索引開始搜尋
  • String intern():返回字串物件的規劃化表示形式
  • int lastIndexOf(int ch):返回指定字元在此字串最後一次出現處的索引
  • int lastIndexOf(int ch, fromIndex):從指定的索引開始反向搜尋
  • int lastIndexOf(String str):返回指定子字串在此字串中最右邊出現處的索引
  • int lastIndexOf(String str, int fromIndex):返回指定子字串在此字串中最後一次出現處的索引,從指定的索引開始反向搜尋
  • int length():長度
  • boolean matches(String regex):是否匹配給定的正規表示式
  • boolean regionMatches(boolean ignoreCase, int toffset, String other, int offest, int len):兩個字串區域是否相等
  • boolean regionMatches(int toffset, String other, int ooffset, int len):兩個字串區域是否相等
  • String replace(char oldChar, char newChar):用newChat替換此字串中出現的所有oldChat,返回新的字串
  • String replaceAll(String regex, String replacement):使用給定的replacement替換所有匹配正規表示式的子字串
  • String replaceFirst(String regex, String replacement):替換第一個子字串
  • String[] split(String regex):根據給定正規表示式拆分
  • String[] split(String regex, int limit):根據給定正規表示式拆分
  • boolean startsWith(String.prefix):是否以指定字首開始
  • boolean startsWith(String prefix, int toffset):從指定索引開始的子字串是否以指定字首開始
  • CharSequence subSequence(int beginIndex, int endIndex):返回一個子序列
  • String substring(int beginIndex):返回一個子字串
  • String substring(int beginIndex, int endIndex):返回一個子字串
  • char[] toCharArray():轉換為一個字元陣列
  • String toLowerCase():轉換為小寫
  • String toLowerCase(Locale locale):使用給定Locale的規則將所有字元轉換為小寫
  • String toString():返回物件本身,它已經是一個字串
  • String toUpperCase():轉換為大寫
  • String toUpperCase(Locale locale):使用給定Locale的規則將所有字元轉換為大寫
  • String trim():返回字串的副本,忽略前後空白
  • static String valueOf(primitive data type x):返回給定data type型別x引數的字串表示形式

 

4. StringBuffer & StringBuilder類

 

  • 類的物件能被多次修改,並且不產生新的未使用物件
  • StringBuilder類和StringBuffer之間的最大不同在於StringBuilder的方法不是執行緒安全的(不能同步訪問)
  • StringBuilder類有速度優勢,多數情況下使用;在應用程式要求執行緒安全時,必須使用StringBuffer類

  • public StringBuffer append(String s):追加
  • public StringBuffer reverse():反轉取代
  • public delete(int start, int end):移除此序列的子字串中的字元
  • public insert(int offset, int i):將int引數的字串表示形式插入此序列中
  • replace(int start, int end, String str):使用給定String中的字元替換此序列的子字串中的字元
  • int capacity():當前容量
  • char charA(int index):返回此序列中指定索引處的char值
  • void ensureCapacity(int minimumCapacity):確保容量至少等於指定的最小值
  • void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):將字元從此序列複製到目標字元陣列dst
  • int indexOf(String str)
  • int indexOf(String str, int fromIndex)
  • int lastIndexOf(String str)
  • int lastIndexOf(String str, int fromIndex)
  • int length()
  • void setCharAt(int index, char ch):將給定索引出的字元設定為ch
  • void setLength(int newLength):設定字元序列的長度
  • CharSequence subSequence(int start,int end)
  • String substring(int start)
  • String substring(int start, int end)
  • String toString()

 

5. Array類

 

  • 提供的所有方法是靜態的

  • public static int binarySearch(Object[] a, Object key):對排序好的陣列進行二分查詢操作,返回搜尋鍵的索引,找不到返回-1
  • public static boolean equals(type[] a, type[] b):比較陣列中元素值是否相等,如果兩個陣列以相同順序包含相同的元素,返回true
  • public static void fill(type[] a, type val):將指定型別的值分配給指定型別陣列指定範圍中的每個元素
  • public static void sort(type[] a):對指定型別(Object、Byte、short、Int等)陣列根據其元素的自然順序進行升序排序

 

6. Date類日期時間

 

  • Date():使用當前日期和時間來初始化物件
  • Date(long millisec):millisec是從1970年1月1日起的毫秒數

  • boolean after(Date date)
  • boolean before(Date date)
  • Object clone():返回此物件的副本
  • int compareTo(Date date):比較,相等返回0,呼叫物件在指定日期之前返回負數,之後返回正數
  • boolean equals(Object date)
  • long getTime():返回自1970年1月1日00:00:00 GMT以來Date物件表示的毫秒數
  • int hashCode()
  • void setTime(long time)
  • String toString():把Date物件轉換為以下形式的String:dow mon dd hh:mm:ss zzz yyyy 其中dow取Sun,Mon,Tue,Wed,Thu,Fri,Sat

 

7. SimpleDateFormat格式化日期

 

import java.util.*;
import java.text.*;

public class Demo {
    public static void main(String[] args) {
        Date dNow = new Date();
        SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss");
        System.out.println("Current Date: " + ft.format(dNow)); 
    }
}

  • G:紀元標記,如AD
  • y:四位年份,如2018
  • M:月份,July or 07
  • d:日期
  • h:A.M./P.M.12小時格式
  • H:24小時格式,0~23
  • m:分鐘數,0~59
  • s:秒數,0~59
  • S:毫秒
  • E:星期幾,如Tuesday
  • D:一年中的日子,如360
  • F:一個月中第幾周的周幾,如second Wed. in July
  • w:一年中第幾周,1~53
  • W:一個月中第幾周,1~6
  • a:A.M./P.M.標記
  • k:一天中的小時,1~24
  • K:A.M./P.M.(0~11)格式小時
  • z:時區
  • ‘:文字定界符,如Delimiter
  • ”:單引號

 

8. Calendar類

 


  • 設定和獲取日期資料的特定部分
  • 建立Calendar物件
Calendar c1 = Calendar.getInstance();
// c1.set(2018, 5, 12);
  • 1
  • 2

  • 物件欄位型別 
    • Calendar.YEAR
    • Calendar.MONTH
    • Calendar.DATE(Calendar.DAY_OF_MONTH)
    • Calendar.HOUR:12小時制
    • Calendar.HOUR_OF_DAY:24小時制
    • Calendar.MINUTE
    • Calendar.SECOND
    • Calendar.DAY_OF_WEEK:星期幾,1表示星期日,7表示星期六
  • 方法 
    • public final void set(int year, int month, int date):設定年月日
    • public void set(int field, int value):設定某個欄位
    • add(int field, int value):加上或減去一段時間
    • get(int field):獲得物件資訊

 

9. Java正規表示式

 

  • 在其他語言中,\\表示我想要在正規表示式中插入一個普通的反斜槓,請不要給它任何特殊意義;在Java中,\\表示我要插入一個正規表示式的反斜線,其後的字元具有特殊的意義。
  • 一位數字的正規表示式是\\d,表示一個普通的反斜槓是\\\\

  • 正規表示式語法 
    • \:將下一字元標記為特殊字元、文字、反向引用或八進位制轉義符
    • ^:開始位置
    • $:結尾位置
    • *:零次或多次,等效於{0,}
    • +:一次或多次,等效於{1,}
    • ?:零次或一次,等效於{0,1}
    • {n}:剛好匹配n次
    • {n,}:至少匹配n次
    • {n,m}:匹配至少n次,之多m次。‘{0,1}’等效於‘?’,不能將空格插入逗號和數字之間
    • ?:當?緊隨其他限定符之後時,匹配模式是“非貪心的”,儘可能短
    • .
    • (pattern):匹配pattern並捕獲該匹配的子表示式
    • (?:pattern):匹配pattern但不捕獲該匹配的子表示式
    • (?=pattern):執行正向預測先行搜尋的子表示式,該表示式匹配處於匹配pattern的字串的起始點的字串
    • (?!pattern):執行反向預測先行搜尋的子表示式,該表示式匹配不處於匹配pattern的字串的起始點的字串
    • x|y:或
    • [xyz]:字符集,匹配包含的任意字元
    • [^xyz]:反向字符集
    • [a-z]:字元範圍
    • [^a-z]:反向字元範圍
    • \b:匹配一個字邊界,即字與空格間的位置
    • \B:非字邊界匹配
    • \cx:匹配x指示的控制字元
    • \d:數字字元匹配,等效於[0-9]
    • \D:非數字字元匹配,[^0-9]
    • \f:換頁符匹配,\x0c和\cL
    • \n:換行符匹配,\x0a和\cJ
    • \r:回車符,\x0d和\cM
    • \s:匹配任何空白字元,\f\n\r\t\v
    • \S:匹配任何非空白字元
    • \t:製表符,\x09和\cI
    • \v:垂直製表符,\x0b和\cK
    • \w:匹配任何字類字元,包括下劃線,等效於”[A-Za-z0-9_]”
    • \W:任何非單詞字元,”[^A-Za-z0-9_]”
    • \xn:匹配n,此處n是一個十六進位制轉義碼
    • \num:此處num是一個正整數。到捕獲匹配的反向引用
    • \n:標識一個八進位制轉義碼或反向引用
    • \nm:標識一個八進位制轉義碼或反向引用
    • \nml:當n是八進位制數0-3,m和l是八進位制數0-7時,匹配八進位制轉義符nml
    • \un:匹配n,n是以四位十六進位制數表示的Unicode字元

 

10. Java方法

 

  • System.out.println():呼叫系統類System中的標準輸出物件out中的方法println()
  • 語句的集合,解決一類問題的步驟的有序組合
  • 第一個單詞小寫字母開頭,後面單詞大寫字母開頭,不使用連線符

  • 優點 
    • 簡短清晰
    • 利於程式維護
    • 提高開發效率
    • 提高程式碼重用性
  • 方法的過載 
    • 一個類的兩個方法有相同的名字,但是有不同的引數列表
  • 可變引數 
    • 一個方法中只能指定一個可變引數,必須是方法的最後一個引數,任何普通的引數必須在它之前宣告

 

11. Java流(Stream)、檔案(File)和IO

 


  • 一個流可以理解為一個資料的序列。輸入流表示從一個源讀取資料,輸出流表示向一個目標寫資料。
  • 讀取控制檯輸入:BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    • 讀取字元:br.read()
    • 讀取字串:br.readLine()
  • 控制檯輸出 
    • print();
    • println();
  • FileInputStream:從檔案讀取資料 
    • 使用字串型別的檔名來建立一個輸入流物件來讀取檔案InputStream f = new FileInputStream("C:/java/hello");
    • 使用一個檔案物件來建立一個輸入流物件來讀取檔案
    File f = new File("C:/java/hello");
    InputString out = new FileInputStream(f);
  • FileOutputStream:向檔案寫資料

 

12. Scanner類

 

  • 獲取使用者的輸入:Scanner s = new Scanner(System.in)

  • next方法獲取輸入的字串 
    1. 一定要讀取到有效字元後才可結束輸入
    2. 對輸入有效字元之前的空白,自動去掉
    3. 只有輸入有效字元後才將後面輸入的空白作為分隔符或結束符
    4. 不能得到帶有空格的字串
import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 從鍵盤接收資料

        // next方式接收字串
        System.out.println("next方式接收:");
        // 判斷是否還有輸入
        if (scan.hasnext()) {
            String str1 = scan.next();
            System.out.println("輸入的資料為:" + str1);
        }
        scan.close();
    }
}
  • nextLine方法 
    1. 返回輸入回車之前的所有字元
    2. 可以獲得空白
  • 輸入之前最好先使用hasNextXxx()方法進行驗證,再使用nextXxx()來讀取

 

13. Java異常處理

 


  • 檢查性異常(IOException):使用者村務或問題引起,如開啟一個不存在的檔案時
  • 執行時異常(RuntimeException):可以在編譯時被忽略,可能被程式設計師避免
  • 錯誤(Error):不是異常,錯誤在程式碼中通常被忽略,如JVM記憶體溢位
  • 異常方法 
    • public string getMessage()
    • public Throwable getCause()
    • public String toString()
    • public volid printStackTrace()
    • public StackTraceElement [] getStackTrace()
    • public Throwable filllnStackTrace()
  • 捕獲異常 
    • catch不能獨立於try存在
    • finally並非強制性要求
    • try程式碼後不能既沒catch塊也沒finally塊
    • try、catch、finally塊之間不能新增任何程式碼
    try{
        //
    }catch(ExceptionType1 e1){
        //
    }catch(ExceptionType2 e2){
        //
    }finally{
        //
    }

相關文章