




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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á)式常見(jiàn)類型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á)式的求值過(guò)程中,總是先求出運(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)算可以用來(lái)將某個(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種用法用來(lái)將某個(gè)數(shù)中某些特定的位取反.如要使數(shù)10010110從右數(shù)第2位取反,只需要將此數(shù)與00000010進(jìn)行按位異或運(yùn)算即可.
1001011000000010-------------------------10010100(其他位不變,只從右數(shù)第2位取反)通過(guò)異或運(yùn)算,實(shí)現(xiàn)兩個(gè)數(shù)的交換,不需要使用臨時(shí)變量例如:要交換兩個(gè)整數(shù)a和b值可通過(guò)以下語(yǔ)句實(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("原來(lái)的整數(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); }}流程控制語(yǔ)句語(yǔ)句—程序的基本組成單位.每個(gè)語(yǔ)句以”;”結(jié)束語(yǔ)句可以是:shorts=125;也可以是用{shorts=125;inti=10;;}括起來(lái)的復(fù)合語(yǔ)句.(一般一言叫做語(yǔ)句塊).空語(yǔ)句--僅僅由一個(gè)”;”組成的語(yǔ)句,叫空語(yǔ)句.作用:通常用做程序的流程控制中的過(guò)渡語(yǔ)句.幾種流程控制語(yǔ)句循環(huán)結(jié)構(gòu)1.3種循環(huán)語(yǔ)句(1)while語(yǔ)句(也可以成為”當(dāng)型”循環(huán))
一般格式:while(布爾型表達(dá)式){
循環(huán)體;}布爾型表達(dá)式:關(guān)系型表達(dá)式,邏輯型表達(dá)式,
布爾型變量,常量例題用while語(yǔ)句求100以內(nèi)的所有奇數(shù)和inti,sum;sum=0;i=1;while(i<=100){ sum+=i;i+=2;}System.out.println(sum);(2)do-while語(yǔ)句(“直到”型循環(huán))do-while語(yǔ)句的一般格式
do{
循環(huán)體;}while(布爾型表達(dá)式);解析:
先執(zhí)行do后循環(huán)體,
然后去判斷while后面的布爾型表達(dá)式例題用while語(yǔ)句求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的語(yǔ)句執(zhí)行順序for語(yǔ)句一般表示形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體表達(dá)式4}例如:要使某段代碼循環(huán)1000次for(inti=0;i<=1000;i++){
循環(huán)語(yǔ)句體;(代碼段)}(3)for語(yǔ)句(“當(dāng)”型循環(huán))如果遇到死循環(huán)
CTRL+C來(lái)終止程序的運(yùn)行,然后打開(kāi)源程序進(jìn)行檢查修改錯(cuò)誤,重新編譯運(yùn)行intsum=0;for(inti=1;i<=100;i+=2){ sum+=i;}System.out.println(sum);例題用for語(yǔ)句求100以內(nèi)的所有奇數(shù)和2.循環(huán)的嵌套編寫(xiě)輸出一個(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語(yǔ)句求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語(yǔ)句一般格式:continue標(biāo)號(hào);a.不代標(biāo)號(hào)continue語(yǔ)句作用:結(jié)束本次循環(huán)語(yǔ)句(終止當(dāng)前循環(huán)的本輪循環(huán).并且直接開(kāi)始下一輪循環(huán))b.代標(biāo)號(hào)的continue語(yǔ)句作用:把程序直接指向標(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)語(yǔ)句
System.out.print(year+"\t");n++;if(n<10)continue;//跳出“本次”循環(huán)語(yǔ)句
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語(yǔ)句break語(yǔ)句的一般語(yǔ)法格式:break標(biāo)號(hào);break語(yǔ)句通常情有2種使用情況.(1)不帶標(biāo)號(hào)的情況
作用:終止brake所在的循環(huán),轉(zhuǎn)去執(zhí)行其后的第一條語(yǔ)句.(2)帶標(biāo)號(hào)的情況
作用:終止由標(biāo)號(hào)指出的語(yǔ)句塊的執(zhí)行,并總從緊跟該塊的第一條語(yǔ)句處開(kāi)始往下執(zhí)行.例題:不帶標(biāo)號(hào)的break語(yǔ)句:
----編寫(xiě)找出大于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語(yǔ)句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語(yǔ)句中使用了一個(gè)標(biāo)號(hào),這個(gè)標(biāo)號(hào)必須聲明在一個(gè)封閉語(yǔ)句的前面;如果continue語(yǔ)句中只用了一個(gè)標(biāo)號(hào),這個(gè)標(biāo)號(hào)必須是一個(gè)封閉標(biāo)號(hào).選擇語(yǔ)句(1)if-else語(yǔ)句
if-else語(yǔ)句根據(jù)判斷條件的真假來(lái)執(zhí)行兩種操作中的一種.A.簡(jiǎn)單形式
if-else語(yǔ)句的一般語(yǔ)法形式為:if(布爾表達(dá)式){
語(yǔ)句1;}[else{語(yǔ)句2}]B.if語(yǔ)句的嵌套1.嵌套的常用格式
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JB-KR-TC5306可燃?xì)怏w報(bào)警控制器安裝使用說(shuō)明書(shū)-天成消防
- 陜西省咸陽(yáng)市2024-2025學(xué)年高二下學(xué)期期末質(zhì)量檢測(cè)政治試卷(含解析)
- 工程項(xiàng)目管理中回歸分析應(yīng)用導(dǎo)則
- 部編版三年級(jí)語(yǔ)文上冊(cè)第三單元新趨勢(shì)題提優(yōu)訓(xùn)練(B)單元試卷(含解析)
- 2024-2025學(xué)年廣東省深圳市光明區(qū)北師大版四年級(jí)下冊(cè)期末考試數(shù)學(xué)試卷(含答案)
- 文言文閱讀之?dāng)嗑洌ㄖv義)解析版-2026年中考語(yǔ)文一輪復(fù)習(xí)之古詩(shī)文
- 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全管理人員考試題及答案
- 四川省瀘州市2025年中考英語(yǔ)試題
- 天津市濱海新區(qū)塘沽某中學(xué)2024-2025學(xué)年高一年級(jí)上冊(cè)第一次月考 化學(xué)試卷 (解析版)
- 外研版七年級(jí)英語(yǔ)下冊(cè)Unit 4 The art of having fun書(shū)面表達(dá)(含解析)
- 詐騙撤案申請(qǐng)書(shū)
- 《仲偉合口譯》課件
- 智能機(jī)器人研發(fā)與制造合同
- DB5106T 22-2022 醫(yī)養(yǎng)結(jié)合機(jī)構(gòu)評(píng)價(jià)規(guī)范
- GB/T 21499-2024糧油檢驗(yàn)稻谷和糙米潛在出米率測(cè)定方法
- 2022浪潮英信服務(wù)器NP5570M5用戶手冊(cè) V1.0
- 北京市五十七中學(xué)2025屆高三適應(yīng)性調(diào)研考試語(yǔ)文試題含解析
- 專項(xiàng)16-二次根式的加減-專題訓(xùn)練
- 區(qū)塊鏈與數(shù)字貨幣法法律服務(wù)行業(yè)營(yíng)銷策略方案
- 新修訂《保密法》知識(shí)考試題及答案
- 機(jī)動(dòng)車駕駛員培訓(xùn)理論科目一模擬考核題庫(kù)500題(含答案)
評(píng)論
0/150
提交評(píng)論