




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第3章運算符、表達(dá)式與語句 本章導(dǎo)讀本章導(dǎo)讀1. 算術(shù)運算符和算術(shù)表達(dá)式2. 關(guān)系運算符與關(guān)系表達(dá)式3. 邏輯運算符與邏輯表達(dá)式4. 賦值運算符與賦值表達(dá)式5. 移位運算符6. 位運算符7. 條件運算符8. 分支語句9.循環(huán)語句標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出流輸出流nSystem類的靜態(tài)屬性:in: 標(biāo)準(zhǔn)的輸入流,主要處理鍵盤或其他輸入設(shè)備輸入的數(shù)據(jù)信息。(InputStream類)out: 標(biāo)準(zhǔn)的輸出流,主要將數(shù)據(jù)輸出到顯示器或其他輸出終端。(PrintStream類)n如:char c= (char)System.in.read(); System.out.print(c);字符流類字符流類nSc
2、anner(InputStream source) 構(gòu)造一個新的 Scanner,它生成的值是從指定的輸入流掃描的。 next() 方法:查找并返回來自此掃描器的下一個完整標(biāo)記。返回類型為String。nScanner reader=new Scanner(System.in); String st=reader.next();字符流類字符流類reader對象調(diào)用下列方法(函數(shù)),讀取用戶在命令行輸入的各種數(shù)據(jù)類型, nextByte(), nextDouble(), nextFloat(), nextInt(),nextLong(), nextShort() nInteger.parseIn
3、t()方法方法parseInt(String s) 將字符串參數(shù)作為有符號的十進制整數(shù)進行解析。 如:String s=“-10”;int i= Integer.parseInt(s);n可變字符串StringBuffer:reverse() 將字符序列用其反轉(zhuǎn)形式取代。如:StringBuffer s1,s2;s1=new StringBuffer(“abc”);s2=s1.reverse(); 一維數(shù)組一維數(shù)組 數(shù)組是相同類型的數(shù)據(jù)按順序組成的一種復(fù)合數(shù)據(jù)類型。 1聲明數(shù)組 聲明數(shù)組包括數(shù)組的名字、數(shù)組元素的數(shù)據(jù)類型。 聲明一維數(shù)組有下列兩種格式: 數(shù)組元素類型 數(shù)組名字 ; 數(shù)組元素類型
4、 數(shù)組名字;如:int a; 或 int a ;一維數(shù)組一維數(shù)組2創(chuàng)建數(shù)組 聲明數(shù)組僅僅是給出了數(shù)組名和元素的數(shù)據(jù)類型,要想使用數(shù)組還必須為它分配內(nèi)存空間,即創(chuàng)建數(shù)組。在為數(shù)組分配內(nèi)存空間時必須指明數(shù)組的長度。格式如下: 數(shù)組名 = new 數(shù)組元素的類型數(shù)組元素的個數(shù); 例如: a= new int4;一維數(shù)組一維數(shù)組3. 初始化 intint a = new int51,2,3,4,5; a = new int51,2,3,4,5;4數(shù)組元素的使用 一維數(shù)組通過下標(biāo)符訪問自己的元素,如a0,a1等。需要注意的是下標(biāo)從0開始,因此,數(shù)組若是5個元素,下標(biāo)到4為止,如果使用下標(biāo)超過5將會發(fā)生異
5、常。3.1算術(shù)運算符和算術(shù)表達(dá)式算術(shù)運算符和算術(shù)表達(dá)式(1)加減運算符加減運算的結(jié)合性是從左到右。 “+、-”(2)乘、除和求余運算符乘、除和求余運算的運算符號為*、/、%,都是雙目運算符。*、/、%運算符的結(jié)合性是從左到右。 3.1算術(shù)運算符和算術(shù)表達(dá)式算術(shù)運算符和算術(shù)表達(dá)式 (3)自增、自減運算符 自增、自減的運算符號為:+、-,都是單目運算符。運算符可以放在操作元之前,也可以放在操作元之后,但操作元必須是一個整型或浮點型變量(不能是常量或表達(dá)式)。運算符的作用是使變量的值增1或減1。 +x和x+的不同之處: 對于y=+x;y的值為? ,x的值為? 。 對于y=x+;y的值為?,x的值為?
6、。3.1算術(shù)運算符和算術(shù)表達(dá)式算術(shù)運算符和算術(shù)表達(dá)式(4)算術(shù)表達(dá)式 用算術(shù)運算符和操作數(shù)連接起來的符合Java語法規(guī)則的式子,稱為算術(shù)表達(dá)式。如 x+2*y-30+3*(y+5) -12+n+(-n)。(5)算術(shù)混合運算的精度 精度從“低”到“高”排列的順序是: byte short int long float double Java將按運算符兩邊的操作數(shù)的最高精度保留結(jié)果的精度,例如:5/2的結(jié)果是2,要想得到2.5,必須寫成5.0/2或5f/2。3.1算術(shù)運算符和算術(shù)表達(dá)式算術(shù)運算符和算術(shù)表達(dá)式char型數(shù)據(jù)和整型數(shù)據(jù)運算結(jié)果的類型是int。例如:byte k=18; 那么H+k;的結(jié)
7、果是int型,因此下列寫法是不正確的,char ch=H+k;應(yīng)當(dāng)寫成:char ch=(char)(H+k);返回3.2關(guān)系運算符與關(guān)系表達(dá)式關(guān)系運算符與關(guān)系表達(dá)式n關(guān)系運算符用來比較兩個值的關(guān)系,運算結(jié)果是boolean型數(shù)據(jù),當(dāng)運算符對應(yīng)的關(guān)系成立時,運算結(jié)果是true,否則是false。n如:53,關(guān)系表達(dá)式的結(jié)果為false。3.3邏輯運算符與邏輯表達(dá)式邏輯運算符與邏輯表達(dá)式n邏輯運算符的操作對象和結(jié)果均為boolean類型。n邏輯與(&):(y%4=0)&(y%100!=0)n邏輯或(|): (y%4=0)&(y%100!=0)|(y%400)=0)n邏輯非
8、(!):(y%4=0)&!(y%100=0) 3.4賦值運算符與賦值表達(dá)式賦值運算符與賦值表達(dá)式n賦值運算符:=。n賦值運算符是雙目運算符,左面的操作元必須是變量,不能是常量或表達(dá)式。int a;a=3 ;a+=1;n注意不要將賦值運算符“=”與等號運算符“=”混淆。 返回3.5移位運算符移位運算符 位運算符用來對二進制位進行操作,分為左移位操作和右移位操作。 (1)左移位運算符 左移位運算的符號為:如:513.6位運算符位運算符 (1)“按位與”運算符:“&” (2)“按位或”運算符: “|” (3)“按位非”運算符:“”是單目運算符。 (4)“按位異或”運算符:“”是雙目運
9、算符。3.7條件運算符條件運算符 條件運算符是一個3目運算符,它的符號是:“?:”,需要連接3個操作數(shù),用法如下: op1?op2:op3第一個操作數(shù)op1的值必須是boolean型數(shù)據(jù)。運算法則是:當(dāng)op1的值是true時,op1?op2:op3運算的結(jié)果是op2的值;當(dāng)op1的值是false時,op1?op2:op3運算的結(jié)果是op3的值。例如,128?100:200的結(jié)果是100;128?100:200的結(jié)果是200。返回3.8分支語句分支語句 1條件分支語句 (1)if-else語句. if-else語句是Java中的一條語句,語句的格式如下: if(表達(dá)式表達(dá)式) 語句語句 else
10、 語句語句 一條if-else語句執(zhí)行法則如下: if 后面( )內(nèi)的表達(dá)式的值必須是boolean型的。如果表達(dá)式的值為true,則執(zhí)行緊跟著的復(fù)合語句;如果表達(dá)式的值為false,則執(zhí)行else后面的復(fù)合語句。3.8分支語句分支語句 (2)多條件if-else if-else語句 程序有時需要根據(jù)多條件來選擇某一操作,這時就可以使用if-else if-else語句。if-else if-else語句是Java中的一條語句,由一個“if”、 若干個“else if”、一個“else”與若干個復(fù)合語句按一定規(guī)則構(gòu)成。語句的格式如下: if(表達(dá)式表達(dá)式1) 語句語句 else if(表達(dá)式表
11、達(dá)式2) 語句語句 else if(表達(dá)式表達(dá)式n) 語句語句 else 語句語句 3.8分支語句分支語句在下面的例子1中,用戶在鍵盤輸入3個數(shù),程序判斷這3個數(shù)能構(gòu)成什么形狀的三角形。3.8分支語句分支語句2 2switchswitch開關(guān)語句開關(guān)語句switch switch 語句是多分支的開關(guān)語句,它的一般格式定義如下:語句是多分支的開關(guān)語句,它的一般格式定義如下:switch(switch(表達(dá)式表達(dá)式) ) case case 常量值常量值1 1: 若干個語句若干個語句 breakbreak; case case 常量值常量值2 2: 若干個語句若干個語句 breakbreak; c
12、ase case 常量值常量值n n: 若干個語句若干個語句 breakbreak; defaultdefault: 若干語句若干語句 3.8分支語句分支語句 switch語句中表達(dá)式的值必須是整型或字符型;常量值1到常量值 n必須也是整型或字符型。switch語句首先計算表達(dá)式的值,如果表達(dá)式的值和某個case 后面的常量值相同,就執(zhí)行該case里的若干個語句,直到碰到break語句為止。若沒有任何常量值與表達(dá)式的值相同,則執(zhí)行default后面的若干個語句。其中default是可有可無的,如果它不存在,并且所有的常量值都和表達(dá)式的值不相同,那么switch語句就不會進行任何處理。需要注意的
13、是,在同一個switch語句中,case后的常量值必須互不相同。 下面的例子2使用了switch語句,用戶在鍵盤輸入一個代表月份的整數(shù),程序輸出是該月是在年度的第幾季度。返回3.9循環(huán)語句循環(huán)語句 1while循環(huán) while語句的一般格式: while(表達(dá)式表達(dá)式) 若干語句若干語句 while語句由關(guān)鍵字while、括號中的一個求值為boolean型數(shù)據(jù)的表達(dá)式和一個復(fù)合語句組成,其中的復(fù)合語句稱作循環(huán)體,循環(huán)體只有一條語句時,大括號“”可以省略,但最好不要省略,以便增加程序的可讀性。表達(dá)式稱作循環(huán)條件。while語句的執(zhí)行規(guī)則是: (1)計算表達(dá)式的值,如果該值是true時,就進行(2
14、),否則進行(3)。 (2)執(zhí)行循環(huán)體,再進行(1) (3)結(jié)束while語句的執(zhí)行 while語句執(zhí)行規(guī)則如流程圖3. 1所示。while語句執(zhí)行規(guī)則如流程圖3. 1所示。表達(dá)式 循環(huán)體truefalse圖3.1 while循環(huán)語句3.9循環(huán)語句循環(huán)語句 2do-while循環(huán) 一般格式: do 若干語句 while(表達(dá)式); do-while循環(huán)和while循環(huán)的區(qū)別是:do-while的循環(huán)體至少被執(zhí)行一次,如圖3.2所示。 下面的例子3分別用while和do-while循環(huán)計算常數(shù)e的近似值:e=1+1/1+1/2!+1/3!+ 。 3.9循環(huán)語句循環(huán)語句 循環(huán)體表達(dá)式truefalse圖3.6 do-while循環(huán)語句3.9循環(huán)語句循環(huán)語句 3for循環(huán) for語句的一般格式: for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 若干語句 for語句由關(guān)鍵字for、括號中用分號分割的3個表達(dá)式,以及一個復(fù)合語句組成,其中的“表達(dá)式2”必須是一個求值為boolean型數(shù)據(jù)的表達(dá)式,而復(fù)合語句稱作循環(huán)體。 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項13 現(xiàn)代文閱讀(解析版)
- 揚州中學(xué)2025屆高三寒假自主檢測(二)物理試卷及答案
- 6.2《密度》說課稿 2025年初中 人教版物理八年級上冊
- 房屋委托還款協(xié)議
- 倉庫安全管理檢討書
- 建筑工程轉(zhuǎn)讓居間
- 親子活動中心居間協(xié)議
- 智能家居控制系統(tǒng)工廠
- 安防監(jiān)控監(jiān)測系統(tǒng)
- 農(nóng)業(yè)生產(chǎn)性經(jīng)營主體培育作業(yè)指導(dǎo)書
- JJG 393-2018便攜式X、γ輻射周圍劑量當(dāng)量(率)儀和監(jiān)測儀
- 建筑物電子信息系統(tǒng)防雷技術(shù)規(guī)范(局部修訂條文)
- 《護士條例》全文
- 華住會酒店員工手冊
- 鐵嶺衛(wèi)生職業(yè)學(xué)院單招參考試題庫(含答案)
- 塔斯汀營銷分析
- 市紀(jì)委跟班學(xué)習(xí)工作總結(jié)
- 腦梗死一病一品
- 【部編版】三年級語文下冊第9課《古詩三首》精美課件
- 2024社會工作者《社會工作實務(wù)(初級)》考試題庫及答案
- 護士在醫(yī)療事故中的法律責(zé)任與應(yīng)對
評論
0/150
提交評論