1. 程式人生 > >Java語言包(java.lang)簡介

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類的主要方法。 

表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 所示的幾種字串建立方法。

表 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.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的專案小組,專攻計算