版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022/2/13第 1 頁Java2實(shí)用教程實(shí)用教程(第第4版版) 第第3章章Email: 福建師范大學(xué)福建師范大學(xué) 林林 暉暉運(yùn)算符、表達(dá)式和語句運(yùn)算符、表達(dá)式和語句 2022/2/13第 2 頁主要內(nèi)容主要內(nèi)容運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式語句概述語句概述if條件分支語句條件分支語句switch開關(guān)語句開關(guān)語句循環(huán)語句循環(huán)語句break和和continue語句語句數(shù)組與數(shù)組與for語句語句導(dǎo)讀導(dǎo)讀2022/2/13第 3 頁3.1 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 JavaJava提供了豐富的運(yùn)算符,如算術(shù)運(yùn)算符、關(guān)提供了豐富的運(yùn)算符,如算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符等。系運(yùn)算符
2、、邏輯運(yùn)算符、位運(yùn)算符等。JavaJava語言中語言中的絕大多數(shù)運(yùn)算符和的絕大多數(shù)運(yùn)算符和C C語言相同,基本語句,如條件語言相同,基本語句,如條件分支語句、循環(huán)語句等也和分支語句、循環(huán)語句等也和C C語言類似,因此,本章語言類似,因此,本章就主要知識點(diǎn)給予簡單的介紹就主要知識點(diǎn)給予簡單的介紹 。2022/2/13第 4 頁3.1.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式 1加減運(yùn)算符加減運(yùn)算符: +,- 加減運(yùn)算符是二目運(yùn)算符;加減運(yùn)算符的結(jié)合方向是從左到右;加減運(yùn)算符的操作元是整型或浮點(diǎn)型數(shù)據(jù),加減運(yùn)算符的優(yōu)先級是4級。 2乘、除和求余運(yùn)算符:乘、除和求余運(yùn)算符: *,/,%以上運(yùn)
3、算符是二目運(yùn)算符,結(jié)合方向是從左到右,乘、除和求余運(yùn)算符的操作元是整型或浮點(diǎn)型數(shù)據(jù)。運(yùn)算符的優(yōu)先級是3級。3算術(shù)表達(dá)式算術(shù)表達(dá)式 用算術(shù)符號和括號連接起來的符合java語法規(guī)則的式子,稱為算術(shù)表達(dá)式。2022/2/13第 5 頁3.1.2 自增,自減運(yùn)算符自增,自減運(yùn)算符 自增、自減運(yùn)算符:自增、自減運(yùn)算符:+,- 是單目運(yùn)算符,可以放在操作元之前,也可以放在操作元之后。操作元必須是一個(gè)整型或浮點(diǎn)型變量。作用是使變量的值增1或減1,如:+x(-x)表示在使用使用x之前之前,先使x的值增(減)1。x+(x-)表示在使用使用x之后之后,使x的值增(減)1。2022/2/13第 6 頁3.1.3 算
4、術(shù)混合運(yùn)算的精度算術(shù)混合運(yùn)算的精度 精度從精度從“低低”到到“高高”排列的順序是:排列的順序是: byte short char int long float double Java在計(jì)算算術(shù)表達(dá)式的值時(shí),使用下列計(jì)算精度規(guī)則:1如果表達(dá)式中有雙精度浮點(diǎn)數(shù)(double型數(shù)據(jù)),則按雙精度進(jìn)行運(yùn)算按雙精度進(jìn)行運(yùn)算。2如果表達(dá)式中最高精度是單精度浮點(diǎn)數(shù)(float型數(shù)據(jù)),則按單精度進(jìn)行運(yùn)算按單精度進(jìn)行運(yùn)算。3如果表達(dá)式中最高精度是long型整數(shù),則按按long精度進(jìn)精度進(jìn)行運(yùn)算行運(yùn)算。4如果表達(dá)式中最高精度低于int型整數(shù),則按按int精度進(jìn)精度進(jìn)行運(yùn)算行運(yùn)算。2022/2/13第 7 頁3.
5、1.4 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式 關(guān)系運(yùn)算符關(guān)系運(yùn)算符: , = , = , = , != 關(guān)系運(yùn)算符是二目運(yùn)算符,用來比較兩個(gè)值的關(guān)系。關(guān)系運(yùn)算符的運(yùn)算結(jié)果是運(yùn)算結(jié)果是boolean型型,當(dāng)運(yùn)算符對應(yīng)的關(guān)系成立時(shí),運(yùn)算結(jié)果是true,否則是false。 2022/2/13第 8 頁3.1.5 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式 邏輯運(yùn)算符包括邏輯運(yùn)算符包括 &,|,!其中&、|為二目運(yùn)算符,實(shí)現(xiàn)邏輯與、邏輯或;!為單目運(yùn)算符,實(shí)現(xiàn)邏輯非。 邏輯運(yùn)算符的操作元必須是boolean型數(shù)據(jù),邏輯運(yùn)算符可以用來連接關(guān)系表達(dá)式。 2022/2/13第 9 頁3.1.6 賦
6、值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式 賦值運(yùn)算符:賦值運(yùn)算符:= 賦值運(yùn)算符是二目運(yùn)算符,左面的操作元必須是操作元必須是變量變量,不能是常量或表達(dá)式。 賦值運(yùn)算符的優(yōu)先級較低,是14級,結(jié)合方向右到左。 賦值表達(dá)式的值就是“=”左面變量的值。注意注意: :不要將賦值運(yùn)算符“=”與等號邏輯運(yùn)算符“=”混淆。2022/2/13第 10 頁3.1.7 位運(yùn)算符位運(yùn)算符 對兩個(gè)整型數(shù)據(jù)實(shí)施位運(yùn)算位運(yùn)算,即對兩個(gè)整型數(shù)據(jù)對應(yīng)的位位進(jìn)行運(yùn)算得到一個(gè)新的整型數(shù)據(jù)。1“按位與按位與”運(yùn)算運(yùn)算“按位與”運(yùn)算符“&”是雙目運(yùn)算符。2“按位或按位或”運(yùn)算運(yùn)算“按位或”運(yùn)算符:“|”是二目運(yùn)算符。3“按位非按位
7、非”運(yùn)算運(yùn)算“按位非”運(yùn)算符:“”是單目運(yùn)算符。4“按位異或按位異或”運(yùn)算運(yùn)算“按位異或”運(yùn)算符:“”是二目運(yùn)算符。 注意注意: :參與運(yùn)算的是兩個(gè)整型數(shù)據(jù)、結(jié)果也是整型數(shù)據(jù)。參與運(yùn)算的是兩個(gè)整型數(shù)據(jù)、結(jié)果也是整型數(shù)據(jù)。2022/2/13第 11 頁在下面的例子例子1中,利用“異或”運(yùn)算的性質(zhì),對幾個(gè)字符進(jìn)行加密并輸出密文,然后再解密,運(yùn)行效果如圖3.1。 例子例子12022/2/13第 12 頁3.1.8 instanceof instanceof 運(yùn)算符運(yùn)算符 instanceof 運(yùn)算符運(yùn)算符是二目運(yùn)算符,左面的操作元是一個(gè)對象對象;右面是一個(gè)類類。當(dāng)左面的對象是右面的類或子類創(chuàng)建的對象
8、時(shí),該運(yùn)算符運(yùn)算的結(jié)果是true ,否則是false。 2022/2/13第 13 頁3.1.9 運(yùn)算符綜述運(yùn)算符綜述 Java的表達(dá)式就是用運(yùn)算符連接起來的符合符合Java規(guī)規(guī)則則的式子。運(yùn)算符的優(yōu)先級運(yùn)算符的優(yōu)先級決定了表達(dá)式中運(yùn)算執(zhí)行的先后順序。在編寫程序時(shí)盡量的使用括號()運(yùn)算符號盡量的使用括號()運(yùn)算符號來實(shí)現(xiàn)想要的運(yùn)算次序,以免產(chǎn)生難以閱讀或含糊不清的計(jì)算順序。運(yùn)算符的結(jié)合性決定了并列的相同級別運(yùn)算符并列的相同級別運(yùn)算符的先后順序 。 2022/2/13第 14 頁3.2 語句概述語句概述 JavaJava里的語句可分為以下六類。里的語句可分為以下六類。1方法調(diào)用語句。方法調(diào)用語句
9、。如:如:System.out.println( Hello);System.out.println( Hello);2表達(dá)式語句表達(dá)式語句 表示式尾加上分號。比如賦值語句:表示式尾加上分號。比如賦值語句:x=23;x=23;3復(fù)合語句復(fù)合語句 可以用可以用 把一些語句括起來構(gòu)成復(fù)合語句,如:把一些語句括起來構(gòu)成復(fù)合語句,如: z=123+x;z=123+x; System.out.println(How are you); System.out.println(How are you); 4空語句。空語句。 一個(gè)分號也是一條語句,稱做空語句。一個(gè)分號也是一條語句,稱做空語句。5控制語句。控制
10、語句。控制語句分為條件分支語句、開關(guān)語句和循控制語句分為條件分支語句、開關(guān)語句和循環(huán)語句。環(huán)語句。6package語句和語句和 import語句。語句。它們和類、對象有關(guān),它們和類、對象有關(guān),將在第將在第4章講解。章講解。2022/2/13第 15 頁3.3 ifif條件分支語句條件分支語句 條件分支語句按著語法格式可細(xì)分為三種形式, if語句 if-else語句 if-else if- - else if -else 語句2022/2/13第 16 頁3.3.1 ifif語句語句 if語句是單條件分支語句,語句是單條件分支語句,即根據(jù)一個(gè)條件來控制程序執(zhí)行的流程(如圖3.2)。 if 語句的
11、語法格式: if(表達(dá)式)表達(dá)式) 若干語句若干語句 2022/2/13第 17 頁例子例子2將變量a,b,c內(nèi)存中的數(shù)值按大小順序進(jìn)行互換(從小到大排列)。 public class Example3_2 public static void main(String args) int a = 9,b = 5,c = 7,t=0; if(ba) t = a; a = b; b = t; if(ca) t = a; a = c; c = t; if(cb) t = b; b = c; c = t; System.out.println(a=+a+,b=+b+,c=+c); 例子例子22022/
12、2/13第 18 頁3.3.2 if-else if-else 語句語句 if-else 語句是雙條件分支語句,即根據(jù)一個(gè)條件來控制程序執(zhí)行的流程。 if-else 語句的語法格式:語句的語法格式:if(表達(dá)式)(表達(dá)式) 若干語句若干語句 else 若干語句若干語句 2022/2/13第 19 頁例子例子3中有兩條if-else語句,其作用是根據(jù)成績輸出相應(yīng)的信息,運(yùn)行效果如圖3.4。 例子例子32022/2/13第 20 頁3.3.3 if-else if-else if-else if-else 語句語句 if-else if-else 語句是多條件分支語句,即根據(jù)多個(gè)條件來控制程序執(zhí)行
13、的流程。 if-else if-else語句的語法格式:語句的語法格式:if(表達(dá)式(表達(dá)式) 若干語句若干語句 else if(表達(dá)式(表達(dá)式) 若干語句若干語句 else 若干語句若干語句 2022/2/13第 21 頁3.4 switchswitch開關(guān)語句開關(guān)語句 switch 語句是單條件多分支的開關(guān)語句,它的一般格式定義如下(其中break語句是可選的): switch(表達(dá)式表達(dá)式) case 常量值常量值1: 若干個(gè)語句若干個(gè)語句 break; case 常量值常量值2: 若干個(gè)語句若干個(gè)語句 break; . case 常量值常量值n: 若干個(gè)語句若干個(gè)語句 break; d
14、efault: 若干語句若干語句2022/2/13第 22 頁例子例子4 4使用了switch語句判斷用戶從鍵盤輸入的正整數(shù)是否為中獎號碼。 例子例子4 4import java.util.Scanner;public class Example3_4 public static void main(String args) int number = 0; System.out.println(輸入正整數(shù)輸入正整數(shù)(回車確定回車確定); Scanner reader = new Scanner(System.in); number = reader.nextInt(); switch(numb
15、er) case 9 : case 131 : case 12 : System.out.println(number+是三等獎是三等獎); break; case 209 : case 596 : case 27 : System.out.println(number+是二等獎是二等獎); break; case 875 : case 316 : case 59 : System.out.println(number+是一等獎是一等獎); break; default: System.out.println(number+未中獎未中獎); 2022/2/13第 23 頁3.5 3.5 循環(huán)語
16、句循環(huán)語句 3.5.1 3.5.1 forfor循環(huán)語句循環(huán)語句 for語句的語法格式:語句的語法格式: for (表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2; 表達(dá)式表達(dá)式3) 若干語句若干語句 for語句的執(zhí)行規(guī)則是:語句的執(zhí)行規(guī)則是: (1)計(jì)算“表達(dá)式1”,完成必要的初始化工作。 (2)判斷“表達(dá)式2”的值,若“表達(dá)式2”的值為true,則進(jìn)行(3),否則進(jìn)行(4)。 (3)執(zhí)行循環(huán)體,然后計(jì)算“表達(dá)式3”,以便改變循環(huán)條件,進(jìn)行(2)。 (4)結(jié)束for語句的執(zhí)行。 2022/2/13第 24 頁例子例子5計(jì)算8+88+888+8888 的前12項(xiàng)和 例子例子5public class Exa
17、mple3_5 public static void main(String args) long sum = 0,a = 8,item = a,n = 12,I = 1; for(i=1;i=n;i+) sum = sum+item; item = item*10+a; System.out.println(sum); 2022/2/13第 25 頁3.5.2 while while 循環(huán)循環(huán) while語句的語法格式:語句的語法格式: while (表達(dá)式表達(dá)式) 若干語句若干語句 while語句的執(zhí)行規(guī)則是:語句的執(zhí)行規(guī)則是: (1)計(jì)算表達(dá)式的值,如果該值是true時(shí),就進(jìn)行(2),否
18、則執(zhí)行(3)。 (2)執(zhí)行循環(huán)體,再進(jìn)行(1)。 (3)結(jié)束while語句的執(zhí)行。 2022/2/13第 26 頁3.5.3 do-whiledo-while循環(huán)循環(huán) do-while語句的語法格式:語句的語法格式: do 若干語句若干語句 while(表達(dá)式表達(dá)式); do- while語句的執(zhí)行規(guī)則是:語句的執(zhí)行規(guī)則是: (1)執(zhí)行循環(huán)體,再進(jìn)行(2)。 (2)計(jì)算表達(dá)式的值,如果該值是true時(shí),就進(jìn)行(1),否則執(zhí)行(3)。 (3)結(jié)束while語句的執(zhí)行。 2022/2/13第 27 頁例子例子6 6用while語句計(jì)算1+1/2!+1/3!+1/4! 的前20項(xiàng) 例子例子6 6pu
19、blic class Example3_6 public static void main(String args) double sum = 0,item = 1; int i = 1,n = 20; while(i=n) sum = sum+item; i = i+1; item = item*(1.0/i); System.out.println(sum=+sum); 2022/2/13第 28 頁3.6 breakbreak和和continuecontinue語句語句 break和continue語句是用關(guān)鍵用關(guān)鍵breakbreak或或continuecontinue加上分號構(gòu)成的語
20、句加上分號構(gòu)成的語句。 在循環(huán)體中可以使用break語句和continue語句。 如果在某次循環(huán)中執(zhí)行了break語句,那么整個(gè)循環(huán)語句就結(jié)束。如果在某次循環(huán)中執(zhí)行了continue語句,那么本次循環(huán)就結(jié)束,即不再執(zhí)行本次循環(huán)中循環(huán)體中continue語句后面的語句,而轉(zhuǎn)入進(jìn)行下一次循環(huán)。 2022/2/13第 29 頁例子例子7使用了continue和break語句 計(jì)算1+3+5輸出100內(nèi)的素?cái)?shù).例子例子7public class Example3_7 public static void main(String args) int sum=0,i,j; for( i=1;i=10;i+
21、) if(i%2=0) /計(jì)算計(jì)算1+3+5+7+9 continue; sum=sum+i; System.out.println(sum=+sum); for(j=2;j=100;j+) /求求100以內(nèi)的素?cái)?shù)以內(nèi)的素?cái)?shù) for( i=2;ij/2) System.out.println(+j+是素?cái)?shù)是素?cái)?shù)); 2022/2/13第 30 頁3.7 forfor語句與數(shù)組語句與數(shù)組 JDK1.5后,對for語句的功能給予擴(kuò)充、增強(qiáng),以便更好地遍歷數(shù)組。語法格式如下:for(聲明循環(huán)變量:數(shù)組的名字) 其中,聲明的循環(huán)變量的類型必須和數(shù)組的類型相同。這種形式的for語句類似自然語言中的“for each”語句,為了便于理解上述
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校安全工作與應(yīng)急管理計(jì)劃
- 電視設(shè)備租賃合同三篇
- 數(shù)控板料折彎機(jī)相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 亞硝酸鹽中毒解毒藥行業(yè)相關(guān)投資計(jì)劃提議
- 型材:異型鋼相關(guān)項(xiàng)目投資計(jì)劃書
- 《液壓與氣動》課件 1齒輪泵的結(jié)構(gòu)和工作原理
- 市場管理服務(wù)相關(guān)項(xiàng)目投資計(jì)劃書
- 鐵路行業(yè)安全巡查的標(biāo)準(zhǔn)化計(jì)劃
- 《解除迷茫規(guī)劃人生》課件
- 普通話教程課件普通話水平測試
- 醫(yī)院培訓(xùn)課件:《一例腸造口患者的病例討論》
- CHT 9009.2-2010 基礎(chǔ)地理信息數(shù)字成果1:5 000 1:10 000 1:25 000 1:50 000 1:100 000數(shù)字高程模型
- A課堂懲罰游戲
- 中國畫基礎(chǔ)-梅蘭竹菊智慧樹知到期末考試答案章節(jié)答案2024年華僑大學(xué)
- 工作轉(zhuǎn)正答辯問題
- 供應(yīng)鏈金融平臺設(shè)計(jì)方案
- 網(wǎng)絡(luò)安全技術(shù)知識競賽考試題庫500題(含答案)
- 外墻水包水清工施工合同
- 2023年國家糧食和物資儲備局招聘考試真題及答案
- 《零件測繪》學(xué)業(yè)水平考試題庫(濃縮300題)
- 集美大學(xué)航海技術(shù)船舶避碰與值班教案2課件
評論
0/150
提交評論