溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

《Java編程思想》學習筆記03、控制程序流

發(fā)布時間:2020-08-08 03:29:08 來源:ITPUB博客 閱讀:149 作者:FEMCwenlinn 欄目:編程語言

1、大部分操作符只能操作基本類型(primitives),只有=、==和!=可以操作對象,另外String支持+和+=

2、在=兩邊,右值(rvalue)可以是常數(shù)、變量或表達式,左值(lvalue)必須是一個變量,即必須有物理空間來存儲rvalue

3、對基本類型賦值,是將一個地方的內(nèi)存復制到了另一個地方

[@more@]

1、大部分操作符只能操作基本類型(primitives),只有=、==和!=可以操作對象,另外String支持+和+=

2、在=兩邊,右值(rvalue)可以是常數(shù)、變量或表達式,左值(lvalue)必須是一個變量,即必須有物理空間來存儲rvalue

3、對基本類型賦值,是將一個地方的內(nèi)存復制到了另一個地方

4、為對象賦值時,只是將引用從一個地方復制到另一個地方,如對象a和b,使a=b,則a和b兩個引用操作同一個對象,使用a.i改變對象中的i值后,打印b.i,可以看到也被改變了

5、向方法中傳遞一個對象做參數(shù),實際傳遞的是對象的引用,所以方法中對對象所做的修改,在方法外仍然持續(xù)有效。

6、整數(shù)除法會直接去掉結果的小數(shù)位,不會進行四舍五入進位

7、用==和!=來比較引用時,指向同一對象的引用相等,否則不等

8、若要比較兩個引用指向的兩個對象內(nèi)容是否相等,使用.equal()方法,自定義類型需要自行重載.equal()函數(shù),否則.equal()函數(shù)默認比較引用,只有jdk自帶類型的.equal()可以直接使用

9、邏輯與、邏輯或、邏輯非(&&、||、!)操作只可以應用于boolean值,不可用于比較非boolean值

10、boolean可以自動轉(zhuǎn)成String

11、短路(short-circuiting)現(xiàn)象:一旦能夠明確無誤的確定整個表達式的值,程序就不再計算表達式余下的部分了,因此,一個邏輯表達式靠后的部分可能不會被運算。所以要注意是否在邏輯表達式中對變量值進行了修改操作,如果這一部分表達式?jīng)]有運算,值也就沒有被修改

12、位操作符(bitwise operator):按位與(&)、按位或(|)、按位非(~)、異或(^),位運算表達式不會短路

13、移位操作符(shift operator):左移位操作符(<<),低位補0;右移位操作符(>>),若符號為正,則高位補0,若符號為負,則高位補1,即始終維持符號不變;無符號右移位操作符(>>>),無論正負,高位都補0

14、boolean-exp ? value0 : value1,三元操作符,如果boolean表達式為true,則以value0為結果,否則以value1為結果

15、類型轉(zhuǎn)換操作符(casting operator):就是強制轉(zhuǎn)換,一般用于進行窄化轉(zhuǎn)換(narrowing conversion)。java允許由低精度類型向高精度類型自動轉(zhuǎn)換,如把int值賦給long,但反之則必須手工強制轉(zhuǎn)換

16、boolean類型不能和除字符串外的任何類型相互轉(zhuǎn)換。

17、表達式中出現(xiàn)的最大(所占位數(shù)最多,如double比int多,不是指數(shù)值最大)的數(shù)據(jù)類型決定了表達式最終結果的數(shù)據(jù)類型

18、Java中所有的數(shù)據(jù)類型在所有平臺上的大小都是相同的,它被固定在語言中了

19、int(其它數(shù)值型也可以)數(shù)過大時可能產(chǎn)生溢出,但java無論是編譯還是運行時,都不會報這個錯誤或異常,結果顯然是錯誤的

20、控制程序流程時所用的判斷必須是boolean,不允許使用普通數(shù)字,必須先轉(zhuǎn)換成boolean,如if(a!=0)

21、迭代(iteration),也可以理解為循環(huán)

22、break強行退出循環(huán),跳過循環(huán)語句,執(zhí)行后面的代碼,continue停止當次循環(huán),開始下一次循環(huán)

23、無窮循環(huán)有兩種形式:for(;;)或while(true),它們是等價的,使用時要小心,循環(huán)體內(nèi)一定要有break或return之類的語句,且執(zhí)行它們條件必須是可以滿足的

24、可以為循環(huán)標上label,之后使用continue label或break label來控制程序流程,語法為在循環(huán)定義行前加上"label1:"

25、switch語句的條件和其中各個case都必須是int或char(直接用數(shù)字或單引號加字符,如'a'),每個case后別忘了break,否則無法退出來(當然某些特殊情況下你可能并不想退出來,而是想要一次執(zhí)行多個case,default后就不需要break了,執(zhí)行過default自然會退出,不過放一個break會使風格看起來更整齊)

26、Math.random()用于產(chǎn)生一個01之間的隨機double數(shù),嚴格的說,它的結果包括0,但不包括1

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI