




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java語(yǔ)言與JBuilder應(yīng)用初步
第二章Java基本語(yǔ)法本章要點(diǎn)面向?qū)ο蠡A(chǔ)變量運(yùn)算符分支與循環(huán)結(jié)構(gòu)面向?qū)ο蠡A(chǔ)對(duì)象的基本特征狀態(tài):對(duì)象的狀態(tài)用一個(gè)或多個(gè)變量表示,這些變量稱為成員變量行為:對(duì)象的行為用函數(shù)或子程序?qū)崿F(xiàn),它們稱為成員函數(shù)一個(gè)對(duì)象就是一組變量和函數(shù)形成的一個(gè)軟件包面向?qū)ο蠡A(chǔ)面向?qū)ο蟪绦虻奶攸c(diǎn)一切都是對(duì)象:程序是對(duì)象的組合:對(duì)象有自主存儲(chǔ)空間:對(duì)象屬于特定的類(lèi):面向?qū)ο蠡A(chǔ)Java程序結(jié)構(gòu)對(duì)象是全局性的Java中沒(méi)有全局變量和全局函數(shù)所有的函數(shù)都屬于特定的類(lèi)除少數(shù)幾種基本變量以外,Java中的所有變量類(lèi)型都是類(lèi)變量變量定義與變量類(lèi)型變量:用于保存數(shù)據(jù)。變量在使用前需要先進(jìn)行定義和初始化doubleresValue=12.1+25.8;變量的定義:給變量設(shè)定名字和類(lèi)型typename;“type”表示變量類(lèi)型,“name”表示變量名變量變量類(lèi)型簡(jiǎn)單變量的類(lèi)型變量變量類(lèi)型的跨平臺(tái)性變量的表示范圍不隨操作系統(tǒng)變化int型:32位,范圍為-2147483648~2147483647float型,32位,IEEE754規(guī)范double型:64位,IEEE754規(guī)范字符型變量是16位Unicode字符類(lèi)型,可以直接表示包括中文在內(nèi)的各國(guó)文字變量變量名變量名需要滿足的條件:變量名必須以字符開(kāi)頭;必須是一串連續(xù)的Unicode字符,不能有空格,也不能有減號(hào)(否則會(huì)與減法相混淆);變量名不能是Java關(guān)鍵字,邏輯值(true或false),以及保留字null;在同一個(gè)有效區(qū)域里的變量名必須唯一,不同區(qū)域(比如不同子程序里)里的變量名可以重復(fù)。變量變量名Java關(guān)鍵字列表變量Java變量名的命名規(guī)范變量名以小寫(xiě)字母開(kāi)頭,類(lèi)名以大寫(xiě)字母開(kāi)頭,常量名全部由大寫(xiě)字母組成如果變量名由多個(gè)單詞組成,則將單詞連在一起寫(xiě),每個(gè)單詞的首字母大寫(xiě)例:flagDone,totalNum常量:多個(gè)單詞間以下劃線連接例:MAX_INTEGER,MAX_ARRAY_NUM變量中文變量名對(duì)于16位Unicode字符,漢字與英文字母沒(méi)有區(qū)別可以在變量名中使用漢字,也可以混合使用漢字、英文字母,如:int整數(shù)=5;char漢字='文';double費(fèi)用_Fee=3.3;變量常數(shù)的類(lèi)型默認(rèn)的常數(shù)類(lèi)型:變量指定常數(shù)的類(lèi)型變量引用變量簡(jiǎn)單變量?jī)H能存儲(chǔ)簡(jiǎn)單的數(shù)據(jù),對(duì)于復(fù)雜的數(shù)據(jù),必須用引用變量來(lái)表示引用變量里存儲(chǔ)的僅僅是一個(gè)指針,它指向真正的對(duì)象所在地。例如下面的例子:變量變量的初始化所謂初始化,就是給變量賦一個(gè)初值任何變量,在訪問(wèn)它的值以前,必須先要給它賦一個(gè)值,否則結(jié)果是不可預(yù)料簡(jiǎn)單變量的初始化:只需賦一個(gè)值即可,還可以在變量定義時(shí)即將其初始化intaNum=0;doubleaValue=0.0;charaChar='';變量變量的初始化Java語(yǔ)言對(duì)變量初始化的要求非常嚴(yán)格,如果變量存在未初始化的可能,則提示出錯(cuò),不能繼續(xù)編譯在Delphi語(yǔ)言中,對(duì)于變量可能未初始化的問(wèn)題只會(huì)給出一個(gè)警告,還可以繼續(xù)編譯C/C++語(yǔ)言根本不提示此類(lèi)問(wèn)題,完全由程序員自己把握變量引用變量的初始化用new語(yǔ)句在內(nèi)存中創(chuàng)建一個(gè)對(duì)象,再將引用變量指向這個(gè)對(duì)象TheClassaClass;aClass=newTheClass();程序第一行定義了一個(gè)引用變量,aClass,此時(shí)它還只是一個(gè)空的指針;第二行語(yǔ)句在內(nèi)存中創(chuàng)建了一個(gè)TheClass型的對(duì)象,再將變量aClass指向該對(duì)象變量最終變量最終變量的值在初始化之后就不能再變了。最終變量相當(dāng)于常量最終變量的定義:使用final關(guān)鍵字:finalintaConstInteger=25;最終變量的定義和初始化也可以分開(kāi):finalintaConstInteger;aConstInteger=25;最終變量在定義之后應(yīng)當(dāng)盡快初始化,以免發(fā)生多次賦值而出錯(cuò)運(yùn)算符什么是運(yùn)算符運(yùn)算符對(duì)1個(gè)、2個(gè)或3個(gè)參數(shù)完成一項(xiàng)函數(shù)功能按參數(shù)的數(shù)量劃分:一元運(yùn)算符、二元運(yùn)算符和三元運(yùn)算符按功能劃分:可分為5類(lèi):算術(shù)運(yùn)算符、關(guān)系與條件運(yùn)算符、移位與邏輯運(yùn)算符、賦值運(yùn)算符、其它運(yùn)算符運(yùn)算符運(yùn)算符的形式一元運(yùn)算符又可分為前綴符號(hào)和后綴符號(hào)前綴符號(hào)的運(yùn)算符在運(yùn)算數(shù)之前,如“++a”后綴符號(hào)的運(yùn)算符在運(yùn)算數(shù)之后,如“a++”二元運(yùn)算符只有一種形式,就是運(yùn)算符在兩個(gè)運(yùn)算數(shù)之間,例如:“a+b”三元運(yùn)算符只有一個(gè):“op1?op2:op3”,它相當(dāng)于一個(gè)簡(jiǎn)化的條件選擇語(yǔ)句運(yùn)算符算術(shù)運(yùn)算符包括基本的四則運(yùn)算:加法“+”,減法“-”,乘法“*”,除法“/”,余數(shù)“%”算術(shù)運(yùn)算符都支持浮點(diǎn)數(shù)和整數(shù)運(yùn)算運(yùn)算符算術(shù)運(yùn)算符如果兩個(gè)運(yùn)算數(shù)是相同類(lèi)型的,則運(yùn)算的結(jié)果也是同樣類(lèi)型如果兩個(gè)運(yùn)算數(shù)類(lèi)型不同,Java會(huì)先將數(shù)值轉(zhuǎn)換為較精確的類(lèi)型,再進(jìn)行計(jì)算,結(jié)果也是較精確的類(lèi)型數(shù)據(jù)類(lèi)型精度的次序:byte<short<int<long<float<double例,整數(shù)和浮點(diǎn)數(shù)相加,首先將整數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù),再相加,結(jié)果也是浮點(diǎn)數(shù)型運(yùn)算符其它的算術(shù)運(yùn)算符4個(gè)一元運(yùn)算符,其中“++”和“--”運(yùn)算符各有前綴和后綴兩種形式運(yùn)算符其它的算術(shù)運(yùn)算符最容易混淆的是“op++”和“++op”,例如:inta1=10;inta2=10;intb1,b2;b1=a1++;b2=++a2;運(yùn)算符關(guān)系運(yùn)算符比較兩個(gè)值是否滿足某種關(guān)系。如果滿足,則返回“true”(真),否則返回“false”(假)常用的關(guān)系運(yùn)算符:運(yùn)算符關(guān)系運(yùn)算符在Java中,“=”代表給變量賦值,而用“==”代表相等,這與傳統(tǒng)的習(xí)慣不同初學(xué)者往往習(xí)慣性地用“=”表示相等,從而出現(xiàn)“if(a=b){...}”的錯(cuò)誤“!=”運(yùn)算符表示“不等于”,這與C,C++語(yǔ)言的形式一樣。但在Basic,Pascal等語(yǔ)言中,用“<>”表示“不等于”。程序員應(yīng)當(dāng)注意不同語(yǔ)言中不等號(hào)的形式差別。運(yùn)算符6種條件運(yùn)算符列表運(yùn)算符條件運(yùn)算符“&&”和“&”的差別:“&&”只有在需要時(shí)才計(jì)算右邊op2的值,如果通過(guò)op1就能知道結(jié)果時(shí),op2就不會(huì)計(jì)算“&”運(yùn)算符會(huì)計(jì)算出兩邊op1和op2的值,再得到返回值例:if((5>7)&&(13>2))then{...}“5>7”不成立,那么“(5>7)&&(13>2)”顯然不會(huì)成立,因此不再計(jì)算“13>2”運(yùn)算符負(fù)數(shù)的二進(jìn)制存儲(chǔ)方法在計(jì)算機(jī)里,負(fù)數(shù)一般是以二進(jìn)制“補(bǔ)碼”的形式存儲(chǔ)的補(bǔ)碼是以最大的二進(jìn)制數(shù)減去負(fù)數(shù)的絕對(duì)值再加1而得的例:整數(shù)“-14”,計(jì)算機(jī)中實(shí)際存儲(chǔ)的值是“10000000000000000-0000000000001110=1111111111110010”運(yùn)算符移位與按位運(yùn)算符移位和按位運(yùn)算符就是對(duì)二進(jìn)制數(shù)值進(jìn)行操作的運(yùn)算符移位運(yùn)算符的作用是將二進(jìn)制數(shù)向左或向右移一位。下表列出全部3種移位運(yùn)算符:運(yùn)算符移位與按位運(yùn)算符<<:左移,將二進(jìn)制數(shù)左移一位,右邊多余的數(shù)位填0,相當(dāng)于乘以2>>:有符號(hào)右移,將二進(jìn)制數(shù)右移一位,如果二進(jìn)制數(shù)的最高位為0,則左端補(bǔ)0,如果最高位為1,則左端補(bǔ)1,相當(dāng)于除以2>>>:無(wú)符號(hào)右移,將二進(jìn)制數(shù)向右移一位,左端補(bǔ)0,常用于直接設(shè)置二進(jìn)制位的操作運(yùn)算符移位運(yùn)算符常用于直接設(shè)置二進(jìn)制位,此時(shí)每一位都有其具體的含義,并不代表一個(gè)整數(shù),因此有符號(hào)右移就失去了意義,而應(yīng)當(dāng)使用無(wú)符號(hào)右移符“>>>”按位運(yùn)算符:對(duì)二進(jìn)制數(shù)的每一位分別進(jìn)行邏輯操作,Java提供了4種按位運(yùn)算符:運(yùn)算符移位與按位運(yùn)算符“&”運(yùn)算符對(duì)操作數(shù)op1和op2的每一位進(jìn)行“與”操作例:10
&13,計(jì)算過(guò)程如下:
1010&1101-------------1000和1101按位與的結(jié)果是將第2位置0,其它位不變,用于將某位數(shù)字置零的操作運(yùn)算符移位與按位運(yùn)算符“|”運(yùn)算符進(jìn)行按位的“或”運(yùn)算,只要有一個(gè)操作數(shù)的對(duì)應(yīng)位為1,結(jié)果的對(duì)應(yīng)位就是1例:計(jì)算1010
|0001的結(jié)果:1010|0001-------------1011和0001按位“或”之后,右邊第1位被置“1”,其它位不變。常用于將某一位置“1”運(yùn)算符移位與按位運(yùn)算符“^”運(yùn)算符實(shí)現(xiàn)按位異或運(yùn)算,只有兩個(gè)操作數(shù)的對(duì)應(yīng)位不同,結(jié)果才為1例:1010
^1111的結(jié)果:1010^1111-------------0101與1111異或的結(jié)果是每一位都相反,常用于將某些位顛倒,其它位不變的操作運(yùn)算符移位與按位運(yùn)算符“~”是按位運(yùn)算符中唯一的一元運(yùn)算符,它的作用是將二進(jìn)制數(shù)的每一位取補(bǔ),例如:
~1010-------------0101按位運(yùn)算符在設(shè)置邏輯標(biāo)志時(shí)非常有用,通過(guò)按位運(yùn)算符可以方便地設(shè)置、修改、訪問(wèn)每個(gè)標(biāo)志位的狀態(tài)運(yùn)算符賦值運(yùn)算符“=”:最基本的賦值運(yùn)算符,將一個(gè)變量或常量的值賦給另一個(gè)變量。例如:inta=5;//a的值為5a=8;//現(xiàn)在a的值為8快捷賦值運(yùn)算符,用于同時(shí)實(shí)現(xiàn)算術(shù)、移位或按位操作與賦值操作。例如:i=i+2;可以用快捷賦值符號(hào)“+=”表示:i+=2;運(yùn)算符賦值運(yùn)算符快捷賦值運(yùn)算符列表:運(yùn)算符其它運(yùn)算符其它運(yùn)算符列表:運(yùn)算符其它運(yùn)算符“?:”,是唯一的一個(gè)三元運(yùn)算符,形式為:op1?op2:op3首先判斷op1,如果op1為真,則返回op2的值;如果op1為假,則返回op3的值“(變量類(lèi)型)”,將變量轉(zhuǎn)換成指定類(lèi)型:floatb=3.6;intc=(int)b*2;b被強(qiáng)制轉(zhuǎn)換成整數(shù),拋棄小數(shù)部分以后的值為3,于是c=6運(yùn)算符運(yùn)算符的優(yōu)先級(jí)列表分支與循環(huán)結(jié)構(gòu)分支控制語(yǔ)句if語(yǔ)句:是最基本的分支控制語(yǔ)句,使程序根據(jù)條件有選擇地執(zhí)行語(yǔ)句if語(yǔ)句的形式如下:if(關(guān)系表達(dá)式){
語(yǔ)句}它的含義是:如果關(guān)系表達(dá)式為真,則執(zhí)行后面花括號(hào)里的語(yǔ)句,否則就不執(zhí)行花括號(hào)里的語(yǔ)句分支與循環(huán)結(jié)構(gòu)分支控制語(yǔ)句例:對(duì)于前面的例子,如果當(dāng)a不是正數(shù)時(shí)也需要在屏幕上顯示,語(yǔ)句如下:if(a>0){System.out.println("變量a是正數(shù)。");}else{System.out.println("變量a是負(fù)數(shù)或零。");}當(dāng)a不是正數(shù)時(shí),執(zhí)行else內(nèi)的代碼,顯示“變量a是負(fù)數(shù)或零”分支與循環(huán)結(jié)構(gòu)分支控制語(yǔ)句組合的if...else語(yǔ)句:例,要求當(dāng)a是正數(shù)、a是負(fù)數(shù)、a是零時(shí)分別顯示:if(a>0){System.out.println("變量a是正數(shù)。");}elseif(a<0){System.out.println("變量a是負(fù)數(shù)。");}else{System.out.println("變量a是零。");}分支與循環(huán)結(jié)構(gòu)分支控制語(yǔ)句處理多種選擇問(wèn)題的方法:利用多個(gè)if...else結(jié)構(gòu)利用switch語(yǔ)句處理switch語(yǔ)句的語(yǔ)法結(jié)構(gòu):switch語(yǔ)句將IntVar的值與每個(gè)case語(yǔ)句的整數(shù)值比較如果符合,就執(zhí)行這個(gè)case中的語(yǔ)句如果不與任何一個(gè)case符合,就執(zhí)行default中的語(yǔ)句switch(IntVar){case1:
語(yǔ)句
break;case2:
語(yǔ)句
break;......casen:
語(yǔ)句
break;default:
語(yǔ)句}分支與循環(huán)結(jié)構(gòu)分支控制語(yǔ)句switch分支的特點(diǎn):每個(gè)分支均以一個(gè)break語(yǔ)句結(jié)尾作用是跳出switch結(jié)構(gòu)如果沒(méi)有break語(yǔ)句,那么程序在執(zhí)行完這個(gè)case的代碼后,會(huì)接著執(zhí)行下面一個(gè)case的代碼分支與循環(huán)結(jié)構(gòu)例題:不帶break語(yǔ)句的switch結(jié)構(gòu)switch(n){case1:System.out.println("n的值是1");case2:System.out.println("n的值是2");case3:System.out.println("n的值是3");case4:System.out.println("n的值是4");case5:System.out.println("n的值是5");default:System.out.println("n的值不在預(yù)設(shè)范圍內(nèi)。");}分支與循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句的作用是反復(fù)執(zhí)行一段代碼常用的循環(huán)結(jié)構(gòu):while循環(huán)do...while循環(huán)for循環(huán)循環(huán)結(jié)構(gòu)的組成部分:循環(huán)頭(控制語(yǔ)句)循環(huán)體(代碼)分支與循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句while循環(huán)while(條件表達(dá)式){
語(yǔ)句}當(dāng)條件表達(dá)式為真時(shí),反復(fù)執(zhí)行花括號(hào)中的語(yǔ)句,直到條件為假,則退出循環(huán)例:計(jì)算1+2+3+...,一直到結(jié)果大于100,求此時(shí)加到的最大的數(shù)是多少分支與循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句例題程序如下:intsumx=0;intx=0;while(sumx<=100){x++;sumx+=x;}System.out.println("最大的加數(shù)為:"+x+"。");程序的核心是一個(gè)while循環(huán)結(jié)構(gòu),當(dāng)sumx沒(méi)有超過(guò)100的時(shí)候,反復(fù)執(zhí)行累加程序分支與循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句do...while結(jié)構(gòu),形式如下:do{
語(yǔ)句}while(條件表達(dá)式)while結(jié)構(gòu)和do...while結(jié)構(gòu)的差異:while循環(huán):先判斷,再執(zhí)行。如果一開(kāi)始循環(huán)條件就不滿足,則循環(huán)內(nèi)的語(yǔ)句根本不會(huì)執(zhí)行do...while循環(huán):先執(zhí)行,后判斷。不管循環(huán)條件滿不滿足,循環(huán)內(nèi)的語(yǔ)句至少會(huì)執(zhí)行一遍分支與循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句wh
溫馨提示
- 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年MB系列丙烯腈催化劑項(xiàng)目建議書(shū)
- 2025年液體管道運(yùn)輸服務(wù)項(xiàng)目合作計(jì)劃書(shū)
- 二零二五行政人員合同范例
- 二零二五有關(guān)施工安全協(xié)議
- 代理合同樣本正面
- 人參籽買(mǎi)賣(mài)合同樣本
- 裝修垃圾押金協(xié)議書(shū)
- 中介賣(mài)房代理合同樣本
- 駕校合伙經(jīng)營(yíng)簡(jiǎn)單協(xié)議書(shū)
- 代工合同代工合同樣本文庫(kù)
- 上海交通大學(xué)學(xué)生生存手冊(cè)
- 高效執(zhí)行四原則授課版
- 建筑空間組合論形式美的規(guī)律課件
- 最新中考數(shù)學(xué)第一輪復(fù)習(xí)經(jīng)典課件
- 船舶高級(jí)消防(新版PPT)
- 兩彈一星元?jiǎng)族X(qián)學(xué)森
- 道路保通專(zhuān)項(xiàng)安全方案
- 溧陽(yáng)市城市房屋拆遷補(bǔ)償估價(jià)技術(shù)細(xì)則
- 多層建筑拆除方案
- 導(dǎo)線壓接模具配型表
- 控制電纜技術(shù)規(guī)范書(shū)
評(píng)論
0/150
提交評(píng)論