Java語言包(java.lang)簡介
Java語言包(java.lang)定義了Java中的大多數基本類,由Java語言自動呼叫,不需要顯示宣告。該包中包含了Object類,Object類是整個類層次結構的根結點,同時還定義了基本資料型別的類,如:String、Boolean、Byter、Short等。這些類支援數字型別的轉換和字串的操作等,下面將進行簡單介紹。
Math類
Math類提供了常用的數學運算方法以及Math.PI和Math.E兩個數學常量。該類是final的,不能被繼承,類中的方法和屬性全部是靜態,不允許在類的外部建立Math類的物件。因此,只能使用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次冪 |
【例8-2】產生10個10~100之間的隨機整數。
//********** ep8_2.java **********
class ep8_2{
public static void main(String args[]){
int a;
System.out.print("隨機數為:");
for(int i=1;i<=10;i++){
a=(int)((100-10+1)*Math.random()+10);
System.out.print(" "+a);
}
System.out.println();
}
}
執行結果: 隨機數為: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 所示的幾種字串建立方法。
方法 | 功能 |
---|---|
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 物件,初始容量為 16 個字元,當物件存放的字元序列大於 16 個字元時,物件的容量自動增加。該物件可以通過 length()方法獲取實體中存放的字元序列的長度,通過 capacity()方法獲取當前物件的實際容量。 |
StringBuffer(int length) | 使用該構造方法建立的 StringBuffer 物件,其初始容量為引數 length 指定的字元個數,當物件存放的字元序列的長度大於 length 時,物件的容量自動增加,以便存放所增加的字元。 |
StringBuffer(Strin str) | 使用該構造方法建立的 StringBuffer 物件,其初始容量為引數字串 str 的長度再加上 16 個字元。 |
方法 | 說明 |
---|---|
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.lang)簡介
Java語言包(java.lang)定義了Java中的大多數基本類,由Java語言自動呼叫,不需要顯示宣告。該包中包含了Object類,Object類是整個類層次結構的根結點,同時還定義了基本資料型別的類,如:String、Boolean、Byter、Short等。這些類支
Java語言包Lang API(java.lang):概覽
提供對Java程式語言設計基礎的類。 最重要的類是Object,它是類層次結構的根,Class的例項在執行時代表類。 通常需要將原始型別的值表示為物件。 包裝類布林值,字元,整數,長,浮點和雙倍用於此目的。 例如,Double型別的物件包含一個型別為double的欄位,表
深入java併發包原始碼(一)簡介
閱讀本文章前需要了解 CAS 操作是什麼。 首先大致介紹一下需要講到的幾個類,只需要理解這幾個類是什麼關係即可,後面會有詳細解析。 Unsafe :這個類提供了 native 方法,未開源,提供了執行緒阻塞和喚醒,原子操作等方法。 LockSupport :包裝了一層 Unsafe 類,非常類似於代
Java語言基礎-java的基本程式設計結構
關鍵字 被Java語言賦予特定含義的單詞特點:全部小寫 注意事項:goto和const作為保留字存在 識別符號 給類、介面、方法、變數等起名字的字元序列組成規則 英文大小寫字母 數字 $和_注意事項 不能以數字開頭不能是java中的關鍵字區分大小寫常見命名規則(見名知意) 包:全部小寫 單機包:小寫多級包
Java Web 學習筆記 第一章,java語言簡介
com 分布式 ron java瀏覽器 family javadoc 全球 intellij jvm 第一章 java語言簡介 一、什麽是java? Java 編程語言:簡單、完全面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的編程語言。
java語言與jvm虛擬機簡介
多態 成員 它的 共享 回收 for 並發 註解 申請 一、java語言 1.1 支持面向對象編程oop 強調支持,因為java同樣可以面向過程編程。 oop的三大特性是:封裝、繼承、多態。 封裝主要針對成員變量而
java中默認lang包下的Math.round和Math.rint的區別
public 的區別 pub round tro sta long ava 最小 public static double rint ( double ): 取最接近的整數(若相同則取偶數),然後轉為 double 類型 public static int round (
?Java基礎學習——java.lang包下 Class
測試 super 運行 接口 lan 類型信息 java基礎學習 應用 getc Class 類的實例表示正在運行的 Java 應用程序中的類或接口。在 Java 中,每個 Class 都有一個相應的 Class 對象,即每一個類,在生成的.class文件中,就會產生一個
maven 在類路徑或引導類路徑中找不到程式包 java.lang
報錯資訊: [INFO] Changes detected - recompiling the module! [INFO] Compiling 470 source files to /Users/baozhichao/workspace/meforlite/target
Java原始碼分析——java.lang.reflect反射包解析(三) 動態代理、Proxy類、WeakCache類
代理模式是一個經常被各種框架使用的模式,比如Spring AOP、Mybatis中就經常用到,當一個類訪問另外一個類困難時,可通過一個代理類來間接訪問,在Java中,為了保證程式的簡單性,代理類與目標類需要實現相同的介面。也就是說代理模式起
Java原始碼分析——java.lang.reflect反射包解析(二) Array類,陣列的建立
在Java中,引用型別中有那麼幾個特殊的類,Object類是所有類的起源、Class類定義所有類的抽象與行為、ClassLoader類實現了類從.class檔案中載入進jvm,而Array陣列類,則實現了陣列手動的建立。 &
Java原始碼分析——java.lang.reflect反射包解析(一) AccessibleObject、ReflectionFactory、Filed、Method、Constructor類
Java的反射機制一直是被人稱讚的,它的定義是:程式在執行中時,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性。簡單的來說就是可以通過Java的反射機制知道自己想知道的類的一切資訊。
[十五]java.math包簡介,RoundingMode與MathContext
java.math包提供了java中的數學類 包括基本的浮點庫、複雜運算以及任意精度的資料運算 '可以看得到,主要包括三個類一個列舉 BigDecimal和BigInteger接下來會詳細介紹 先說下另外兩個 RoundingMode 舍入行為/ 近似模式 對於很多
maven編譯時報錯:致命錯誤: 在類路徑或引導類路徑中找不到程式包 java.lang
在Windows中可以正常編譯執行的maven工程,在linux用jenkins打包編譯時出錯[ERROR] 致命錯誤: 在類路徑或引導類路徑中找不到程式包 java.lang 是因為windows和linux分隔符有差異Windows下使用分號(;),MAC
反射包 java.lang.reflect⑦ 之 Java 中 Proxy 動態代理類 探祕(三)
這個系列好久沒有續作了,你以為完了,錯了。這個動態代理有說不完的知識點,我也是在不斷的學習中才瞭解得到更多的知識。但無可否認的一點是它需更多其他的知識的支援,比如設計模式,設計思想。工作越久越覺得設計模式這個東西的重要性。 其實動態代理的前兩個例子只是簡單的列出了它的一個
[零] Java 語言執行原理 JVM原理淺析 入門瞭解簡介 Java語言組成部分 javap命令使用
The Java Virtual MachineJava虛擬機器是Java平臺的基石。是java實現硬體和作業系統的獨立性(也就是無關性),生成極小體積的編譯程式碼,以及保護使用者免受惡意程式攻擊的的關鍵技術組成部分。Java虛擬機器是一種抽象計算機器。像真正的計算機一樣,它有一個指令集以及在執行時各種記憶
java語言簡介
Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向物件程式語言的代表,極好地實現了面向物件理論,允許程式設計師以優雅的思維方式進行復雜的
3.瞭解java .lang 包,java.util包等常用包
包名 說明 java.lang 該包提供了Java程式設計的基礎類,例如 Object、Math、String、StringBuffer、System、Thread等,不使用該包就很難編寫Java程式碼了。 java.util 該包提供了包含集合框架、遺留的集合類、事件模型
Java語言開發工具包JDK的安裝與配置
Java語言開發工具包JDK的安裝與配置 說明:此JDK的安裝與配置流程是在Windows10作業系統下進行的,其他作業系統可能會有所不同,請根據不同作業系統選擇配置流程進行操作。 以安裝在D盤為例(軟體儘量都安裝在D盤) 安裝 版本:JDK1.8,即JDK8.0 雙
Java基礎-Java語言簡介
發展歷史 1.java的起源: 20世紀90年代,硬體領域出現了單片式計算機系統,使用它可以大幅度提升消費類電子產品(如電視機頂盒、麵包烤箱、行動電話等)的智慧化程度。Sun公司為了搶佔市場先機,在1991年成立了一個稱為Green的專案小組,專攻計算