




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.1運(yùn)算符與表達(dá)式
3.1.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.1.2自增,自減運(yùn)算符3.1.3算術(shù)混合運(yùn)算的精度3.1.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.1.5邏輯運(yùn)算符與邏輯表達(dá)式3.1.6賦值運(yùn)算符與賦值表達(dá)式3.1.7位運(yùn)算符3.1.8instanceof運(yùn)算符3.1.9運(yùn)算符綜述
+,-,*,/,%。用算術(shù)符號(hào)和括號(hào)連接起來(lái)的符合java語(yǔ)法規(guī)則的式子,稱為算術(shù)表達(dá)式自增、自減運(yùn)算符:++,--是單目運(yùn)算符,可以放在操作元之前,也可以放在操作元之后。操作元必須是一個(gè)整型或浮點(diǎn)型變量。作用是使變量的值增1或減1,如:++x(--x)表示在使用x之前,先使x的值增(減)1。x++(x--)表示在使用x之后,使x的值增(減)1。3.1運(yùn)算符與表達(dá)式
3.1.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.1.2自增,自減運(yùn)算符3.1.3算術(shù)混合運(yùn)算的精度3.1.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.1.5邏輯運(yùn)算符與邏輯表達(dá)式3.1.6賦值運(yùn)算符與賦值表達(dá)式3.1.7位運(yùn)算符3.1.8instanceof運(yùn)算符3.1.9運(yùn)算符綜述精度從“低”到“高”排列的順序是:byteshortcharintlongfloatdouble1.如果表達(dá)式中有雙精度浮點(diǎn)數(shù)(double型數(shù)據(jù)),則按雙精度進(jìn)行運(yùn)算。例如,表達(dá)式:5.0/2+10的結(jié)果12.5是double型數(shù)據(jù)。2.如果表達(dá)式中最高精度是單精度浮點(diǎn)數(shù)(float型數(shù)據(jù)),則按單精度進(jìn)行運(yùn)算。例如,表達(dá)式:5.0F/2+10的結(jié)果12.5F是float型數(shù)據(jù)。3.如果表達(dá)式中最高精度是long型整數(shù),則按long精度進(jìn)行運(yùn)算。例如,表達(dá)式:12L+100+'a'的結(jié)果209L是long型數(shù)據(jù)。4.如果表達(dá)式中最高精度低于int型整數(shù),則按int精度進(jìn)行運(yùn)算。例如,表達(dá)式:(byte)10+'a'和5/2的結(jié)果分別為107和2,都是int型數(shù)據(jù)。Java允許把不超出byte型(short,char)的int型常量賦值給byte型變量。例如,bytex=97+1;bytey=1;都是正確的。但是,對(duì)于bytez=97+y就是錯(cuò)誤的,因?yàn)榫幾g器不檢查表達(dá)式97+y中變量y的值,只檢查y的類型,并認(rèn)為表達(dá)式的結(jié)果是int型精度,所以對(duì)于bytez=97+y;編譯器會(huì)提示“不兼容的類型:從int轉(zhuǎn)換到byte可能會(huì)有損失”的信息。3.1運(yùn)算符與表達(dá)式
3.1.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.1.2自增,自減運(yùn)算符3.1.3算術(shù)混合運(yùn)算的精度3.1.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.1.5邏輯運(yùn)算符與邏輯表達(dá)式3.1.6賦值運(yùn)算符與賦值表達(dá)式3.1.7位運(yùn)算符3.1.8instanceof運(yùn)算符3.1.9運(yùn)算符綜述>,<,>=,<=,==,!=關(guān)系運(yùn)算符是二目運(yùn)算符,用來(lái)比較兩個(gè)值的關(guān)系。關(guān)系運(yùn)算符的運(yùn)算結(jié)果是boolean型,當(dāng)運(yùn)算符對(duì)應(yīng)的關(guān)系成立時(shí),運(yùn)算結(jié)果是true,否則是false。例如,10<9的結(jié)果是false,5>1的結(jié)果是true,3!=5的結(jié)果是true,10>20-17的結(jié)果為true.&&,||,!邏輯運(yùn)算符實(shí)現(xiàn)邏輯與、或和非。邏輯運(yùn)算符的操作元必須是boolean型數(shù)據(jù)。例如,2>8&&9>2的結(jié)果為false,2>8||9>2的結(jié)果為true。邏輯運(yùn)算符&&和||也稱做短路邏輯運(yùn)算符,這是因?yàn)楫?dāng)op1的值是false時(shí),&&運(yùn)算符在進(jìn)行運(yùn)算時(shí)不再去計(jì)算op2的值,直接就得出op1&&op2的結(jié)果是false;當(dāng)op1的值是true時(shí),||運(yùn)算符在進(jìn)行運(yùn)算時(shí)不再去計(jì)算op2的值,直接就得出op1||op2的結(jié)果是true。3.1運(yùn)算符與表達(dá)式
3.1.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.1.2自增,自減運(yùn)算符3.1.3算術(shù)混合運(yùn)算的精度3.1.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.1.5邏輯運(yùn)算符與邏輯表達(dá)式3.1.6賦值運(yùn)算符與賦值表達(dá)式3.1.7位運(yùn)算符3.1.8instanceof運(yùn)算符3.1.9運(yùn)算符綜述賦值運(yùn)算符:=是二目運(yùn)算符,左面的操作元必須是變量,不能是常量或表達(dá)式。設(shè)x是一個(gè)整型變量,y是一個(gè)boolean型變量,x=20和y=true都是正確的賦值表達(dá)式,賦值運(yùn)算符的優(yōu)先級(jí)較低,是14級(jí),結(jié)合方向右到左。賦值表達(dá)式的值就是=左面變量的值。例如,假如a,b是2個(gè)int型變量,那么表達(dá)式b=12和a=b=100的值分別是12和100。
注意不要將賦值運(yùn)算符
=與等號(hào)邏輯運(yùn)算符
==
混淆,比如,12=12是非法的表達(dá)式,而表達(dá)式12==12的值是true。3.1運(yùn)算符與表達(dá)式
3.1.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.1.2自增,自減運(yùn)算符3.1.3算術(shù)混合運(yùn)算的精度3.1.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.1.5邏輯運(yùn)算符與邏輯表達(dá)式3.1.6賦值運(yùn)算符與賦值表達(dá)式3.1.7位運(yùn)算符3.1.8instanceof運(yùn)算符3.1.9運(yùn)算符綜述1.&
:“按位與”運(yùn)算。如果a,b兩個(gè)數(shù)據(jù)對(duì)應(yīng)位都是1,則運(yùn)算結(jié)果c的該位是1,否則是0。2.|:“按位或”運(yùn)算。如果a,b兩個(gè)數(shù)據(jù)對(duì)應(yīng)位都是0,則運(yùn)算結(jié)果c的該位是0,否則是1。3.~:“按位非”運(yùn)算。是單目運(yùn)算符,對(duì)一個(gè)數(shù)據(jù)a按位進(jìn)行運(yùn)算,如果a對(duì)應(yīng)位是0,則運(yùn)算結(jié)果c的該位是1,否則是04.^:“按位異或”運(yùn)算。如果a,b數(shù)據(jù)對(duì)應(yīng)位相同,則運(yùn)算結(jié)果c的該位是0,否則是1。例子1中,利用“異或”運(yùn)算的性質(zhì),對(duì)幾個(gè)字符進(jìn)行加密并輸出密文,然后再解密.例子13.1運(yùn)算符與表達(dá)式
3.1.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.1.2自增,自減運(yùn)算符3.1.3算術(shù)混合運(yùn)算的精度3.1.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.1.5邏輯運(yùn)算符與邏輯表達(dá)式3.1.6賦值運(yùn)算符與賦值表達(dá)式3.1.7位運(yùn)算符3.1.8instanceof運(yùn)算符3.1.9運(yùn)算符綜述instanceof
運(yùn)算符是二目運(yùn)算符,左面的操作元是一個(gè)對(duì)象;右面是一個(gè)類。當(dāng)左面的對(duì)象是右面的類或子類創(chuàng)建的對(duì)象時(shí),該運(yùn)算符運(yùn)算的結(jié)果是true,否則是false。例如zhanginstanceofPeople的結(jié)果是trueJava的表達(dá)式就是用運(yùn)算符連接起來(lái)的符合Java規(guī)則的式子。運(yùn)算符的優(yōu)先級(jí)決定了表達(dá)式中運(yùn)算執(zhí)行的先后順序。例如,x<y&&!z相當(dāng)于(x<y)&&(!z)。沒(méi)有必要去記憶運(yùn)算符的優(yōu)先級(jí)別,在編寫程序時(shí)盡量的使用括號(hào)()運(yùn)算符號(hào)來(lái)實(shí)現(xiàn)想要的運(yùn)算次序,以免產(chǎn)生難以閱讀或含糊不清的計(jì)算順序。3.2語(yǔ)句概述
1.方法調(diào)用語(yǔ)句2.表達(dá)式語(yǔ)句3.復(fù)合語(yǔ)句4.空語(yǔ)句5.控制語(yǔ)句6.package語(yǔ)句和import語(yǔ)句如:System.out.println("Hello");由一個(gè)表達(dá)式構(gòu)成一個(gè)語(yǔ)句,即表示式尾加上分號(hào)。比如賦值語(yǔ)句:x=23;可以用{}把一些語(yǔ)句括起來(lái)構(gòu)成一條復(fù)合語(yǔ)句,如:{
z=123+x;System.out.println("Howareyou");}一個(gè)分號(hào)也是一條語(yǔ)句,稱做空語(yǔ)句??刂普Z(yǔ)句分為條件分支語(yǔ)句、開關(guān)語(yǔ)句和循環(huán)語(yǔ)句,將在后面的3.3、3.4和3.5節(jié)介紹。package語(yǔ)句和import語(yǔ)句和類、對(duì)象有關(guān),將在第4章講解。3.3if條件分支語(yǔ)句
3.3.1if語(yǔ)句3.3.2if-else語(yǔ)句3.3.3if-elseif-else語(yǔ)句if(表達(dá)式){
若干語(yǔ)句//if操作部分}表達(dá)式的值必須是boolean類型,當(dāng)值為true時(shí),則執(zhí)行緊跟著的復(fù)合語(yǔ)句,結(jié)束當(dāng)前if語(yǔ)句的執(zhí)行;如果表達(dá)式的值為false,結(jié)束當(dāng)前if語(yǔ)句的執(zhí)行。在if語(yǔ)句中,其中的復(fù)合語(yǔ)句中如果只有一條語(yǔ)句,{}可以省略不寫,但為了增強(qiáng)程序的可讀性最好不要省略例子2中,將變量a,b,c內(nèi)存中的數(shù)值按大小順序進(jìn)行互換(從小到大排列)。例子23.3if條件分支語(yǔ)句
3.3.1if語(yǔ)句3.3.2if-else語(yǔ)句3.3.3if-elseif-else語(yǔ)句if(表達(dá)式){
若干語(yǔ)句
//if操作}else{
若干語(yǔ)句
//else操作}表達(dá)式的值必須是boolean類型,當(dāng)值為true時(shí),執(zhí)行if后的復(fù)合語(yǔ)句,結(jié)束當(dāng)前if-else語(yǔ)句的執(zhí)行;如果表達(dá)式的值為false,則執(zhí)行關(guān)鍵字else后面的復(fù)合語(yǔ)句,結(jié)束當(dāng)前if-else語(yǔ)句的執(zhí)行。例子3中有兩條if-else語(yǔ)句,其作用是根據(jù)成績(jī)輸出相應(yīng)的信息)。例子33.3if條件分支語(yǔ)句
3.3.1if語(yǔ)句3.3.2if-else語(yǔ)句3.3.3if-elseif-else語(yǔ)句if-elseif-else語(yǔ)句是多條件分支語(yǔ)句,即根據(jù)多個(gè)條件來(lái)控制程序執(zhí)行的流程。if(表達(dá)式){
若干語(yǔ)句}elseif(表達(dá)式){
若干語(yǔ)句}……else{
若干語(yǔ)句}表達(dá)式的值必須是boolean類型。3.4開關(guān)語(yǔ)句
語(yǔ)句格式
表達(dá)式與執(zhí)行流程switch語(yǔ)句是單條件多分支的開關(guān)語(yǔ)句,它的一般格式定義如下(其中break語(yǔ)句是可選的)。switch(表達(dá)式){case
常量值1:
若干個(gè)語(yǔ)句break;case常量值2:
若干個(gè)語(yǔ)句break;...case常量值n:
若干個(gè)語(yǔ)句break;default:
若干語(yǔ)句}3.4開關(guān)語(yǔ)句
語(yǔ)句格式
表達(dá)式與執(zhí)行流程“表達(dá)式”的值可以為byte,short、char、int型,枚舉類型或String類型(見9.1),對(duì)應(yīng)的“常量值1”到“常量值n”必須也是相應(yīng)的byte,short、char、int型常量,枚舉類型常量或String常量,而且要互不相同。switch語(yǔ)句首先計(jì)算表達(dá)式的值,如果表達(dá)式的值和某個(gè)case后面的常量值相等,就執(zhí)行該case里的若干個(gè)語(yǔ)句直到碰到break語(yǔ)句為止。如果某個(gè)case中沒(méi)有使用break語(yǔ)句,一旦表達(dá)式的值和該case后面的常量值相等,程序不僅執(zhí)行該case里的若干個(gè)語(yǔ)句,而且繼續(xù)執(zhí)行后繼的case里的若干個(gè)語(yǔ)句,直到碰到break語(yǔ)句為止。
若switch語(yǔ)句中的表達(dá)式的值不與任何case的常量值相等,則執(zhí)行default后面的若干個(gè)語(yǔ)句。
switch語(yǔ)句中的default是可選的,如果它不存在,并且switch語(yǔ)句中表達(dá)式的值不與任何case的常量值相等,那么switch語(yǔ)句就不會(huì)進(jìn)行任何處理。例子4
使用了switch語(yǔ)句,運(yùn)行效果如圖。例子43.5循環(huán)語(yǔ)句
3.5.1for循環(huán)3.5.2while循環(huán)3.5.3do-while循環(huán)循環(huán)語(yǔ)句是根據(jù)條件,要求程序反復(fù)執(zhí)行某些操作,直到程序“滿意”為止。
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
若干語(yǔ)句
//循環(huán)體}表達(dá)式2是值為boolean型的表達(dá)式,稱為循環(huán)條件。例子5計(jì)算8+88+888+8888……的前12項(xiàng)和例子53.5循環(huán)語(yǔ)句
3.5.1for循環(huán)3.5.2while循環(huán)3.5.3do-while循環(huán)while(表達(dá)式){
若干語(yǔ)句
//循環(huán)體}表達(dá)式是值為boolean型的表達(dá)式,稱為循環(huán)條件。例子6
用while循環(huán)計(jì)算1+1/2!+1/3!+1/4!…的前20項(xiàng)。例子6do{
若干語(yǔ)句//循環(huán)體}while(表達(dá)式);表達(dá)式是值為boolean型的表達(dá)式,稱為循環(huán)條件。3.5break和continue語(yǔ)句
Breakcontinue在循環(huán)體中可以使用break語(yǔ)句。如果在某次循環(huán)中執(zhí)行了break語(yǔ)句,那么整個(gè)循環(huán)語(yǔ)句就結(jié)束。如果在某次循環(huán)中執(zhí)行了continue語(yǔ)句,那么本次循環(huán)就結(jié)束,即不再執(zhí)行本次循環(huán)中循環(huán)體中continue語(yǔ)句后面的語(yǔ)句,而轉(zhuǎn)入進(jìn)行下一次循環(huán)。例子7
使用了break和continue語(yǔ)句。例子7
3.6數(shù)組與for語(yǔ)句
JDK1.5對(duì)for語(yǔ)句的功能給予擴(kuò)充、增強(qiáng),以便更好地遍歷數(shù)組。語(yǔ)法格式如下:for(聲明循環(huán)變量:數(shù)組的名字){…}其中,聲明的循環(huán)變量的類型必須和數(shù)組的類
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國(guó)際教育項(xiàng)目全新留學(xué)合同
- 2025年度員工股權(quán)激勵(lì)計(jì)劃實(shí)施協(xié)議書
- 2025年度文化創(chuàng)意公司兼職聘用員工合同
- 2025年度一手房帶家具家電裝修包購(gòu)服務(wù)協(xié)議
- 2025年度中式餐廳轉(zhuǎn)讓及品牌推廣合同
- 醫(yī)院裝修監(jiān)理合作協(xié)議
- 2025年度出租房屋裝修工程結(jié)算及租賃服務(wù)協(xié)議
- 2025年度安全生產(chǎn)達(dá)標(biāo)廠房租賃服務(wù)合同
- 2025年度健身機(jī)構(gòu)教練職務(wù)聘用協(xié)議
- 2025年度商鋪物業(yè)管理與社區(qū)文化活動(dòng)合作協(xié)議
- 《康復(fù)評(píng)定技術(shù)》課件-第五章 運(yùn)動(dòng)控制
- 議論文8(試題+審題+范文+點(diǎn)評(píng)+素材)-2025年高考語(yǔ)文寫作復(fù)習(xí)
- 【理特咨詢】2024生成式人工智能GenAI在生物醫(yī)藥大健康行業(yè)應(yīng)用進(jìn)展報(bào)告
- 2025新人教版英語(yǔ)七年級(jí)下單詞默寫表(小學(xué)部分)
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit6第1課時(shí)Startup
- 2025江蘇蘇州高新區(qū)獅山商務(wù)創(chuàng)新區(qū)下屬國(guó)企業(yè)招聘9人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 平拋運(yùn)動(dòng)的經(jīng)典例題
- 錄井作業(yè)現(xiàn)場(chǎng)風(fēng)險(xiǎn)評(píng)估及控制措施
- 2025年度商會(huì)工作計(jì)劃
- 社區(qū)管理與服務(wù)專業(yè)實(shí)習(xí)總結(jié)范文
- 施工現(xiàn)場(chǎng)5S管理規(guī)范
評(píng)論
0/150
提交評(píng)論