




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
java運算符與控制結(jié)構(gòu)3.1運算符與表達式運算:對數(shù)據(jù)進行的操作運算符:表示各種不同運算的符號操作數(shù):參與運算的數(shù)據(jù)表達式:由操作數(shù)和運算符按一定的形式組成的有意義的符號序列
操作數(shù)操作符
1+1=3.2表達式常見類型3.3賦值運算符賦值運算的一般形式:
變量=表達式;3.4算術(shù)運算符一元算術(shù)運算符二元算術(shù)運算符Eg:(a/b)*b+(a%b)==a一個算術(shù)運算的例子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)系運算(比較運算)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邏輯運算邏輯運算真值表根據(jù)x和y的邏輯值,判斷后列答案的正確性提示:&&和||又叫做短路運算符。在由他們連接組成的邏輯表達式的求值過程中,總是先求出運算符左邊的表達式,再根據(jù)具體情況決定是否需要計算運算符右邊得表達式。對“||”運算,如果左邊的表達式的值為true,則不必對運算符右邊的表達式在進行計算,整個表達式的結(jié)果就為true;對“&&”運算,如果左邊的表達式的值為false,則不必在運算符右邊的表達式在進行運算,整個表達式的結(jié)果為false。3.6位運算符X<<8x*2的8次方,X<<1x*2的1次方X>>nx/2的n次方
面試題1.按位運算(1)“~”是按位取反運算符,對數(shù)據(jù)的每個二進制位取反。即把1變成0,把0變成1.例如:~00001111=11110000;按位運算通常的2種用法先對某個數(shù)當(dāng)中某個特定的位置清零
如對10010110從右邊數(shù)第二位清零,只需將此數(shù)與11111101進行按位與運算
1001011011111101-------------------------10010100(其他位不變,只有從右邊數(shù)第二位清零)取某個數(shù)中某些指定的位
如要取數(shù)10010110中從右邊數(shù)第二位,只需將此數(shù)與00000010進行按位與運算。
1001011000000010-----------------------00000010
(從右邊數(shù)第二位不變,其他位清零)(3)“|”是按位或運算符,同樣要求有兩個操作數(shù)進行運算。只要兩個相應(yīng)位中有一個位1,則該位的結(jié)果位1,否則結(jié)果為0.即:
0|0=0,0|1=1,1|0=1,1|1=1例如:
1010000101000001----------------------------11100001注意:按位或運算可以用來將某個數(shù)中的某些特定的位置1,如:要對數(shù)10010110從右數(shù)第4位置1,只需要將此數(shù)00001000進行按位或運算:
1001011000001000------------------------------10011110(其他位不變,只有第4位置1)(4)“^”是按位異運算符,同樣要求有兩個操作數(shù)進行運算。如果有個兩相應(yīng)位相同,則該位的結(jié)果位0,否則結(jié)果為1,即:0^0=0,0^1=1,1^0=1例如:
1010000101000001---------------------------11100000“&”是按位運算。要求有兩個操作數(shù)進行運算。如果兩個相應(yīng)位均為1,則該位的結(jié)果位1,否則結(jié)果為0.0&0=0,0&1=0,1&0=0,1&1=1例如:
10100001&)01000001----------------------------00000001按位異運算符通常的2種用法用來將某個數(shù)中某些特定的位取反.如要使數(shù)10010110從右數(shù)第2位取反,只需要將此數(shù)與00000010進行按位異或運算即可.
1001011000000010-------------------------10010100(其他位不變,只從右數(shù)第2位取反)通過異或運算,實現(xiàn)兩個數(shù)的交換,不需要使用臨時變量例如:要交換兩個整數(shù)a和b值可通過以下語句實現(xiàn)
a=11000001;b=01100000;
a=a^b;//此時a=10100001b=b^a;//此時b=11000001a=a^b;//此時a=01100000“&”,“|”和“^”用在布爾型操作數(shù)上時的運算規(guī)則余下的作為現(xiàn)在的作業(yè),馬上就做提示細節(jié)--&與&&,|與||(3>9&&5>2)(3>9&5>2)當(dāng)(3>9)結(jié)果為false時,&&不論是什么,都是不計算1.&與&&
即使當(dāng)&時,前面是false時,后面的式子也執(zhí)行(9>3||5<8)(9<3|5<8)2.|與||1當(dāng)是true時,不去執(zhí)行后面的表達式,結(jié)果都是true。不管是false或true1后面的表達式都執(zhí)行三元運算符=三目運算符“?:”叫條件運算符。表達式1?表達式2:表達式3;
解析:
如果1成立,則執(zhí)行2.否則就執(zhí)行3三元運算--習(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); }}流程控制語句語句—程序的基本組成單位.每個語句以”;”結(jié)束語句可以是:shorts=125;也可以是用{shorts=125;inti=10;;}括起來的復(fù)合語句.(一般一言叫做語句塊).空語句--僅僅由一個”;”組成的語句,叫空語句.作用:通常用做程序的流程控制中的過渡語句.幾種流程控制語句循環(huán)結(jié)構(gòu)1.3種循環(huán)語句(1)while語句(也可以成為”當(dāng)型”循環(huán))
一般格式:while(布爾型表達式){
循環(huán)體;}布爾型表達式:關(guān)系型表達式,邏輯型表達式,
布爾型變量,常量例題用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(布爾型表達式);解析:
先執(zhí)行do后循環(huán)體,
然后去判斷while后面的布爾型表達式例題用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(表達式1;表達式2;表達式3){
循環(huán)體表達式4}例如:要使某段代碼循環(huán)1000次for(inti=0;i<=1000;i++){
循環(huán)語句體;(代碼段)}(3)for語句(“當(dāng)”型循環(huán))如果遇到死循環(huán)
CTRL+C來終止程序的運行,然后打開源程序進行檢查修改錯誤,重新編譯運行intsum=0;for(inti=1;i<=100;i+=2){ sum+=i;}System.out.println(sum);例題用for語句求100以內(nèi)的所有奇數(shù)和2.循環(huán)的嵌套編寫輸出一個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)號;a.不代標(biāo)號continue語句作用:結(jié)束本次循環(huán)語句(終止當(dāng)前循環(huán)的本輪循環(huán).并且直接開始下一輪循環(huán))b.代標(biāo)號的continue語句作用:把程序直接指向標(biāo)號所指定的循環(huán)結(jié)構(gòu)的下一次循環(huán).例題不帶標(biāo)號的continue習(xí)題/**
找出21世紀的所有閏年,并將結(jié)果以每行10個年分的形式輸出*時間:2008年7月22日*地點:教室*/publicclassEndInnerLoop{/***能被4整除,但不能被100整除的。*能被100整除,又能被400整除的。*/publicstaticvoidmain(String[]args){System.out.println("21世紀的所有閏年有:");intn=0;//計數(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)號的continue習(xí)題/***打印一個三角型的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)號;break語句通常情有2種使用情況.(1)不帶標(biāo)號的情況
作用:終止brake所在的循環(huán),轉(zhuǎn)去執(zhí)行其后的第一條語句.(2)帶標(biāo)號的情況
作用:終止由標(biāo)號指出的語句塊的執(zhí)行,并總從緊跟該塊的第一條語句處開始往下執(zhí)行.例題:不帶標(biāo)號的break語句:
----編寫找出大于1000的第三個素數(shù)publicclassBreakDemo{publicstaticvoidmain(String[]args){intn=0; intb=999; outer://外層循環(huán),定義一個標(biāo)號。
do{ b+=2;intm=(int)Math.ceil(Math.sqrt(b));//取得大于或等于要判斷的數(shù)的平方根的最小值
for(inti=2;i<=m;i++){//內(nèi)層循環(huán),判斷b是否為素數(shù)。
if(b%i==0) continueouter; } n++; if(n==3) break; } while(true); System.out.println("大于1000的第三個素數(shù)是:"+b); }}例題:帶標(biā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)號要遵守以下規(guī)則:如果break語句中使用了一個標(biāo)號,這個標(biāo)號必須聲明在一個封閉語句的前面;如果continue語句中只用了一個標(biāo)號,這個標(biāo)號必須是一個封閉標(biāo)號.選擇語句(1)if-else語句
if-else語句根據(jù)判斷條件的真假來執(zhí)行兩種操作中的一種.A.簡單形式
if-else語句的一般語法形式為:if(布爾表達式){
語句1;}[else{語句2}]B.if語句的嵌套1.嵌套的常用格式
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 登記注冊 標(biāo)準化建設(shè)思路
- 地下施工工藝流程
- 不同材料短時記憶保持量的實驗報告 - 副本 - 副本
- 2025年陜西青年職業(yè)學(xué)院單招職業(yè)技能考試題庫審定版
- 2025年深圳信息職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫完整版
- 2025年關(guān)于紀念抗日戰(zhàn)爭勝利72周年的調(diào)查報告
- 2025年西安信息職業(yè)大學(xué)單招職業(yè)技能測試題庫匯編
- 2025年山西省財政稅務(wù)??茖W(xué)校單招職業(yè)技能測試題庫及答案一套
- 2025年河北對外經(jīng)貿(mào)職業(yè)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 湖南省岳陽市平江縣頤華高級中學(xué)2024-2025學(xué)年高一下學(xué)期3月月考地理試題(原卷版+解析版)
- 部編版七年級道德與法治上冊第一單元復(fù)習(xí)教案
- 壓力管道安全風(fēng)險管控清單格式
- 華中師范大學(xué)矢量logo課件
- 部編版五年級下冊語文【第三單元】全單元課件
- 培訓(xùn)績效管理與績效評價課件
- 輸血相關(guān)制度及流程-課件
- 零售藥店實施情況內(nèi)審報告
- 張元鵬《微觀經(jīng)濟學(xué)》(中級教程)筆記和課后習(xí)題詳解
- DGT252-2021農(nóng)機播種作業(yè)監(jiān)測終端
- 抽水蓄能式水電站機組巡檢維護保養(yǎng)與安全管理方案
- 《中華民族一家親》評課
評論
0/150
提交評論