運(yùn)算符、表達(dá)式、流程控制上_第1頁(yè)
運(yùn)算符、表達(dá)式、流程控制上_第2頁(yè)
運(yùn)算符、表達(dá)式、流程控制上_第3頁(yè)
運(yùn)算符、表達(dá)式、流程控制上_第4頁(yè)
運(yùn)算符、表達(dá)式、流程控制上_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

運(yùn)算符、表達(dá)式、流程控制(上)主要內(nèi)容變量Java運(yùn)算符表達(dá)式運(yùn)算符(示例4-1/4-2)分割符:,,;,[],()算術(shù)運(yùn)算符:+,―,*,/,%,++,――關(guān)系運(yùn)算符:>,<,>=,<=,==,!=布爾邏輯運(yùn)算符:!,&,|,^,&&,||位運(yùn)算符:&,|,^,~,>>,<<,>>>賦值運(yùn)算符:=擴(kuò)展賦值運(yùn)算符:+=,―=,*=,/=字符串連接運(yùn)算符:+造型操作符:()遞增/遞減運(yùn)算符對(duì)于需要對(duì)操作數(shù)進(jìn)行加1或減1操作時(shí),可以使用遞增或遞減運(yùn)算符。遞增:++遞減:--注:++和--操作符只對(duì)變量操作,不能對(duì)數(shù)字操作。

關(guān)系和布爾運(yùn)算符(示例4-3)Java使用==號(hào)來(lái)判斷兩個(gè)值是否相等,而用!=來(lái)判斷是否不等,用>、<來(lái)判斷大于、小于,而用>=、<=來(lái)判斷大于等于、小于等于邏輯運(yùn)算符功能

!--邏輯非 &--邏輯與 |--邏輯或

^--邏輯異或 &&--短路與||--短路或注:關(guān)系表達(dá)式和布爾表達(dá)式運(yùn)算后的結(jié)果為:true或flase練習(xí):用”&&”校驗(yàn)用戶(hù)名密碼不為空并且長(zhǎng)度大于6位。關(guān)系和布爾運(yùn)算符(con.)ab!aa&ba|ba^ba&&ba||btruetruefalsetruetruefalsetruetruetruefalsefalsefalsetruetruefalsetruefalsetruetruefalsetruetruefalsetruefalsefalsetruefalsefalsefalsefalsefalse6位運(yùn)算符位運(yùn)算符功能

~--取反(一元運(yùn)算符) &--按位與

|--按位或 ^--按位異或位運(yùn)算符功能說(shuō)明:01001111~1011000001101101&010010011100101101101101|111011111100101101101101^1010011011001011移位運(yùn)算符>>:右移運(yùn)算符,將左操作數(shù)向右移動(dòng),移位個(gè)數(shù)由右操作數(shù)決定<<:左移運(yùn)算符,將左操作數(shù)向左移動(dòng),移位個(gè)數(shù)由右操作數(shù)決定>>>:無(wú)符號(hào)右移位運(yùn)算符移位運(yùn)算符(con.)移位運(yùn)算符性質(zhì)適用數(shù)據(jù)類(lèi)型:byte、short、char、int、long,對(duì)低于int型的操作數(shù)將先自動(dòng)轉(zhuǎn)換為int型再移位對(duì)于int型整數(shù)移位a>>b,系統(tǒng)先將b對(duì)32取模(也就是移位33次和移位1次得到的結(jié)果相同

),得到的結(jié)果才是真正移位的位數(shù)對(duì)于long型整數(shù)移位時(shí)a>>b,則是先將移位位數(shù)b對(duì)64取模移位運(yùn)算符賦值運(yùn)算符(示例4-4)賦值運(yùn)算符“=”是最常用的一種運(yùn)算符。它將等于號(hào)右邊的表達(dá)式的值賦給左邊的變量??梢詫⑵渌倪\(yùn)算符和賦值運(yùn)算符結(jié)合起來(lái),作為“擴(kuò)展”的賦值運(yùn)算符:+=,-=,*=,/=,%=,^=,&=,|=,>>=,<<=,>>>=賦值運(yùn)算符(con.)當(dāng)一個(gè)表達(dá)式中含有不同類(lèi)型的數(shù)據(jù)時(shí),需要用到類(lèi)型轉(zhuǎn)換。類(lèi)型轉(zhuǎn)換存在兩種不同的方式:隱式轉(zhuǎn)換(系統(tǒng)自動(dòng)完成)

系統(tǒng)自動(dòng)把數(shù)據(jù)由低級(jí)類(lèi)型向高級(jí)類(lèi)型轉(zhuǎn)換

強(qiáng)制轉(zhuǎn)換(由開(kāi)發(fā)人員自己完成)將表達(dá)式的結(jié)果強(qiáng)制轉(zhuǎn)換成指定的數(shù)據(jù)類(lèi)型類(lèi)型轉(zhuǎn)換(con.)(示例4-5)隱式類(lèi)型轉(zhuǎn)換:見(jiàn)下圖。在這個(gè)圖中,藍(lán)色的箭頭實(shí)線(xiàn)表示在進(jìn)行轉(zhuǎn)換的時(shí)候,不會(huì)損失信息,而紅色的箭頭虛線(xiàn)表示在轉(zhuǎn)換時(shí)可能會(huì)引起信息的損失。如果變量的長(zhǎng)度不小于表達(dá)式的長(zhǎng)度,則可進(jìn)行賦值,稱(chēng)表達(dá)式是賦值兼容的。在發(fā)生隱式類(lèi)型轉(zhuǎn)換時(shí),表達(dá)式的結(jié)果類(lèi)型以整個(gè)表達(dá)式中最高的數(shù)據(jù)類(lèi)型為準(zhǔn)!byteshortcharintlongfloatdouble強(qiáng)制類(lèi)型轉(zhuǎn)換(Cast,造型):強(qiáng)制類(lèi)型轉(zhuǎn)換,或者稱(chēng)為造型,用于顯式的轉(zhuǎn)換一個(gè)表達(dá)式的類(lèi)型。簡(jiǎn)單數(shù)據(jù)類(lèi)型可以被進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。例如:將一個(gè)double類(lèi)型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成int類(lèi)型示例:doubled=3.14;inta=(int)d;利用運(yùn)算符“(type)變量”進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,運(yùn)算符“()”中的type表示將變量的值轉(zhuǎn)換成的數(shù)據(jù)類(lèi)型。

除了簡(jiǎn)單類(lèi)型外,引用類(lèi)型也可以進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。(后面會(huì)詳細(xì)講解)類(lèi)型轉(zhuǎn)換(con.)作為字符串連接符的“+”(示例4-6)運(yùn)算符“+”除了用于數(shù)值類(lèi)型的加法運(yùn)算法,在字符串類(lèi)型(String)數(shù)據(jù)中,它還是一個(gè)用于連接字符串的特殊的運(yùn)算符。當(dāng)“+”用在表達(dá)式中的時(shí)候,如果其中有一個(gè)操作數(shù)是字符串類(lèi)型(String),則Java會(huì)自動(dòng)將另一個(gè)操作數(shù)也轉(zhuǎn)換成字符串,然后將這兩個(gè)字符串相連起來(lái)生成一個(gè)新的字符串。表達(dá)式表達(dá)式是運(yùn)算符和操作數(shù)的結(jié)合,它是任何一門(mén)編程語(yǔ)言的關(guān)鍵組成部分。表達(dá)式允許程序員進(jìn)行數(shù)學(xué)計(jì)算、值的比較、邏輯操作以及在Java中進(jìn)行對(duì)象的操作。一些表達(dá)式的例子:xx+10y=x+10arr[10]student.getName()表達(dá)式中運(yùn)算符的結(jié)合性所有的數(shù)學(xué)運(yùn)算都認(rèn)為是從左到右結(jié)合的,在Java中,大部分運(yùn)算也是從左到右結(jié)合的,只有單目運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符(邏輯運(yùn)算符)例外乘法和加法是兩個(gè)可結(jié)合的運(yùn)算,也就是說(shuō),這兩個(gè)運(yùn)算符左右兩邊的操作符可以互換位置而不會(huì)影響到結(jié)果。例如:

a+b與b+a的結(jié)果一樣

a*b與b*a的結(jié)果一樣表達(dá)式-練習(xí)1使用Java書(shū)寫(xiě)如下表達(dá)式:表達(dá)式-練習(xí)2請(qǐng)根據(jù)如下公式,計(jì)算月貸款支付金額,其中貸款總額、月利率、年數(shù)可自定義。公式如下:要求:采用方法計(jì)算月貸款支付金額。其中貸款總額、月利率、年數(shù)作為參數(shù)傳遞給方法后,方法完成月貸款金額的計(jì)算。(注:不用考慮計(jì)算結(jié)果)注意:請(qǐng)思考以下表達(dá)式是否正確?byteby1=10;byteby2=20;byteby3=by1+by2;-或-

shorts1=1;shorts2=2;shorts3=s1+s2;-或-

charc1=‘1’;charc2=‘2’;charc3=c1+c2;

表達(dá)式中運(yùn)算符的優(yōu)先順序下面的表格說(shuō)明了各個(gè)運(yùn)算符的優(yōu)先順序,優(yōu)先級(jí)高的運(yùn)算符放置在表的上部,而在同一行的運(yùn)算符擁有同樣的優(yōu)先順序。除了單目運(yùn)算符、賦值運(yùn)算符,其它的運(yùn)算符都是從左到右結(jié)合的。運(yùn)算符優(yōu)先級(jí)運(yùn)算符說(shuō)明Java運(yùn)算符分割符.[](),;單目運(yùn)算符+-~!++expr--expr創(chuàng)建或類(lèi)型轉(zhuǎn)換new(type),(type)expr乘法/除法*/%加法/減法+-移位<<>>>>>關(guān)系<<=>=>instanceof22運(yùn)算符優(yōu)先級(jí)(con.)運(yùn)算符說(shuō)明Java運(yùn)算符等于,不等于==,!=按位與&按位異或^按位或|條件與&&條件或||條件?:賦值=運(yùn)算符優(yōu)先級(jí)圖示三

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論