国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java常用API(Part1)

2023-01-27 20:38 作者:回到唐朝當(dāng)少爺  | 我要投稿

java API(Part1)

剛開始學(xué)java,隨便做點學(xué)習(xí)筆記

Part1含Math,System,Runtime,Object,Objects,BigInteger,BigDecimal庫的一些重要函數(shù)

Math

私有化構(gòu)造方法,所有的函數(shù)都是靜態(tài)的

System

工具類,提供一些與系統(tǒng)相關(guān)的方法

計算機中的時間原點:1970年1月1日 00:00:00

原因:1969年8月,貝爾實驗室的程序員肯湯普遜利用妻兒離開一個月的機會。開始著手創(chuàng)造一個全新的革命性的操作系統(tǒng)。 他使用B編譯語言在老舊的PDP-7機器上開發(fā)出了Unix的一個版本。隨后,湯普遜和同事丹尼斯里奇改進了B語言,開發(fā)出了C語言,重寫了UNIX。

1970年1月1日算C語言的生日

中國位于東八區(qū),時間原點為1970年1月1日 08:00:00

1s=1000ms,1ms=1000微秒.1微秒=1000納秒

數(shù)組拷貝:

  • 如果數(shù)據(jù)類型不一樣會報錯

  • 數(shù)組越界會報錯

  • 如果數(shù)據(jù)源數(shù)組和目的地數(shù)組都是引用數(shù)據(jù)類型,則子類類型可以賦值給父類類型

Runtime

表示當(dāng)前虛擬機的運行環(huán)境

可以通過代碼監(jiān)控虛擬機的內(nèi)存

可以加上shutdown關(guān)機參數(shù)實現(xiàn)自動關(guān)機

shutdown -s 默認在1min后關(guān)機 -s -t 指定時間: 指定時間后關(guān)機 -a:取消關(guān)機操作 -r:關(guān)機并重啟

Object

Object是Java中的頂級父類,所有的類都直接或間接地繼承于Object類

Object類中的方法可以被所有子類訪問

toString

兩種打印等價 打印的本質(zhì): System:類名 out:靜態(tài)變量 System.out:獲取打印的對象 println():方法 參數(shù):表示打印的內(nèi)容

核心邏輯:當(dāng)我們打印一個對象的時候,底層會調(diào)用對象的toString方法把對象變成字符串,然后再打印在控制臺上,打印完畢后換行

默認情況下,因為Object類中toString方法返回的是地址值,所以打印一個對象打印的就是對象的地址,如果想要看到對象內(nèi)部的屬性值?

如果我們打印一個對象想要看到屬性值的話:重寫父類toString方法

可用ptg插件快速完成此工作

equals

如果我們比較兩個對象想比較屬性值而不是默認的地址值的話:重寫Object的equals方法

idea中可按alt+insert選擇equals() and hashCode()快速完成此工作

如果沒有重寫equals方法,默認使用Object中的方法進行比較,比較的是地址值

s.equals(sb)

  • equals方法是s調(diào)用的,s是字符串,所以equals方法要看String類中的

  • String中的equals方法,先判斷參數(shù)是否為字符串,如果是字符串,再比較內(nèi)部的屬性;如果不是字符串,直接返回false

sb.equals(s)

  • 這里的equals方法要看StringBuilder中的,而StringBuilder中沒有重寫equals方法,使用的是Object中的,所以比較對象的地址值

clone

  • 把A對象的屬性值完全拷貝給B對象,也叫對象拷貝,對象復(fù)制

  • 書寫細節(jié):

    1. 重寫Object中的clone方法

    2. 讓javabean類實現(xiàn)Cloneable接口

    3. 創(chuàng)建原對象并調(diào)用clone

基本數(shù)據(jù)類型:存儲的是真實的值 引用數(shù)據(jù)類型:存儲的是另一個空間的地址值

淺拷貝:引用數(shù)據(jù)類型只拷貝地址值 深拷貝:引用數(shù)據(jù)類型會重新再創(chuàng)建一個新的地址

深拷貝在拷貝String對象時,由于原String對象已在串池StringTable中,所以也只拷貝原地址

Object中的克隆默認為淺克隆,深克隆需要在重寫clone()時自己寫

  • 可采用第三方工具gson進行深拷貝

    1. 將第三方代碼導(dǎo)入到項目中

    2. 編寫代碼

Objects

  • Objects中equals方法細節(jié):

    1. 方法底層會判斷s1是否為null,若為null,直接返回false;如果不為null,就利用s1再次調(diào)用equals方法

    2. 此時s1是Student類型,所以最終還是會調(diào)用Student中的equals方法

    3. 如果沒有重寫equals方法,比較地址值,如果重寫了,比較屬性值

如果只用Object中的equals方法,遇到空對象調(diào)用equals方法會報錯

BigInteger

java中,整數(shù)的4種類型byte:1字節(jié),short:2字節(jié),int:4字節(jié),long:8字節(jié)

  • valueOf細節(jié)

    1. 能表示的范圍較小,只能在long的取值范圍之內(nèi),如果超出long的范圍就不行了

    2. 在內(nèi)部對常用的數(shù)字-16~16進行了優(yōu)化,提前把-16~16先創(chuàng)建好了BigInteger的對象,如果多次獲取不會創(chuàng)建新的

BigInteger對象一旦創(chuàng)建,內(nèi)部記錄的值不能發(fā)生改變

小結(jié)

  1. 如果BigInteger表示的數(shù)沒有超出long范圍可用靜態(tài)方法獲取

  2. 如果超出則用構(gòu)造方法獲取

  3. 對象一旦創(chuàng)建,內(nèi)部記錄的值不能發(fā)生改變

  4. 只要進行計算都會產(chǎn)生一個新的BigInteger對象

BigDecimal

  1. 如果要表示的數(shù)字不大,沒有超過double的取值范圍建議使用valueOf

  2. 如果比較大,超出了double的取值范圍,建議使用構(gòu)造方法

  3. 如果傳遞的是[0,10]之間的整數(shù),方法會返回已經(jīng)創(chuàng)建好的對象

加減乘除類似于BigInteger

舍入模式:RoundingMode.HALF_UP四舍五入

感謝Up主@LuckyPuppy514制作的Markdown轉(zhuǎn)B站專欄油猴腳本

Java常用API(Part1)的評論 (共 條)

分享到微博請遵守國家法律
金塔县| 文水县| 柳林县| 吴堡县| 洛阳市| 香港| 肥城市| 会理县| 咸丰县| 开原市| 富川| 沽源县| 图片| 宁德市| 盐城市| 禄丰县| 吴堡县| 浑源县| 体育| 寿光市| 措勤县| 福建省| 山东省| 旬邑县| 鄂伦春自治旗| 丹寨县| 扎兰屯市| 景德镇市| 曲水县| 新余市| 惠安县| 南投县| 大丰市| 尼木县| 恩平市| 麦盖提县| 上饶市| 平安县| 蒲城县| 镇巴县| 满洲里市|