![第三章運(yùn)算符表達(dá)式與語句_第1頁](http://file4.renrendoc.com/view/ffe12a1418a5c4cfd3d12229d5d4988e/ffe12a1418a5c4cfd3d12229d5d4988e1.gif)
![第三章運(yùn)算符表達(dá)式與語句_第2頁](http://file4.renrendoc.com/view/ffe12a1418a5c4cfd3d12229d5d4988e/ffe12a1418a5c4cfd3d12229d5d4988e2.gif)
![第三章運(yùn)算符表達(dá)式與語句_第3頁](http://file4.renrendoc.com/view/ffe12a1418a5c4cfd3d12229d5d4988e/ffe12a1418a5c4cfd3d12229d5d4988e3.gif)
![第三章運(yùn)算符表達(dá)式與語句_第4頁](http://file4.renrendoc.com/view/ffe12a1418a5c4cfd3d12229d5d4988e/ffe12a1418a5c4cfd3d12229d5d4988e4.gif)
![第三章運(yùn)算符表達(dá)式與語句_第5頁](http://file4.renrendoc.com/view/ffe12a1418a5c4cfd3d12229d5d4988e/ffe12a1418a5c4cfd3d12229d5d4988e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章運(yùn)算符、表達(dá)式與語句高級語言程序設(shè)計(Java)3.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括:+,-,*,/,%,++,--。加減運(yùn)算符加減運(yùn)算的結(jié)合性是從左到右。加減運(yùn)算的操作元是整型或浮點(diǎn)型數(shù)據(jù)。加減運(yùn)算符的優(yōu)先級是4級。級別越高,優(yōu)先性越低乘、除和求余運(yùn)算符乘、除和求余運(yùn)算的運(yùn)算符號為*、/、%,都是雙目運(yùn)算符。*、/、%運(yùn)算符的結(jié)合性是從左到右,例如:2*3/8,先計算2*3,然后再將得到的結(jié)果除以8。
乘、除和求余運(yùn)算的操作元是整型或浮點(diǎn)型數(shù)據(jù)。*、/、%運(yùn)算符的優(yōu)先級是3級。自增、自減運(yùn)算符自增、自減運(yùn)算的運(yùn)算符號為:++、--。
都是單目運(yùn)算符。運(yùn)算符可以放在操作元之前,也可以放在操作元之后,但操作元必須是一個整型或浮點(diǎn)型變量(不能是常量或表達(dá)式)。運(yùn)算符的作用是使變量的值增1或減1。運(yùn)算符的優(yōu)先級是2級,結(jié)合性從右到左。注意前綴++:變量先自增1,后引用。例如:inta=2;intb=++a;(a=3,b=3)
后綴++:變量先引用,后自增1
。例如:inta=2;intb=a++;
(a=3,b=2)自減--的用法同上。算術(shù)表達(dá)式用算術(shù)符號和操作元連接起來的符合Java語法規(guī)則的式子,稱為算術(shù)表達(dá)式。例如(a+b)*(c-d)算術(shù)混合運(yùn)算的精度精度由低到高排列為: 低高
byteshortcharintfloatlongdoubleJava將按運(yùn)算符兩邊的操作元的最高精度保留結(jié)果的精度。例
5/2=2;5-3=2;
5/2.0=2.5;5.0-3.0f=2.0
char型數(shù)據(jù)和整型數(shù)據(jù)運(yùn)算結(jié)果的精度是int
如:‘H’+18=90關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符用來比較兩個值的關(guān)系,關(guān)系運(yùn)算符的運(yùn)算結(jié)果是boolean型數(shù)據(jù)。當(dāng)運(yùn)算符對應(yīng)的關(guān)系成立時,運(yùn)算結(jié)果是true,否則是false。關(guān)系運(yùn)算符包括:==,!=,<,<=,>,>=
“==”和“!=”都是由2個字符組成的一個完整的符號,書寫時中間不要含有空格。關(guān)系運(yùn)算符優(yōu)先級低于算術(shù)運(yùn)算符,執(zhí)行順序自左向右。例10<9的結(jié)果是false,5>1的結(jié)果是true‘a(chǎn)’>‘b’的結(jié)果是false,’a’>’A’的結(jié)果是true10>20-17相當(dāng)于10>(20-17),結(jié)果為trueinta=10;a==8;結(jié)果為false結(jié)果為數(shù)值型的變量或表達(dá)式可以通過關(guān)系運(yùn)算符形成關(guān)系表達(dá)式。
intb=8;a>b+3; a!=b;邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算用來實現(xiàn)boolean型數(shù)據(jù)的邏輯“與”、“或”和“非”運(yùn)算,運(yùn)算結(jié)果是boolean型數(shù)據(jù)。邏輯運(yùn)算符包括:&,|,!,&&,||
&,|,&&,||是雙目運(yùn)算,!是單目運(yùn)算?!?&”的運(yùn)算法則是:當(dāng)2個操作元的值都是true時,運(yùn)算結(jié)果是true,否則是false?!皘|”的運(yùn)算法則是:當(dāng)2個操作元的值都是flase時,運(yùn)算結(jié)果是false,否則是true。注意區(qū)別簡潔”與”&&(“或”||)和非簡潔”與”&(“或”|)例如,inta=6,b=8,c=10,d=12;
booleanx=++a>b++&&c++>d--;(a=7,b=9,c=10,d=12,x=false)
booleanx=++a>b++&c++>d--;(a=7,b=9,c=11,d=11,x=false)&&,如果其前面的表達(dá)式為假,則不再計算其后面的表達(dá)式&,不管其前面的表達(dá)式是什么,都計算其后面表達(dá)式例如,inta=6,b=8,c=10,d=12;
booleanx=++a<b++||c++>d--;
(a=7,b=9,c=10,d=12,x=true)
booleanx=++a<b++|c++>d--;(a=7,b=9,c=11,d=11,x=true)||,如果其前面的表達(dá)式為真,則不再計算其后面的表達(dá)式|,不管其前面的表達(dá)式是什么,都計算其后面表達(dá)式移位運(yùn)算符位運(yùn)算符用來對二進(jìn)制位進(jìn)行操作,分為左移位操作和右移位操作。左移位運(yùn)算符左移位運(yùn)算的符號為<<,左移位運(yùn)算符左面的操作元稱作被移位數(shù),右面的操作數(shù)稱作移位量。特點(diǎn)
雙目運(yùn)算符。操作元必須是整型類型的數(shù)據(jù)。左位移的過程假設(shè)a是一個被移位的整型數(shù)據(jù),n是位移量。
a<<n運(yùn)算的過程是通過將a的所有位都左移n位,每左移一個位,左邊的最高位(即左邊的第1位)上的0或1被移出丟棄,并用0填充右邊的低位。比如:對整形數(shù)8<<1的計算8的二進(jìn)制表示:0000,0000,0000,0000,0000,0000,0000,1000左移一位的結(jié)果:0000,0000,0000,0000,0000,0000,0001,0000注意左位移操作是對整型數(shù)的操作,操作符兩邊必須是整型。
比整型更小的數(shù)據(jù)類型數(shù)據(jù)將被轉(zhuǎn)換成整型進(jìn)行運(yùn)算,比整型更大的數(shù)據(jù)類型數(shù)據(jù)是不能進(jìn)行移位運(yùn)算的。比整型更小的數(shù)據(jù)類型數(shù)據(jù)將被轉(zhuǎn)換成整型時:對于正數(shù)將高位用0填充;負(fù)數(shù)將高位用1填充。例:bytea=-8;System.out.println(a<<2);結(jié)果:-321111,1111,1111,1111,1111,1111,1111,10001111,1111,1111,1111,1111,1111,1110,0000在進(jìn)行a<<n運(yùn)算時如果a是byte、short或int型數(shù)據(jù),系統(tǒng)總是先計算出n%32的結(jié)果m,然后進(jìn)行a<<m運(yùn)算。對于long型數(shù)據(jù),系統(tǒng)總是先計算出n%64的結(jié)果m,然后進(jìn)行a<<m運(yùn)算。比如:對于int數(shù)5<<1與5<<33的結(jié)果相等;對于long數(shù)5<<1與5<<65的結(jié)果相等。右移位運(yùn)算符右移位運(yùn)算的符號為>>,右移位運(yùn)算符左面的操作元稱作被移位數(shù),右面的操作數(shù)稱作移位量。特點(diǎn)
雙目運(yùn)算符。操作元必須是整型類型的數(shù)據(jù)。右位移的過程假設(shè)a是一個被移位的整型數(shù)據(jù),n是位移量。
a>>n運(yùn)算的過程是通過將a的所有位都右移n位,每右移一個位,右邊的最低位(即右邊的第1位)上的0或1被移出丟棄,并用0或1填充左邊的高位(a是正數(shù)時用0填充,負(fù)數(shù)時用1填充)。比如:對整形數(shù)8>>1的計算8的二進(jìn)制表示:0000,0000,0000,0000,0000,0000,0000,1000右移一位的結(jié)果:0000,0000,0000,0000,0000,0000,0000,0100注意右位移操作是對整型數(shù)的操作,操作符兩邊必須是整型。
比整型更小的數(shù)據(jù)類型數(shù)據(jù)將被轉(zhuǎn)換成整型進(jìn)行運(yùn)算,比整型更大的數(shù)據(jù)類型數(shù)據(jù)是不能進(jìn)行移位運(yùn)算的。比整型更小的數(shù)據(jù)類型數(shù)據(jù)將被轉(zhuǎn)換成整型時:對于正數(shù)將高位用0填充;負(fù)數(shù)將高位用1填充。例:bytea=-8;System.out.println(a>>2);結(jié)果:-21111,1111,1111,1111,1111,1111,1111,10001111,1111,1111,1111,1111,1111,1111,1110在進(jìn)行a>>n運(yùn)算時如果a是byte、short或int型數(shù)據(jù),系統(tǒng)總是先計算出n%32的結(jié)果m,然后進(jìn)行a>>m運(yùn)算。對于long型數(shù)據(jù),系統(tǒng)總是先計算出n%64的結(jié)果m,然后進(jìn)行a>>m運(yùn)算。比如:對于int數(shù)5>>1與5>>33的結(jié)果相等;對于long數(shù)5>>1與5>>65的結(jié)果相等。位運(yùn)算符“按位與”運(yùn)算符
&“&”是雙目運(yùn)算符,對兩個整型數(shù)據(jù)a、b按位進(jìn)行運(yùn)算,運(yùn)算結(jié)果是一個整型數(shù)據(jù)c。運(yùn)算法則是:如果a、b兩個操作數(shù)對應(yīng)位都是1,則c的該位是1,否則是0。結(jié)果的精度和兩個操作數(shù)中精度高的相同。inta=3,b=4;System.out.println(a&b);結(jié)果:0a:0000,0000,0000,0000,0000,0000,0000,0011b:0000,0000,0000,0000,0000,0000,0000,0100c:0000,0000,0000,0000,0000,0000,0000,0000“按位或”運(yùn)算符
|“|”是雙目運(yùn)算符,對兩個整型數(shù)據(jù)a、b按位進(jìn)行運(yùn)算,運(yùn)算結(jié)果是一個整型數(shù)據(jù)c。運(yùn)算法則是:如果a、b兩個數(shù)據(jù)對應(yīng)位都是0,則c的該位是0,否則是1。結(jié)果的精度和兩個操作數(shù)中精度高的相同。inta=3,b=4;System.out.println(a&b);結(jié)果:7a:0000,0000,0000,0000,0000,0000,0000,0011b:0000,0000,0000,0000,0000,0000,0000,0100c:0000,0000,0000,0000,0000,0000,0000,0111“按位非”運(yùn)算符
~“~”是單目運(yùn)算符,對一個整型數(shù)據(jù)a按位進(jìn)行運(yùn)算,運(yùn)算結(jié)果是一個整型數(shù)據(jù)c。運(yùn)算法則是:如果a對應(yīng)位是0,則c的該位是1,否則是0。inta=3;System.out.println(~a);結(jié)果:-4a:0000,0000,0000,0000,0000,0000,0000,0011c:1111,1111,1111,1111,1111,1111,1111,1100“按位異或”運(yùn)算符
^“^”是雙目運(yùn)算符,對兩個整型數(shù)據(jù)a、b按位進(jìn)行運(yùn)算,運(yùn)算結(jié)果是一個整型數(shù)據(jù)c。運(yùn)算法則是:如果a、b兩個數(shù)據(jù)對應(yīng)位相同,則c的該位是0,否則是1。結(jié)果的精度和兩個操作數(shù)中精度高的相同。inta=3,b=4;System.out.println(a^b);結(jié)果:7a:0000,0000,0000,0000,0000,0000,0000,0011b:0000,0000,0000,0000,0000,0000,0000,0100c:0000,0000,0000,0000,0000,0000,0000,0111條件運(yùn)算符條件運(yùn)算符是一個3目運(yùn)算符。符號是:“?:”,需要連接3個操作元。用法:op1?op2:op3op1的值必須是boolean型數(shù)據(jù)運(yùn)算法則當(dāng)op1的值是true時,op1?op2:op3運(yùn)算的結(jié)果是op2的值;當(dāng)op1的值是false時,op1?op2:op3運(yùn)算的結(jié)果是op3的值。3.2控制語句語句概述
Java的語句分為5類。方法調(diào)用語句:對象名.方法();
表達(dá)式語句:表達(dá)式末尾加上一個分號復(fù)合語句:使用”{“和“}”把多個語句括起來構(gòu)成復(fù)合語句
package語句和import語句:包和類的使用
package包名;import包或者類在JDK中所在的位置;控制語句:順序語句、分支語句、循環(huán)語句和跳轉(zhuǎn)語句分支語句
if-else條件分支語句由一個“if”、“else”和兩個復(fù)合語句按一定格式構(gòu)成,是一個語句。格式:if(表達(dá)式)
{若干語句}
else
{若干語句}
規(guī)則:if后面()內(nèi)的表達(dá)式的值必須是boolean型的。如果表達(dá)式的值為true,則執(zhí)行緊跟著的復(fù)合語句;如果表達(dá)式的值為false,則執(zhí)行else后面的復(fù)合語句。
if-elseif-else多條件語句使用多條件語句根據(jù)多條件來選擇某一操作
if-elseif-else語句是Java中的一條語句
if(表達(dá)式1)
{若干語句}
elseif(表達(dá)式2)
{若干語句}
……
elseif(表達(dá)式n)
{若干語句}
else
{若干語句}if(a+b>c&&a+c>b&&b+c>a){if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b){System.out.printf("構(gòu)成直角三角形");}elseif(a*a<b*b+c*c&&b*b<a*a+c*c&&c*c<a*a+b*b){System.out.printf("構(gòu)成銳角三角形");}
else{System.out.printf("構(gòu)成鈍角三角形");}}else{System.out.printf("不能構(gòu)成三角形");}
switch開關(guān)語句
switch語句是多分支的開關(guān)語句,用于多分支單選擇格式
switch(表達(dá)式){
case常量值1:
若干個語句
break;
………
case常量值n:
若干個語句
break;
default:
若干語句
}此常量值必須和switch后表達(dá)式的值類型一致此表達(dá)式的值必須是整形或字符型,如果用字符類型的‘1’等表示數(shù)字,則不超過‘9’
while循環(huán)一般格式:
while(表達(dá)式){
若干語句
}表達(dá)式
循環(huán)體truefalsewhile循環(huán)語句流程圖表達(dá)式的值必須是boolean類型3.4循環(huán)語句
do-while循環(huán)一般格式:
do{
若干語句
}while(表達(dá)式);循環(huán)體表達(dá)式truefalsedo-while循環(huán)語句流程圖表達(dá)式的值必須是boolean類型
do-while循環(huán)和while循環(huán)又稱為不確定循環(huán)。區(qū)別是:do-while的循環(huán)體至少被執(zhí)行一次。例:分別用while和do-while循環(huán)計算常數(shù)e的近似值:e=1+1/1+1/2!+1/3!+……doublesum=0,item=1;inti=1;while(i<=1000){sum=sum+item;i++;item=item*(1.0/i);}sum=sum+1;System.out.println("e="+sum);doublesum=0,item=1;inti=1;do{sum=sum+item;i++;item=item*(1.0/i);}while(i<=1000);
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯教版地理七年級下冊7.2《“魚米之鄉(xiāng)”-長江三角洲地區(qū)》聽課評課記錄1
- 華師大版數(shù)學(xué)九年級下冊《圓的對稱性》聽評課記錄
- 人教版數(shù)學(xué)七年級下冊5.1《觀察與思考 看圖時的錯覺》聽評課記錄
- 魯人版道德與法治七年級下冊第11課第2框《讓友誼之樹常青》聽課評課記錄1
- 【部編版】七年級歷史上冊 《動蕩的春秋時期》公開課聽課評課記錄
- 冀教版數(shù)學(xué)八年級下冊《函數(shù)的自變量取值范圍》聽評課記錄3
- 一年級第一學(xué)期班級工作計劃班級
- 小學(xué)生課外實踐活動教學(xué)計劃書
- 教科版道德與法治九年級上冊第六課第一框《第一要義與核心》聽課評課記錄
- 形象代言人合同范本
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期期末 地理試題(含答案)
- 勞動合同(模版)4篇
- 2021上海春考作文題解析及范文(怎樣做與成為什么樣人)
- SWITCH塞爾達(dá)傳說曠野之息-1.6金手指127項修改使用說明教程
- 物業(yè)管理應(yīng)急預(yù)案工作流程圖
- (高清正版)T_CAGHP 003—2018抗滑樁治理工程設(shè)計規(guī)范 (試行)
- 畢業(yè)論文論財務(wù)管理是企業(yè)管理的核心
- 40萬噸年NaCl蒸發(fā)工段設(shè)計——畢業(yè)設(shè)計
- 物業(yè)小區(qū)常規(guī)保潔工作程序
- 雍琦版-《法律邏輯學(xué)》課后習(xí)題答案(共78頁)
- 失業(yè)保險知識PPT課件
評論
0/150
提交評論