Java語言基礎(chǔ)02運算符和表達式+控制語句_第1頁
Java語言基礎(chǔ)02運算符和表達式+控制語句_第2頁
Java語言基礎(chǔ)02運算符和表達式+控制語句_第3頁
Java語言基礎(chǔ)02運算符和表達式+控制語句_第4頁
Java語言基礎(chǔ)02運算符和表達式+控制語句_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第1頁!第三章Java語言基礎(chǔ)

Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第2頁!本章主要內(nèi)容3.1數(shù)據(jù)類型3.2運算符和表達式3.3條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)3.4字符串3.5數(shù)組3.3.2循環(huán)結(jié)構(gòu)3.3.1條件結(jié)構(gòu)3.2.2表達式3.2.1運算符Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第3頁!3.2運算符和表達式3.2.1運算符對各種類型的數(shù)據(jù)進行加工的過程稱為運算表示各種不同運算的符號稱為運算符參與運算的數(shù)據(jù)稱為操作數(shù)運算符的優(yōu)先級與結(jié)合性如表所示。3.2.2表達式:由操作數(shù)和運算符按一定的語法規(guī)則組成的符號序列。圖3.2Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第4頁!3.2運算符和表達式1.

賦值運算符和賦值表達式在使用符合運算符時,=右邊的表達式總是先求值,如:x*=2+5等價于x=x*(2+5)而不是等價于x=x*2+5;Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第5頁!3.2運算符和表達式3.關(guān)系運算符和關(guān)系表達式關(guān)系運算符又稱比較運算符,因為關(guān)系運算實際上是比較大小的運算。Java提供了6種關(guān)系運算符:>、>=、<、<=、==、!=。前4種優(yōu)先級相同,且高于后面的兩種。關(guān)系運算符總是產(chǎn)生一個布爾值(true或false)用關(guān)系運算符連接的式子稱為關(guān)系表達式。一般格式為:

表達式1關(guān)系運算符表達式2關(guān)系表達式的值代表著某種關(guān)系的真假。比如,如果x的值是10,那么,x>5的值是“真”,而x<1的值是“假”Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第6頁!3.2運算符和表達式4.邏輯運算符和邏輯表達式Java提供了6種邏輯運算符:&,|,^,&&(與)、||(或)、!(非)。短路邏輯運算符,最常用的兩種短路邏輯運算符&&,||,a&&b:只有a與b都為true,結(jié)果才為true,否則為false。a||b:只有a與b都為false,結(jié)果才為false,否則為true用于將較小的布爾表達式連接在一起,形成更大的布爾表達式,只計算布爾值短路的特性在于它不在無意義的計算上浪費時間,如果運算符的左邊能夠確定表達式結(jié)果值,則運算符的右邊將不在做計算Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第7頁!3.2運算符和表達式5.條件運算符和條件表達式條件運算符是Java提供的唯一一個三目運算符。用條件運算符連接起來的式子稱為條件表達式。條件表達式的格式是:X=(布爾表達式)?表達式2:表達式3條件表達式的運算規(guī)則如下:如果表達式1的值為真,那么整個條件表達式的值就是表達式2的值,否則整個條件表達式的值是表達式3的值。例:

4>6?3:9//整個表達式的值為9Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第8頁!3.2運算符和表達式7.位運算符和位表達式位運算符的作用在于對整數(shù)數(shù)值的二進制表示進行運算,像二進制的AND與OR等運算。

(1)位求反運算符~:對操作數(shù)的二進制數(shù)據(jù)的每一個二進制位都取反,即1變成0,而0變成1。如~8的結(jié)果為-9。(2)位與運算符&:參與運算的兩個操作數(shù),相應(yīng)的二進制數(shù)位進行位與運算。如5&11結(jié)果為1。(3)位或運算符|:參與運算的兩個操作數(shù),相應(yīng)的二進制數(shù)位進行位或運算。如5|11結(jié)果為15。Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第9頁!3.3條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)3.3.1條件結(jié)構(gòu)條件語句使部分程序可根據(jù)某些表達式的值被有選擇地執(zhí)行。Java編程語言支持雙路if和多路switch分支語句。1if,else語句:基本句法是注意:在Java編程語言中,if()用的是一個布爾表達式,而不是數(shù)字值,這一點與C/C++不同。前面已經(jīng)講過,布爾類型和數(shù)字類型不能相互轉(zhuǎn)換。因而,如果出現(xiàn)下列情況:

if(x)

//x=1

你應(yīng)該使用下列語句替代:if(x!=0)if(booleanExpression){//codeblock;}elseif(booleanExpression){//codeblock;}else{//codeblock;}Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第10頁!3.3條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)3.3.2循環(huán)結(jié)構(gòu)循環(huán)語句使語句或塊的執(zhí)行得以重復(fù)進行。Java編程語言支持三種循環(huán)構(gòu)造類型:for,while和dowhile。for和while循環(huán)是在執(zhí)行循環(huán)體之前測試循環(huán)條件,而do是在執(zhí)行完循環(huán)體之后測試循環(huán)條件。這就意味著for和while循環(huán)可能連一次循環(huán)體都未執(zhí)行,而doloops將至少執(zhí)行一次循環(huán)體。Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第11頁!3.3條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)2while循環(huán)while循環(huán)的句法是:

例:

請確認(rèn)循環(huán)控制變量在循環(huán)體被開始執(zhí)行之前已被正確初始化,并確認(rèn)循環(huán)控制變量是真時,循環(huán)體才開始執(zhí)行??刂谱兞勘仨毐徽_更新以防止死循環(huán)。while(布爾表達式){

語句或塊}inti=0; while(i<10){ System.out.println("Areyoufinishedyet?"); i++;}System.out.println("Finally!");Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第12頁!3.3條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)4循環(huán)流程控制下列語句可被用在更深層次的控制循環(huán)語句中:break[標(biāo)注]:break語句被用來從switch語句中退出。continue[標(biāo)注]:continue語句被用來略過并跳到循環(huán)體的結(jié)尾。例:for(inti=0;i<3;i++){if(i==1){//跳過下面代碼,進入下次循環(huán)continue;}}for(inti=0;i<3;i++){if(i==1){//結(jié)束所有循環(huán),退出break;}}Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第13頁!3.2運算符和表達式1.

賦值運算符和賦值表達式“=”:賦值運算符,它的作用是設(shè)置變量的值。賦值運算符是雙目運算符,因為“=”兩邊都要有操作數(shù)?!?”左邊是待賦值的變量,右邊是要賦的值。注意:

除了“=”基本賦值運算符外,另外還有幾個復(fù)合賦值運算符:+=、-=、*=、/=和%=;五個由位運算符和賦值運算符組成的復(fù)合賦值運算符:<<=、>>=、&=、|=、和^=。用賦值運算符連接起來的式子稱為賦值表達式。賦值表達式的值就是被賦值的變量的值。賦值表達式加上分號就構(gòu)成了賦值語句,是極為常用的Java語句Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第14頁!3.2運算符和表達式2.算術(shù)運算符和算術(shù)表達式加(+)、減(-)、乘(*)、除(/)和取余(%)。算術(shù)運算符是雙目運算符。利用算術(shù)運算符連接起來的式子稱為算術(shù)表達式 。單目運算符:自增運算符(++)和自減運算符(--)。其功能是使變量的值增1或減1。++和--運算有以下四種情況:i++:使用i之后,i的值加1,即先取值,后自加。等價于i=i+1。++i:先使i加1,然后再使用i,即先自加,后取值。等價于i=i+1。i--:使用i之后,i的值減1,即先取值,后自減。等價于i=i-1。--i:先使i減1,然后再使用i,即先自減,后取值。等價于i=i-1。注意:我們建議,為了程序的易讀性,在程序中盡量不要使用這種自增自減運算符。

+也可以用于將兩個字符串連接到一塊,如果任何一個操作數(shù)是String時,則+運算符變成String的連接運算符;如果兩個操作數(shù)為數(shù)字,則+運算符是加法運算符Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第15頁!3.2運算符和表達式3.關(guān)系運算符和關(guān)系表達式Java有4個關(guān)系運算符(>,>=,<,<=)能夠用于比較整形、浮點型或字符型的任意組合相等性運算符:比較兩個相似的“事物”并返回一個布爾值。==、!=可以進行比較的事物為:數(shù)值字符布爾基本值對象引用變量Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第16頁!3.2運算符和表達式4.邏輯運算符和邏輯表達式非短路邏輯運算符有兩種&(非短路“與”),|(非短路“或”)這兩個運算符用于邏輯表達式中,與&&和||運算符一樣,但是由于它們不是短路運算符,所以它們總是要計算表達式兩邊的內(nèi)容邏輯運算符^和!^,“異或”:只計算布爾值,與非短路運算符相關(guān),總會同時計算表達式中左右兩邊的操作數(shù)。要使一個“異或”表達式的值為“true”,必須有且僅有一個操作數(shù)為“true”|,布爾“非”:運算符對當(dāng)前的布爾值取反并返回結(jié)果Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第17頁!3.2運算符和表達式6.instanceof比較instanceof運算符只能用于對象引用變量,可以用來檢查是否是某種類型運算符左邊的變量所引用的對象是否能通過右邊的類或接口類型的IS-A測試

publicclassTestInstanceof{ publicstaticvoidmain(String[]args){ Strings=newString("aaa"); if(sinstanceofString){ System.out.println("sisaString"); } }}

運行結(jié)果:sisaStringJava語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第18頁!3.2運算符和表達式7.位運算符和位表達式(4)位異或運算符^:參與運算的兩個操作數(shù),相應(yīng)的二進制數(shù)位進行位異或運算。如5^11結(jié)果為14。(5)保留符號位的右移運算符>>:將一個操作數(shù)的各個二進制位全部向右移若干位,這個位數(shù)由右操作數(shù)來決定,移到右端的低位被舍棄,左邊空出的位全部用最高位的符號位來填充。如5>>1結(jié)果為2。-9>>1,結(jié)果為-5。(6)不保留符號位的右移運算符>>>:與>>不同的是,>>>右移后左邊空出的位用0填充。如5>>>1結(jié)果為2。-9>>>1,結(jié)果為2147483643。(7)左移運算符<<:將一個操作數(shù)的所有二進制位向左移若干位,右邊空出的位填0。若高位左移后溢出,則舍棄溢出的數(shù)。如5<<1結(jié)果為10。Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第19頁!3.3條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)2switch語句switch語句的句法是:當(dāng)變量或表達式的值不能與任何case值相匹配時,可選缺省符(default)指出了應(yīng)該執(zhí)行的程序代碼。如果沒有break語句作為某一個case代碼段的結(jié)束句,則程序的執(zhí)行將繼續(xù)到下一個case,而不檢查case表達式的值。switch(expression){caseconstant1:codeblock;[break;]caseconstant2:codeblock;[break;]default:codeblock;[break]}Java語言基礎(chǔ)02運算符和表達式+控制語句共23頁,您現(xiàn)在瀏覽的是第20頁!3.3

溫馨提示

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

評論

0/150

提交評論