版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
java運(yùn)算符與控制結(jié)構(gòu)3.1運(yùn)算符與表達(dá)式運(yùn)算:對(duì)數(shù)據(jù)進(jìn)行的操作運(yùn)算符:表示各種不同運(yùn)算的符號(hào)操作數(shù):參與運(yùn)算的數(shù)據(jù)表達(dá)式:由操作數(shù)和運(yùn)算符按一定的形式組成的有意義的符號(hào)序列
操作數(shù)操作符
1+1=3.2表達(dá)式常見類型3.3賦值運(yùn)算符賦值運(yùn)算的一般形式:
變量=表達(dá)式;3.4算術(shù)運(yùn)算符一元算術(shù)運(yùn)算符二元算術(shù)運(yùn)算符Eg:(a/b)*b+(a%b)==a一個(gè)算術(shù)運(yùn)算的例子public
classArithmaticOp{ public
static
voidmain(String[]args){ inta=5,b=3; intc=++a/b; intc2=a--/b; intc3=a-2%b; doubled=2.5; doubled2=d%3; System.out.println("c="+c); System.out.println("c2="+c2); System.out.println("c3="+c3); System.out.println("d2="+d2); }}3.5關(guān)系運(yùn)算(比較運(yùn)算)Eg:3>5;‘a(chǎn)’<‘z’;(x+y)!=z;classRelationOp{ publicstaticvoidmain(String[]args) { inta=25,b=3; booleand=a>b; booleand1=3.5<2.6; booleand2='A'<='A'; booleand3=false!=true; booleane=a>=a*2-b*9; System.out.println
(“
d="+d); System.out.println("d1="+d1); System.out.println("d2="+d2); System.out.println("d3="+d3); System.out.println
(“
e="+e); }}3.6邏輯運(yùn)算邏輯運(yùn)算真值表根據(jù)x和y的邏輯值,判斷后列答案的正確性提示:&&和||又叫做短路運(yùn)算符。在由他們連接組成的邏輯表達(dá)式的求值過程中,總是先求出運(yùn)算符左邊的表達(dá)式,再根據(jù)具體情況決定是否需要計(jì)算運(yùn)算符右邊得表達(dá)式。對(duì)“||”運(yùn)算,如果左邊的表達(dá)式的值為true,則不必對(duì)運(yùn)算符右邊的表達(dá)式在進(jìn)行計(jì)算,整個(gè)表達(dá)式的結(jié)果就為true;對(duì)“&&”運(yùn)算,如果左邊的表達(dá)式的值為false,則不必在運(yùn)算符右邊的表達(dá)式在進(jìn)行運(yùn)算,整個(gè)表達(dá)式的結(jié)果為false。3.6位運(yùn)算符X<<8x*2的8次方,X<<1x*2的1次方X>>nx/2的n次方
面試題1.按位運(yùn)算(1)“~”是按位取反運(yùn)算符,對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反。即把1變成0,把0變成1.例如:~00001111=11110000;按位運(yùn)算通常的2種用法先對(duì)某個(gè)數(shù)當(dāng)中某個(gè)特定的位置清零
如對(duì)10010110從右邊數(shù)第二位清零,只需將此數(shù)與11111101進(jìn)行按位與運(yùn)算
1001011011111101-------------------------10010100(其他位不變,只有從右邊數(shù)第二位清零)取某個(gè)數(shù)中某些指定的位
如要取數(shù)10010110中從右邊數(shù)第二位,只需將此數(shù)與00000010進(jìn)行按位與運(yùn)算。
1001011000000010-----------------------00000010
(從右邊數(shù)第二位不變,其他位清零)(3)“|”是按位或運(yùn)算符,同樣要求有兩個(gè)操作數(shù)進(jìn)行運(yùn)算。只要兩個(gè)相應(yīng)位中有一個(gè)位1,則該位的結(jié)果位1,否則結(jié)果為0.即:
0|0=0,0|1=1,1|0=1,1|1=1例如:
1010000101000001----------------------------11100001注意:按位或運(yùn)算可以用來將某個(gè)數(shù)中的某些特定的位置1,如:要對(duì)數(shù)10010110從右數(shù)第4位置1,只需要將此數(shù)00001000進(jìn)行按位或運(yùn)算:
1001011000001000------------------------------10011110(其他位不變,只有第4位置1)(4)“^”是按位異運(yùn)算符,同樣要求有兩個(gè)操作數(shù)進(jìn)行運(yùn)算。如果有個(gè)兩相應(yīng)位相同,則該位的結(jié)果位0,否則結(jié)果為1,即:0^0=0,0^1=1,1^0=1例如:
1010000101000001---------------------------11100000“&”是按位運(yùn)算。要求有兩個(gè)操作數(shù)進(jìn)行運(yùn)算。如果兩個(gè)相應(yīng)位均為1,則該位的結(jié)果位1,否則結(jié)果為0.0&0=0,0&1=0,1&0=0,1&1=1例如:
10100001&)01000001----------------------------00000001按位異運(yùn)算符通常的2種用法用來將某個(gè)數(shù)中某些特定的位取反.如要使數(shù)10010110從右數(shù)第2位取反,只需要將此數(shù)與00000010進(jìn)行按位異或運(yùn)算即可.
1001011000000010-------------------------10010100(其他位不變,只從右數(shù)第2位取反)通過異或運(yùn)算,實(shí)現(xiàn)兩個(gè)數(shù)的交換,不需要使用臨時(shí)變量例如:要交換兩個(gè)整數(shù)a和b值可通過以下語句實(shí)現(xiàn)
a=11000001;b=01100000;
a=a^b;//此時(shí)a=10100001b=b^a;//此時(shí)b=11000001a=a^b;//此時(shí)a=01100000“&”,“|”和“^”用在布爾型操作數(shù)上時(shí)的運(yùn)算規(guī)則余下的作為現(xiàn)在的作業(yè),馬上就做提示細(xì)節(jié)--&與&&,|與||(3>9&&5>2)(3>9&5>2)當(dāng)(3>9)結(jié)果為false時(shí),&&不論是什么,都是不計(jì)算1.&與&&
即使當(dāng)&時(shí),前面是false時(shí),后面的式子也執(zhí)行(9>3||5<8)(9<3|5<8)2.|與||1當(dāng)是true時(shí),不去執(zhí)行后面的表達(dá)式,結(jié)果都是true。不管是false或true1后面的表達(dá)式都執(zhí)行三元運(yùn)算符=三目運(yùn)算符“?:”叫條件運(yùn)算符。表達(dá)式1?表達(dá)式2:表達(dá)式3;
解析:
如果1成立,則執(zhí)行2.否則就執(zhí)行3三元運(yùn)算--習(xí)題publicclassTest2{ publicstaticvoidmain(String[]args){ intx=335; inty=212; intz=38; inta,b=10,max,min; System.out.println("原來的整數(shù)值為:x="+x+";y="+y+";z="+z); a=(x>0?x:y); max=(a>z?a:z); min=(b<z?b:z); System.out.println("最大的元素值為:"+max); System.out.println("最小的元素值為:"+min); }}流程控制語句語句—程序的基本組成單位.每個(gè)語句以”;”結(jié)束語句可以是:shorts=125;也可以是用{shorts=125;inti=10;;}括起來的復(fù)合語句.(一般一言叫做語句塊).空語句--僅僅由一個(gè)”;”組成的語句,叫空語句.作用:通常用做程序的流程控制中的過渡語句.幾種流程控制語句循環(huán)結(jié)構(gòu)1.3種循環(huán)語句(1)while語句(也可以成為”當(dāng)型”循環(huán))
一般格式:while(布爾型表達(dá)式){
循環(huán)體;}布爾型表達(dá)式:關(guān)系型表達(dá)式,邏輯型表達(dá)式,
布爾型變量,常量例題用while語句求100以內(nèi)的所有奇數(shù)和inti,sum;sum=0;i=1;while(i<=100){ sum+=i;i+=2;}System.out.println(sum);(2)do-while語句(“直到”型循環(huán))do-while語句的一般格式
do{
循環(huán)體;}while(布爾型表達(dá)式);解析:
先執(zhí)行do后循環(huán)體,
然后去判斷while后面的布爾型表達(dá)式例題用while語句求100以內(nèi)的所有奇數(shù)和inti,sum;sum=0;i=1;do{ sum+=i;i+=2;}while(i<=100);System.out.println(sum);注意區(qū)別while和do-while的語句執(zhí)行順序for語句一般表示形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體表達(dá)式4}例如:要使某段代碼循環(huán)1000次for(inti=0;i<=1000;i++){
循環(huán)語句體;(代碼段)}(3)for語句(“當(dāng)”型循環(huán))如果遇到死循環(huán)
CTRL+C來終止程序的運(yùn)行,然后打開源程序進(jìn)行檢查修改錯(cuò)誤,重新編譯運(yùn)行intsum=0;for(inti=1;i<=100;i+=2){ sum+=i;}System.out.println(sum);例題用for語句求100以內(nèi)的所有奇數(shù)和2.循環(huán)的嵌套編寫輸出一個(gè)1~9的乘法表inta,b;for(b=0;b<=9;b++){//控制的是行數(shù) for(a=0;a<=b;a++){//控制列數(shù) System.out.print(a+”*”+b+”=”+a*b+’\t’); System.out.println(); }}例題用for語句求999以內(nèi)的和intsum=0;inti;for(i=1;i<1000;i++){ sum+=i;}System.out.println(“sum=”+sum+”andi=”+i);3.循環(huán)結(jié)構(gòu)中的continue語句一般格式:continue標(biāo)號(hào);a.不代標(biāo)號(hào)continue語句作用:結(jié)束本次循環(huán)語句(終止當(dāng)前循環(huán)的本輪循環(huán).并且直接開始下一輪循環(huán))b.代標(biāo)號(hào)的continue語句作用:把程序直接指向標(biāo)號(hào)所指定的循環(huán)結(jié)構(gòu)的下一次循環(huán).例題不帶標(biāo)號(hào)的continue習(xí)題/**
找出21世紀(jì)的所有閏年,并將結(jié)果以每行10個(gè)年分的形式輸出*時(shí)間:2008年7月22日*地點(diǎn):教室*/publicclassEndInnerLoop{/***能被4整除,但不能被100整除的。*能被100整除,又能被400整除的。*/publicstaticvoidmain(String[]args){System.out.println("21世紀(jì)的所有閏年有:");intn=0;//計(jì)數(shù)作用。for(intyear=2000;year<3000;year+=4){if(year%100==0&&year%400!=0)continue;//跳出“本次”循環(huán)語句
System.out.print(year+"\t");n++;if(n<10)continue;//跳出“本次”循環(huán)語句
System.out.println();n=0;}}}例題帶標(biāo)號(hào)的continue習(xí)題/***打印一個(gè)三角型的0~9的乘法表
*/publicclassContinueLabel{publicstaticvoidmain(String[]args){outer:for(inti=0;i<10;i++){//行i
for(intj=0;j<10;j++){//列jif(j>i)//列大于行。
{System.out.println("");continueouter;}System.out.print(""+i+"*"+j+"="+(i*j));}}}}break語句break語句的一般語法格式:break標(biāo)號(hào);break語句通常情有2種使用情況.(1)不帶標(biāo)號(hào)的情況
作用:終止brake所在的循環(huán),轉(zhuǎn)去執(zhí)行其后的第一條語句.(2)帶標(biāo)號(hào)的情況
作用:終止由標(biāo)號(hào)指出的語句塊的執(zhí)行,并總從緊跟該塊的第一條語句處開始往下執(zhí)行.例題:不帶標(biāo)號(hào)的break語句:
----編寫找出大于1000的第三個(gè)素?cái)?shù)publicclassBreakDemo{publicstaticvoidmain(String[]args){intn=0; intb=999; outer://外層循環(huán),定義一個(gè)標(biāo)號(hào)。
do{ b+=2;intm=(int)Math.ceil(Math.sqrt(b));//取得大于或等于要判斷的數(shù)的平方根的最小值
for(inti=2;i<=m;i++){//內(nèi)層循環(huán),判斷b是否為素?cái)?shù)。
if(b%i==0) continueouter; } n++; if(n==3) break; } while(true); System.out.println("大于1000的第三個(gè)素?cái)?shù)是:"+b); }}例題:帶標(biāo)號(hào)的break語句publicclassBreakDemo1{publicstaticvoidmain(String[]args){ intsum=0; coloop: while(sum<=100){ for(intcount=1;count<10;count++){ sum+=count; if(sum>60) breakcoloop; } } System.out.println("sum="+sum); }}注意:在循環(huán)和判斷中使用標(biāo)號(hào)要遵守以下規(guī)則:如果break語句中使用了一個(gè)標(biāo)號(hào),這個(gè)標(biāo)號(hào)必須聲明在一個(gè)封閉語句的前面;如果continue語句中只用了一個(gè)標(biāo)號(hào),這個(gè)標(biāo)號(hào)必須是一個(gè)封閉標(biāo)號(hào).選擇語句(1)if-else語句
if-else語句根據(jù)判斷條件的真假來執(zhí)行兩種操作中的一種.A.簡(jiǎn)單形式
if-else語句的一般語法形式為:if(布爾表達(dá)式){
語句1;}[else{語句2}]B.if語句的嵌套1.嵌套的常用格式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)后護(hù)理加盟合同范例
- 乳鴿生產(chǎn)銷售合同范例
- 2025專利權(quán)轉(zhuǎn)讓合同樣書版
- 醫(yī)院手術(shù)合同范例
- 直營(yíng)餐飲加盟合同范例
- 買賣鍋爐合同范例
- 椅子家具采購(gòu)合同范例
- 板材包裝轉(zhuǎn)讓合同范例
- 合作辦醫(yī)院合同范例
- 銅仁學(xué)院《創(chuàng)業(yè)融資管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 期末沖刺動(dòng)員主題班會(huì)課件
- 基于海洋文化背景下校本化特色課程開發(fā)深化實(shí)踐研究資料
- 胸外科食管切除、食管-胃胸內(nèi)吻合術(shù)技術(shù)操作規(guī)范
- 建筑安裝工程有限公司關(guān)于加大市場(chǎng)開拓力度的激勵(lì)辦法
- 題庫(kù)(大氣科學(xué)基礎(chǔ)(一)-題庫(kù))
- 智能制造設(shè)備與工廠自動(dòng)化項(xiàng)目驗(yàn)收方案
- 箱變調(diào)試方案
- 部編版小學(xué)語文五年級(jí)下冊(cè)習(xí)作5《形形色色的人》教學(xué)反思共三篇
- 冷庫(kù)冷藏庫(kù)施工組織及售后服務(wù)投標(biāo)方案
- 統(tǒng)編版語文一年級(jí)上冊(cè) j q x y 和 ü 的專項(xiàng)練習(xí)(無答案)
- 城市軌道交通工程質(zhì)量安全控制要點(diǎn)
評(píng)論
0/150
提交評(píng)論