Java知多少(76)語言套件(java.lang)簡介

來源:互聯網
上載者:User

標籤:

Java語言套件(java.lang)定義了Java中的大多數基本類,由Java語言自動調用,不需要顯示聲明。該包中包含了Object類,Object類是整個類階層的根結點,同時還定義了基礎資料型別 (Elementary Data Type)的類,如:String、Boolean、Byter、Short等。這些類支援數字類型的轉換和字串的操作等,下面將進行簡單介紹。

Math類

Math類提供了常用的數學運算方法以及Math.PI和Math.E兩個數學常量。該類是final的,不能被繼承,類中的方法和屬性全部是靜態,不允許在類的外部建立Math類的對象。因此,只能使用Math類的方法而不能對其作任何更改。表8-1列出了Math類的主要方法。 

表8-1 Math類的主要方法
方法 功能
int abs(int i) 求整數的絕對值(另有針對long、float、double的方法)
double ceil(double d) 不小於d的最小整數(傳回值為double型)
double floor(double d) 不大於d的最大整數(傳回值為double型)
int max(int i1,int i2) 求兩個整數中最大數(另有針對long、float、double的方法)
int min(int i1,int i2) 求兩個整數中最小數(另有針對long、float、double的方法)
double random() 產生0~1之間的隨機數
int round(float f) 求最靠近f的整數
long round(double d) 求最靠近d的長整數
double sqrt(double a) 求平方根
double sin(double d) 求d的sin值(另有求其他三角函數的方法如cos,tan,atan)
double log(double x) 求自然對數
double exp(double x) 求e的x次冪(ex)
double pow(double a, double b) 求a的b次冪

1 【例8-2】產生10個10~100之間的隨機整數。 2 //********** ep8_2.java ********** 3 class ep8_2{ 4 public static void main(String args[]){ 5 int a; 6 System.out.print("隨機數為:"); 7 for(int i=1;i<=10;i++){ 8 a=(int)((100-10+1)*Math.random()+10); 9 System.out.print(" "+a);10 }11 System.out.println();12 }13 }

運行結果: 隨機數為:12 26 21 68 56 98 22 69 68 31


由於產生的是隨機數,例8-2每次啟動並執行結果都不會相同。若要產生[a,b]之間的隨機數其通式為:
    (b-a+1)*Math.random()+a

字串類

字串是字元的序列。在 Java 中,字串無論是常量還是變數都是用類的對象來實現的。java.lang 提供了兩種字串類:String 類和 StringBuffer 類。

1.String 類
按照 Java 語言的規定,String 類是 immutable 的 Unicode 字元序列,其作用是實現一種不能改變的靜態字串。例如,把兩個字串串連起來的結果是產生一個新的字串,而不會使原來的字串改變。實際上,所有改變字串的結果都是產生新的字串,而不是改變原來字串。

字串與數組的實現很相似,也是通過 index 編號來指出字元在字串中的位置的,編號從0 開始,第 2 個字元的編號為 1,以此類推。如果要訪問的編號不在合法的範圍內,系統會產生 StringIndexOutOfBoundsExecption 異常。如果 index 的值不是整數,則會產生編譯錯誤。

String 類提供了如表 8-2 所示的幾種字串建立方法。

表 8-2 String 建立字串的方法
方法 功能
String s=”Hello!” 用字串常量自動建立 String 執行個體。
String s=new String(String s) 通過 String 對象或字串常量傳遞給構造方法。
public String(char value[]) 將整個字元數組賦給 String 構造方法。
public String(char value[], int offset, int count) 將字元數組的一部分賦給 String 構造方法,offset 為起始下標,count為子數組長度。


2.StringBuffer 類
String 類不能改變字串對象中的內容,只能通過建立一個新串來實現字串的變化。如果字串需要動態改變,就需要用 StringBuffer 類。StringBuffer 類主要用來實現字串內容的添加、修改、刪除,也就是說該類對象實體的記憶體空間可以自動改變大小,以便於存放一個可變的字元序列。

StringBuffer 類提供的三種構造方法
構造方法 說明
StringBuffer() 使用該無參數的構造方法建立的 StringBuffer 對象,初始容量為 16 個字元,當對象存放的字元序列大於 16 個字元時,對象的容量自動增加。該對象可以通過 length()方法擷取實體中存放的字元序列的長度,通過 capacity()方法擷取當前對象的實際容量。
StringBuffer(int length) 使用該構造方法建立的 StringBuffer 對象,其初始容量為參數 length 指定的字元個數,當對象存放的字元序列的長度大於 length 時,對象的容量自動增加,以便存放所增加的字元。
StringBuffer(Strin str) 使用該構造方法建立的 StringBuffer 對象,其初始容量為參數字串 str 的長度再加上 16 個字元。

 

 

幾種 StringBuffer 類常用的方法
方法 說明
append() 使用 append() 方法可以將其他 Java 類型資料轉化為字串後再追加到 StringBuffer 的對象中。
insert(int index, String str) insert() 方法將一個字串插入對象的字元序列中的某個位置。
setCharAt(int n, char ch) 將當前 StringBuffer 對象中的字元序列 n 處的字元用參數 ch 指定的字元替換,n 的值必須是非負的,並且小於當前對象中字串序列的長度。
reverse() 使用 reverse()方法可以將對象中的字元序列翻轉。
delete(int n, int m) 從當前 StringBuffer 對象中的字元序列刪除一個子字元序列。這裡的 n 指定了需要刪除的第一個字元的下標,m 指定了需要刪除的最後一個字元的下一個字元的下標,因此刪除的子字串從 n~m-1。
replace(int n, int m, String str) 用 str 替換對象中的字元序列,被替換的子字元序列由下標 n 和 m 指定。
系列文章:Java知多少(上)Java知多少(39)interface介面Java知多少(40)介面和抽象類別的區別Java知多少(41)泛型詳解Java知多少(42)泛型萬用字元和型別參數的範圍Java知多少(43)異常處理基礎Java知多少(44)異常類型Java知多少(45)未被捕獲的異常Java知多少(46)try和catch的使用Java知多少(47)多重catch語句的使用Java知多少(48)try語句的嵌套Java知多少(49)throw:異常的拋出Java知多少(50)Java throws子句Java知多少(51)finallyJava知多少(52)內建異常Java知多少(53)使用Java建立自己的異常子類Java知多少(54)斷言詳解Java知多少(55)線程Java知多少(56)執行緒模式Java知多少(57)主線程Java知多少(58)線程Runnable介面和Thread類詳解Java知多少(59)建立多線程Java知多少(60)isAlive()和join()的使用Java知多少(61)線程優先順序Java知多少(62)線程同步Java知多少(63)線程間通訊Java知多少(64)線程死結Java知多少(65)線程的掛起、恢複和終止Java知多少(66)輸入輸出(IO)和流的概述Java知多少(67)面向字元的輸入資料流Java知多少(68)面向字元的輸出資料流Java知多少(69)面向位元組的輸入輸出資料流Java知多少(70)面向位元組流的應用Java知多少(71)檔案與目錄管理Java知多少(72)檔案的隨機讀寫Java知多少(73)檔案的壓縮處理Java知多少(74)基礎類庫Java知多少(75)Object類

Java知多少(76)語言套件(java.lang)簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.