下午02運(yùn)算符與表達(dá)式_第1頁
下午02運(yùn)算符與表達(dá)式_第2頁
下午02運(yùn)算符與表達(dá)式_第3頁
下午02運(yùn)算符與表達(dá)式_第4頁
下午02運(yùn)算符與表達(dá)式_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 第二章第二章運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式李若亮高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !本章內(nèi)容l運(yùn)算符運(yùn)算符l數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換l表達(dá)式表達(dá)式北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !運(yùn)算符lJava語言中定義了若干運(yùn)算符號(hào),完成某種語言中定義了若干運(yùn)算符號(hào),完成某種特殊的運(yùn)算特殊的運(yùn)算l按照參與運(yùn)算的數(shù)據(jù)的數(shù)量分為三種類型按照參與運(yùn)算的數(shù)據(jù)的數(shù)量分為三種類型l一元一元/單目運(yùn)算符單目運(yùn)算符l二元二元/雙目運(yùn)算符雙目運(yùn)算符l三元三元/多多(三三)目運(yùn)算符目運(yùn)算符l按照運(yùn)算符

2、的功能分為六種按照運(yùn)算符的功能分為六種l算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符l位運(yùn)算符位運(yùn)算符移位運(yùn)算符移位運(yùn)算符條件運(yùn)算符條件運(yùn)算符北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !算術(shù)運(yùn)算符l加法運(yùn)算符加法運(yùn)算符+a + bl減法運(yùn)算符減法運(yùn)算符-a - bl乘法運(yùn)算符乘法運(yùn)算符*a * bl除法運(yùn)算符除法運(yùn)算符/a / bl模運(yùn)算符模運(yùn)算符%a% b北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !數(shù)據(jù)類型的轉(zhuǎn)換l數(shù)據(jù)類型的轉(zhuǎn)換即將一種數(shù)據(jù)類型轉(zhuǎn)換成另一數(shù)據(jù)類型的轉(zhuǎn)換即將一種數(shù)據(jù)類型轉(zhuǎn)換成另一種數(shù)據(jù)類型種數(shù)據(jù)類型l數(shù)據(jù)類

3、型轉(zhuǎn)換過程中數(shù)據(jù)的類型必須可轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換過程中數(shù)據(jù)的類型必須可轉(zhuǎn)換l應(yīng)用場合應(yīng)用場合l二元運(yùn)算符的兩個(gè)操作數(shù)類型不同二元運(yùn)算符的兩個(gè)操作數(shù)類型不同l表達(dá)式的類型與變量的類型不同表達(dá)式的類型與變量的類型不同l轉(zhuǎn)換方式轉(zhuǎn)換方式l隱型隱型/自動(dòng)自動(dòng) 類型轉(zhuǎn)換類型轉(zhuǎn)換/造型造型(系統(tǒng)自動(dòng)完成)(系統(tǒng)自動(dòng)完成)l顯型顯型/強(qiáng)制強(qiáng)制 類型轉(zhuǎn)換類型轉(zhuǎn)換/造型造型(手工完成)(手工完成)北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !隱型轉(zhuǎn)換/自動(dòng)造型 int x = 1; x與與y類型不同,運(yùn)算時(shí)先類型不同,運(yùn)算時(shí)先 long y = 2;將將x的類型轉(zhuǎn)換成的類型轉(zhuǎn)換成y的類型,

4、的類型, y = x + y;然后再進(jìn)行運(yùn)算然后再進(jìn)行運(yùn)算 int a = 10;a與與d類型不同,賦值時(shí)先類型不同,賦值時(shí)先 long d;將將a的類型轉(zhuǎn)換成的類型轉(zhuǎn)換成d的類型,的類型, d = a;然后再進(jìn)行賦值然后再進(jìn)行賦值以上操作均為隱型轉(zhuǎn)換以上操作均為隱型轉(zhuǎn)換隱型轉(zhuǎn)換的內(nèi)存結(jié)構(gòu)隱型轉(zhuǎn)換的內(nèi)存結(jié)構(gòu) ?a = d;北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !顯型轉(zhuǎn)換/強(qiáng)制造型 int a = 10;運(yùn)算完畢后,等號(hào)右邊的類型運(yùn)算完畢后,等號(hào)右邊的類型 long d = 20L;為為long型,等號(hào)左邊變量類型型,等號(hào)左邊變量類型 a = (int)d;為為i

5、nt型,此時(shí)必須強(qiáng)制將等號(hào)型,此時(shí)必須強(qiáng)制將等號(hào)右邊的類型轉(zhuǎn)換成左邊的類型右邊的類型轉(zhuǎn)換成左邊的類型int x = 1;long y = 2; x =(int)( x + y);以上操作均為顯型轉(zhuǎn)換以上操作均為顯型轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換的內(nèi)存結(jié)構(gòu)強(qiáng)制轉(zhuǎn)換的內(nèi)存結(jié)構(gòu)強(qiáng)制類型轉(zhuǎn)換后數(shù)據(jù)有可能與原始數(shù)據(jù)沒有任何關(guān)系強(qiáng)制類型轉(zhuǎn)換后數(shù)據(jù)有可能與原始數(shù)據(jù)沒有任何關(guān)系 北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !數(shù)據(jù)類型轉(zhuǎn)換與算術(shù)運(yùn)算的關(guān)系l當(dāng)參與算術(shù)運(yùn)算的兩個(gè)操作數(shù)類型不同時(shí),低類型轉(zhuǎn)換為當(dāng)參與算術(shù)運(yùn)算的兩個(gè)操作數(shù)類型不同時(shí),低類型轉(zhuǎn)換為高類型。高類型。l當(dāng)運(yùn)算過程中有變量參與時(shí),運(yùn)算結(jié)

6、果類型不足當(dāng)運(yùn)算過程中有變量參與時(shí),運(yùn)算結(jié)果類型不足int升為升為intl高類型與低類型高類型與低類型lbytelshortlintllonglfloatfloat與與double類型轉(zhuǎn)換成整型類型轉(zhuǎn)換成整型ldouble時(shí)只取整數(shù)部分時(shí)只取整數(shù)部分北京傳智播客教育 低低 高高高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !練習(xí)/面試 byte b = 1; b = b+1; System.out.println(b); short s = 1; byte b = 2; s = s + b; System.out.println(s); long x = 1; int y = 2; y

7、= (int) y + x; System.out.println(y);北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !char與intlchar型數(shù)據(jù)每個(gè)值都有一個(gè)型數(shù)據(jù)每個(gè)值都有一個(gè)int型的表示格式型的表示格式lchar c = a; lc的值是的值是a,在參與算術(shù)時(shí),在參與算術(shù)時(shí),a的值取其的值取其unicode碼值碼值lchar c = a;lSystem.out.println(c); lSystem.out.println(c+0);lSystem.out.println(c+b);北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !

8、整數(shù)運(yùn)算的臨界值l當(dāng)整數(shù)進(jìn)行算術(shù)運(yùn)算時(shí),如果超過了邊界值將當(dāng)整數(shù)進(jìn)行算術(shù)運(yùn)算時(shí),如果超過了邊界值將自動(dòng)截?cái)喑霾糠?,只保留對?yīng)數(shù)據(jù)范圍內(nèi)的自動(dòng)截?cái)喑霾糠郑槐A魧?yīng)數(shù)據(jù)范圍內(nèi)的數(shù)據(jù),此數(shù)據(jù)將失去原始值所表示的真實(shí)性數(shù)據(jù),此數(shù)據(jù)將失去原始值所表示的真實(shí)性北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !字符串連接運(yùn)算符 +l連接運(yùn)算符是將字符串參與到加運(yùn)算中連接運(yùn)算符是將字符串參與到加運(yùn)算中l(wèi)任何值與字符串進(jìn)行任何值與字符串進(jìn)行“+”運(yùn)算時(shí),均當(dāng)成字運(yùn)算時(shí),均當(dāng)成字符串處理,運(yùn)算結(jié)果為連接完成后的字符串符串處理,運(yùn)算結(jié)果為連接完成后的字符串l5+3 8l5+“3”“53”

9、l1+2+“3”“33”lint a = 1,b = 2;l“a=”+a+ “,b=”+b a=1,b=2北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !自增自減運(yùn)算符 + -l自增運(yùn)算符自增運(yùn)算符+i+ +jl自增即在原變量數(shù)據(jù)值基礎(chǔ)上自增即在原變量數(shù)據(jù)值基礎(chǔ)上+1,后賦值給,后賦值給原變量原變量l自減運(yùn)算符自減運(yùn)算符-i-jl自增即在原變量數(shù)據(jù)值基礎(chǔ)上自增即在原變量數(shù)據(jù)值基礎(chǔ)上-1,后賦值給原,后賦值給原變量變量l內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)l總結(jié)總結(jié)lX+先運(yùn)算后自增先運(yùn)算后自增l+X先自增后運(yùn)算先自增后運(yùn)算北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家!

10、 !關(guān)系運(yùn)算符l用于比較兩個(gè)值之間的關(guān)系,運(yùn)算結(jié)果為布爾值用于比較兩個(gè)值之間的關(guān)系,運(yùn)算結(jié)果為布爾值的的true或或falsel大于大于34l大于等于大于等于=4.5=1.8l小于小于3-5l小于等于小于等于=3.5=5l等于等于=3=3 5=4true=truel不等于不等于!=false!=false2.7!=3l?關(guān)系運(yùn)算符與算術(shù)運(yùn)算符共存時(shí)哪個(gè)先計(jì)算?關(guān)系運(yùn)算符與算術(shù)運(yùn)算符共存時(shí)哪個(gè)先計(jì)算?北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !邏輯運(yùn)算符l邏輯運(yùn)算是對布爾值的組合關(guān)系邏輯運(yùn)算是對布爾值的組合關(guān)系l邏輯運(yùn)算結(jié)果均為布爾值邏輯運(yùn)算結(jié)果均為布爾值true或或

11、falsel邏輯運(yùn)算分為三種邏輯運(yùn)算分為三種l邏輯與邏輯與&l邏輯或邏輯或|l邏輯異或邏輯異或l邏輯非邏輯非!北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !邏輯運(yùn)算真值表北京傳智播客教育 &(&)truefalsetruetruefalsefalsefalsefalse| ( | )truefalsetruetruetruefalsetruefalsetruefalse!falsetruetruefalsetruefalsetruefalsetruefalse高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !位運(yùn)算符l位運(yùn)算是針對數(shù)字的二進(jìn)

12、制表示格式進(jìn)行運(yùn)算位運(yùn)算是針對數(shù)字的二進(jìn)制表示格式進(jìn)行運(yùn)算的一種特殊運(yùn)算。的一種特殊運(yùn)算。l位運(yùn)算共包含四種運(yùn)算,操作數(shù)均為整數(shù)位運(yùn)算共包含四種運(yùn)算,操作數(shù)均為整數(shù)l按位取反按位取反15l按位與按位與&13&21l按位或按位或|33|15l按位異或按位異或17114北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !按位取反 l對操作數(shù)的每一個(gè)二進(jìn)制位進(jìn)行對操作數(shù)的每一個(gè)二進(jìn)制位進(jìn)行“取反取反”操作操作l格式:格式: 操作數(shù)操作數(shù)lint a = 42;lint aa = a;lSystem.out.println(“aa=” + aa);l42 00101

13、010l l-43 11010101北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !按位與 &l將操作數(shù)的對應(yīng)位逐位進(jìn)行位邏輯與運(yùn)算將操作數(shù)的對應(yīng)位逐位進(jìn)行位邏輯與運(yùn)算l格式:操作數(shù)格式:操作數(shù)&操作數(shù)操作數(shù)l用途:將操作數(shù)的指定二進(jìn)制位置用途:將操作數(shù)的指定二進(jìn)制位置0l42 & 15 l 00101010l &00001111l 00001010l 取后四位取后四位北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !按位或 |l將操作數(shù)的對應(yīng)位逐位進(jìn)行位邏輯或運(yùn)算將操作數(shù)的對應(yīng)位逐位進(jìn)行位邏輯或運(yùn)算l格式:操作數(shù)格

14、式:操作數(shù)|操作數(shù)操作數(shù)l用途:將操作數(shù)的指定二進(jìn)制位置用途:將操作數(shù)的指定二進(jìn)制位置1l42 & 15 l 00101010l |00001111l 00101111l后四位變成后四位變成1北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !按位異或 l將操作數(shù)的對應(yīng)位逐位進(jìn)行位異或運(yùn)算將操作數(shù)的對應(yīng)位逐位進(jìn)行位異或運(yùn)算l格式:操作數(shù)格式:操作數(shù)操作數(shù)操作數(shù)l用途:將操作數(shù)的指定二進(jìn)制位置取反用途:將操作數(shù)的指定二進(jìn)制位置取反l42 & 15 l 00101010l |00001111l 00100101l后四位進(jìn)行取反操作后四位進(jìn)行取反操作北京傳智播客教

15、育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !移位運(yùn)算符l對操作數(shù)的二進(jìn)制表示形式進(jìn)行左右移動(dòng)對操作數(shù)的二進(jìn)制表示形式進(jìn)行左右移動(dòng)l移位運(yùn)算共包含三種運(yùn)算移位運(yùn)算共包含三種運(yùn)算l左移左移l無符號(hào)右移無符號(hào)右移北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !左移l格式:格式:“op1 op2”l將操作數(shù)將操作數(shù)op1的二進(jìn)制位向左移的二進(jìn)制位向左移op2(正整數(shù)正整數(shù))位位l低位補(bǔ)零低位補(bǔ)零lint a = 42;lint aa = a 2;lSystem.out.println(“aa=” + aa);l42 00101010l op2”l將操作數(shù)將操作數(shù)o

16、p1的二進(jìn)制位向右移的二進(jìn)制位向右移op2(正整數(shù)正整數(shù))位位l原數(shù)為正數(shù),高位補(bǔ)零;原數(shù)為負(fù)數(shù),高位原數(shù)為正數(shù),高位補(bǔ)零;原數(shù)為負(fù)數(shù),高位補(bǔ)補(bǔ)1lint a = 42;lint aa = a 2;lSystem.out.println(“aa=” + aa);l42 00101010l 2l10 00001010 相當(dāng)于相當(dāng)于 42/22 = 10.5l運(yùn)算速度比除法快,但要注意數(shù)據(jù)精度問題運(yùn)算速度比除法快,但要注意數(shù)據(jù)精度問題北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !無符號(hào)右移l格式:格式:“op1 op2”l將操作數(shù)將操作數(shù)op1的二進(jìn)制位向右移的二進(jìn)制位向

17、右移op2(正整數(shù)正整數(shù))位位l高位補(bǔ)零高位補(bǔ)零lint a = 42;lint aa = a 2;lSystem.out.println(“aa=” + aa);北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !條件運(yùn)算符l條件運(yùn)算符是目前唯一的三目運(yùn)算符條件運(yùn)算符是目前唯一的三目運(yùn)算符l格式:格式:l條件表達(dá)式?表達(dá)式條件表達(dá)式?表達(dá)式1:表達(dá)式:表達(dá)式2 32?4:5ltrue/false?值值1:值:值2;l當(dāng)條件為真時(shí),該運(yùn)算符的結(jié)果是表達(dá)式當(dāng)條件為真時(shí),該運(yùn)算符的結(jié)果是表達(dá)式1l當(dāng)條件為假時(shí),該運(yùn)算符的結(jié)果是表達(dá)式當(dāng)條件為假時(shí),該運(yùn)算符的結(jié)果是表達(dá)式2l條件運(yùn)

18、算符的結(jié)果條件運(yùn)算符的結(jié)果l條件運(yùn)算符的運(yùn)算順序條件運(yùn)算符的運(yùn)算順序l條件運(yùn)算符的特殊形式條件運(yùn)算符的特殊形式北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !表達(dá)式l使用運(yùn)算符和括號(hào)將操作數(shù)連接起來求值的式使用運(yùn)算符和括號(hào)將操作數(shù)連接起來求值的式子子l操作數(shù)可以是變量、常量或方法操作數(shù)可以是變量、常量或方法(后期后期)l表達(dá)式類型表達(dá)式類型l算術(shù)表達(dá)式算術(shù)表達(dá)式l關(guān)系表達(dá)式關(guān)系表達(dá)式l邏輯表達(dá)式邏輯表達(dá)式l賦值表達(dá)式賦值表達(dá)式l復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !算術(shù)表達(dá)式l用算術(shù)運(yùn)算符和括號(hào)將操作數(shù)連接起來的式子用算術(shù)運(yùn)算符和括號(hào)將操作數(shù)連接起來的式子l結(jié)果為整數(shù)或?qū)崝?shù)結(jié)果為整數(shù)或?qū)崝?shù)北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !關(guān)系表達(dá)式l用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子l結(jié)果為布爾型的值結(jié)果為布爾型的值北京傳智播客教育 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !邏輯表達(dá)式l用邏輯運(yùn)算符將關(guān)系表達(dá)式和布爾值連接起來用邏輯運(yùn)算符將關(guān)系表達(dá)式和布爾值連接起來的式子的式子l結(jié)果為布爾型的值結(jié)果為布爾型的值北京傳智播客教育 高級(jí)軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論