版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、運(yùn)算符、表達(dá)式ID:SCSJ001-Java Basic Syntax運(yùn)算符、表達(dá)式Java運(yùn)算符表達(dá)式2運(yùn)算符分割符:,,;,()算術(shù)運(yùn)算符: +,*,/,%,+,關(guān)系運(yùn)算符: ,=,賦值運(yùn)算符: = 擴(kuò)展賦值運(yùn)算符:+=,=,*=,/=字符串連接運(yùn)算符: + 造型操作符:()三目運(yùn)算符:?:3遞增/遞減運(yùn)算符對于需要對操作數(shù)進(jìn)行加1或減1操作時(shí),可以使用遞增或遞減運(yùn)算符遞增:+遞減:-int a = 10;System.out.print(a+);/10System.out.print(a);/11System.out.print(a-);/11System.out.print(a);/1
2、0System.out.print(+a);/11System.out.print(a);/11System.out.print(-a);/10System.out.print(a);/104關(guān)系和布爾運(yùn)算符(示例4-3)Java使用=號來判斷兩個(gè)值是否相等,而用!=來判斷是否不等,用、=、:右移運(yùn)算符,將左操作數(shù)向右移動,移位個(gè)數(shù)由右操作數(shù)決定:無符號右移位運(yùn)算符int a = 8;int b = a 1; /4int c = a 1; /無符號左移位運(yùn)算符11111111 11111111 11111111 11111110 (-2)01111111 11111111 11111111 1
3、1111111 (2147483647)8移位運(yùn)算符(con.)移位運(yùn)算符性質(zhì)適用數(shù)據(jù)類型:byte、short、char、int、long,對低于int型的操作數(shù)將先自動轉(zhuǎn)換為int型再移位 對于int型整數(shù)移位ab,系統(tǒng)先將b對32取模,得到的結(jié)果才是真正移位的位數(shù) (取模原因:防止移動位數(shù)超過32位的無效位數(shù))對于long型整數(shù)移位時(shí)ab ,則是先將移位位數(shù)b對64取模9移位運(yùn)算符10賦值運(yùn)算符(示例4-4)賦值運(yùn)算符“=”是最常用的一種運(yùn)算符。它將等于號右邊的表達(dá)式的值賦給左邊的變量??梢詫⑵渌倪\(yùn)算符和賦值運(yùn)算符結(jié)合起來,作為“擴(kuò)展”的賦值運(yùn)算符:+=,-=,*=,/=,%=,=,&
4、=,|=,=,=11賦值運(yùn)算符(con.)當(dāng)一個(gè)表達(dá)式中含有不同類型的數(shù)據(jù)時(shí),需要用到類型轉(zhuǎn)換。類型轉(zhuǎn)換存在兩種不同的方式:隱式轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換12類型轉(zhuǎn)換(con.)隱式類型轉(zhuǎn)換:見下圖。在這個(gè)圖中,黑色的實(shí)線表示在進(jìn)行轉(zhuǎn)換的時(shí)候,不會損失信息,而紅色的虛線表示在轉(zhuǎn)換時(shí)可能會引起信息的損失。如果變量的長度不小于表達(dá)式的長度,則可進(jìn)行賦值,稱表達(dá)式是賦值兼容的。byteshortcharintlongfloatdouble13類型轉(zhuǎn)換(con.)強(qiáng)制類型轉(zhuǎn)換(Cast,造型):強(qiáng)制類型轉(zhuǎn)換,或者稱為造型,用于顯式的轉(zhuǎn)換一個(gè)表達(dá)式的類型。簡單數(shù)據(jù)類型可以被進(jìn)行強(qiáng)制類型轉(zhuǎn)換。例如,將一個(gè)double類
5、型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成int類型。利用運(yùn)算符“(type)var”進(jìn)行強(qiáng)制類型轉(zhuǎn)換。除了簡單類型外,引用類型也可以進(jìn)行強(qiáng)制類型轉(zhuǎn)換。int a = 8;long b = a ;int c = b;/錯(cuò)誤,不能將long轉(zhuǎn)化為int類型。int d = (int)b;short s = 1;s = s + 1; /不能編譯通過s += 1;/+=是運(yùn)算符,可以編譯通過。14作為字符串連接符的“+”運(yùn)算符“+”除了用于數(shù)值類型的加法運(yùn)算法,在字符串類型(String)數(shù)據(jù)中,它還是一個(gè)用于連接字符串的特殊的運(yùn)算符。當(dāng)“+”用在表達(dá)式中的時(shí)候,如果其中有一個(gè)操作數(shù)是字符串類型(String),則Java
6、會自動將另一個(gè)操作數(shù)也轉(zhuǎn)換成字符串,然后將這兩個(gè)字符串相連起來生成一個(gè)新的字符串。String s = “abc”;System.out.print(s + 12); /”abc12”15表達(dá)式表達(dá)式是運(yùn)算符和操作數(shù)的結(jié)合,它是任何一門編程語言的關(guān)鍵組成部分表達(dá)式允許程序員進(jìn)行數(shù)學(xué)計(jì)算、值的比較、邏輯操作以及在Java中進(jìn)行對象的操作。一些表達(dá)式的例子:xx+10y=x+10arr10student.geName()16表達(dá)式中運(yùn)算符的結(jié)合性所有的數(shù)學(xué)運(yùn)算都認(rèn)為是從左到右結(jié)合的,在Java中,大部分運(yùn)算也是從左到右結(jié)合的,只有單目運(yùn)算符、賦值運(yùn)算符和條件運(yùn)算符例外乘法和加法是兩個(gè)可結(jié)合的運(yùn)算,
7、也就是說,這兩個(gè)運(yùn)算符左右兩邊的操作符可以互換位置而不會影響到結(jié)果17表達(dá)式中運(yùn)算符的優(yōu)先順序下面的表格說明了各個(gè)運(yùn)算符的優(yōu)先順序,優(yōu)先級高的運(yùn)算符放置在表的上部,而在同一行的運(yùn)算符擁有同樣的優(yōu)先順序。除了單目運(yùn)算符、賦值運(yùn)算符以及條件運(yùn)算符,其它的運(yùn)算符都是從左到右結(jié)合的。18運(yùn)算符優(yōu)先級運(yùn)算符說明Java運(yùn)算符分割符. () , ;單目運(yùn)算符+ - ! +expr -expr創(chuàng)建或類型轉(zhuǎn)換New (type)expr乘法除法* / %加法減法+ -移位 關(guān)系 = instanceof19運(yùn)算符優(yōu)先級(con.)運(yùn)算符說明Java運(yùn)算符等價(jià)= !=按位與&按位異或按位或|條件與&條件或|條件
8、?:賦值=20流程控制ID:SCSJ001-Java Basic Syntax21流程控制分支語句循環(huán)語句break, continue語句22分支語句分支語句實(shí)現(xiàn)程序流程控制的功能 ,即根據(jù)一定的條件有選擇地執(zhí)行或跳過特定的語句Java分支語句分類if-else 語句switch 語句23分支語句(if語句)語法:if(條件表達(dá)式) /做某些事情 else /做某些事情語法:if(條件表達(dá)式) /做某些事情else if(條件表達(dá)式) /做某些事情else /做某些事情如果語句塊里只有一句語句,代碼可以簡寫為:if(條件表達(dá)式) /做某些事情else if(條件表達(dá)式) /做某些事情else
9、 /做某些事情24分支語句(if語句)public int max(int a, int b) int max = 0; if(a b) max = a; else max = b; return max;int a = 20;int b = 30;int c = obj.max(a, b);System.out.println(c);結(jié)果:30public int max(int a, int b) return (ab)?a:b;/如上為二目運(yùn)算表達(dá)式25if語句例子public void printInfo(int a) if(a 0 & a 10 & a 18 & a 0 & a 10
10、 & a 18 & a = 35) System.out.println(“青壯年”); else System.out.println(“老年”);int a = 8;obj.printInfo(a);結(jié)果:童年 老年注意,沒有else if語句27分支語句(switch) (示例4-8)另外一種分支語句是switch語句。Switch語句是一種不需要求布爾值的分支語句。語法:switch (expr1) case constant2: statements; break; default: statements; break;public String getResponse(int a)
11、 String msg = “”; switch (a) case 5: msg=“優(yōu)秀”; break; case 4: msg=“良好”; break; default: msg=“不及格”; break; return msg;int a = 5;String msg = obj.getResponse(a)System.out.println(msg);結(jié)果:優(yōu)秀結(jié)果:良好28分支語句(switch)5分4分算優(yōu)秀,2分3分是良好,其他是不及格如何完成?public String getResponse(int a) String msg = “”; switch (a) case 5
12、: msg=“優(yōu)秀”; break; case 4: msg=“優(yōu)秀”; break; case 3: msg=“良好”; break; case 2: msg=“良好”; break; default: msg=“不及格”; break; return msg;int a = 5;String msg = obj.getResponse(a)System.out.println(msg);29循環(huán)語句循環(huán)語句是用來控制那些根據(jù)運(yùn)行期情況需要反復(fù)執(zhí)行的語句系列。Java中的循環(huán)語句fordo/whilewhile30循環(huán)語句(for)for語句格式:for (init_expr ; boole
13、an test_expr; alter_expr) statement or block;public int calculate(int a) int s = 0; for(int i = 0; i 練習(xí)(2分鐘)打印如下圖形:* * * * * * * * * * * * * * * *public void print(int num) for(int i = 1; i = num; i+) for(int j = 1; j 練習(xí)(2分鐘)換一種打印,打印如下圖形:* * * * * * * * * * * * * * * * *public void print(int num) fo
14、r(int i = 1; i 0; j-) System.out.print(“*”); System.out.println(); 33循環(huán)語句(while)init_statement;while ( boolean_expr ) statement or block; alter_expr;public int add() int s = 0; while(i = 100) s = s + i; i+; /s += i+; 34循環(huán)語句(dowhile)dowhile語句格式:init_exprdo body_statement;alter_expr;while( test_expr);
15、35break/continue語句使用break語句可以終止switch語句或者循環(huán)語句的執(zhí)行break語句和標(biāo)簽(label)的結(jié)合可以用來指定從多個(gè)嵌套循環(huán)的某個(gè)循環(huán)中跳出。out1:for (int i = 1; i = 9; i+) out2:for (int j = 1; j = i; j+) if(j = 2) break out1;/盡量不這樣使用。 System.out.println();36break/continue語句(con.)continue語句用來略過循環(huán)中剩下的語句,重新開始新的循環(huán),這和break語句的完全跳出循環(huán)是不一樣的。continue 僅僅出現(xiàn)在while/do/for語句的子語句塊中。也可以使用和標(biāo)簽結(jié)合的方式來選擇需要終止的嵌套循環(huán)的層級。37小結(jié)Java運(yùn)算符表達(dá)式分支語句循環(huán)語句break, continue語句38作業(yè)完成5!的計(jì)算,遞歸方法實(shí)現(xiàn)呢?統(tǒng)計(jì)int a = 847574中位值為”1”的個(gè)數(shù)如果a = 7, 那么位值為1的個(gè)數(shù)為3如果a = 9, 那么位值為1的個(gè)數(shù)為2在屏幕上打印1-30個(gè)數(shù),每7個(gè)數(shù)換行打印1000以內(nèi)的所有素?cái)?shù)打印10以內(nèi)所有的偶數(shù)九九乘法口訣表編寫一個(gè)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度Logo設(shè)計(jì)及品牌形象重塑合同
- 家具供應(yīng)合同范本
- 2024簡單的農(nóng)村土地轉(zhuǎn)讓合同
- 二手房交易合同-范本
- 2024上市公司合同管理辦法
- 標(biāo)準(zhǔn)店面租賃合同書樣本
- 2024內(nèi)粉墻刷白合同
- 2024年借款延期合同范本
- 2024墻紙采購合同
- 2024小區(qū)綠化種植合同
- 2024-2030年中國氦液化系統(tǒng)市場深度調(diào)查與未來發(fā)展前景預(yù)測研究報(bào)告
- 2024年歷年中級經(jīng)濟(jì)師工商管理考試真題及答案
- 2024年感動中國年度人物介紹頒獎典禮
- 肋骨骨折講課課件
- 2024年軍隊(duì)文職人員招聘考試公共科目真題
- 金川公司社會招聘試題
- 青島版五年級數(shù)學(xué)上冊豎式計(jì)算題100道及答案
- 幼兒園食品安全追溯管理制度
- 高級養(yǎng)老護(hù)理員試題與答案
- 《我的家鄉(xiāng)南京》課件
- 《離心技術(shù)》課件
評論
0/150
提交評論