




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java語言與JBuilder應(yīng)用初步
第二章Java基本語法本章要點(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ì)象屬于特定的類:面向?qū)ο蠡A(chǔ)Java程序結(jié)構(gòu)對(duì)象是全局性的Java中沒有全局變量和全局函數(shù)所有的函數(shù)都屬于特定的類除少數(shù)幾種基本變量以外,Java中的所有變量類型都是類變量變量定義與變量類型變量:用于保存數(shù)據(jù)。變量在使用前需要先進(jìn)行定義和初始化doubleresValue=12.1+25.8;變量的定義:給變量設(shè)定名字和類型typename;“type”表示變量類型,“name”表示變量名變量變量類型簡(jiǎn)單變量的類型變量變量類型的跨平臺(tái)性變量的表示范圍不隨操作系統(tǒng)變化int型:32位,范圍為-2147483648~2147483647float型,32位,IEEE754規(guī)范double型:64位,IEEE754規(guī)范字符型變量是16位Unicode字符類型,可以直接表示包括中文在內(nèi)的各國文字變量變量名變量名需要滿足的條件:變量名必須以字符開頭;必須是一串連續(xù)的Unicode字符,不能有空格,也不能有減號(hào)(否則會(huì)與減法相混淆);變量名不能是Java關(guān)鍵字,邏輯值(true或false),以及保留字null;在同一個(gè)有效區(qū)域里的變量名必須唯一,不同區(qū)域(比如不同子程序里)里的變量名可以重復(fù)。變量變量名Java關(guān)鍵字列表變量Java變量名的命名規(guī)范變量名以小寫字母開頭,類名以大寫字母開頭,常量名全部由大寫字母組成如果變量名由多個(gè)單詞組成,則將單詞連在一起寫,每個(gè)單詞的首字母大寫例:flagDone,totalNum常量:多個(gè)單詞間以下劃線連接例:MAX_INTEGER,MAX_ARRAY_NUM變量中文變量名對(duì)于16位Unicode字符,漢字與英文字母沒有區(qū)別可以在變量名中使用漢字,也可以混合使用漢字、英文字母,如:int整數(shù)=5;char漢字='文';double費(fèi)用_Fee=3.3;變量常數(shù)的類型默認(rèn)的常數(shù)類型:變量指定常數(shù)的類型變量引用變量簡(jiǎn)單變量?jī)H能存儲(chǔ)簡(jiǎn)單的數(shù)據(jù),對(duì)于復(fù)雜的數(shù)據(jù),必須用引用變量來表示引用變量里存儲(chǔ)的僅僅是一個(gè)指針,它指向真正的對(duì)象所在地。例如下面的例子:變量變量的初始化所謂初始化,就是給變量賦一個(gè)初值任何變量,在訪問它的值以前,必須先要給它賦一個(gè)值,否則結(jié)果是不可預(yù)料簡(jiǎn)單變量的初始化:只需賦一個(gè)值即可,還可以在變量定義時(shí)即將其初始化intaNum=0;doubleaValue=0.0;charaChar='';變量變量的初始化Java語言對(duì)變量初始化的要求非常嚴(yán)格,如果變量存在未初始化的可能,則提示出錯(cuò),不能繼續(xù)編譯在Delphi語言中,對(duì)于變量可能未初始化的問題只會(huì)給出一個(gè)警告,還可以繼續(xù)編譯C/C++語言根本不提示此類問題,完全由程序員自己把握變量引用變量的初始化用new語句在內(nèi)存中創(chuàng)建一個(gè)對(duì)象,再將引用變量指向這個(gè)對(duì)象TheClassaClass;aClass=newTheClass();程序第一行定義了一個(gè)引用變量,aClass,此時(shí)它還只是一個(gè)空的指針;第二行語句在內(nèi)存中創(chuàng)建了一個(gè)TheClass型的對(duì)象,再將變量aClass指向該對(duì)象變量最終變量最終變量的值在初始化之后就不能再變了。最終變量相當(dāng)于常量最終變量的定義:使用final關(guān)鍵字:finalintaConstInteger=25;最終變量的定義和初始化也可以分開: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類:算術(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ù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ù)是相同類型的,則運(yùn)算的結(jié)果也是同樣類型如果兩個(gè)運(yùn)算數(shù)類型不同,Java會(huì)先將數(shù)值轉(zhuǎn)換為較精確的類型,再進(jìn)行計(jì)算,結(jié)果也是較精確的類型數(shù)據(jù)類型精度的次序: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++語言的形式一樣。但在Basic,Pascal等語言中,用“<>”表示“不等于”。程序員應(yīng)當(dāng)注意不同語言中不等號(hào)的形式差別。運(yùn)算符6種條件運(yùn)算符列表運(yùn)算符條件運(yùn)算符“&&”和“&”的差別:“&&”只有在需要時(shí)才計(jì)算右邊op2的值,如果通過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>>>:無符號(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)使用無符號(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ì)算過程如下:
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í)非常有用,通過按位運(yùn)算符可以方便地設(shè)置、修改、訪問每個(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的值“(變量類型)”,將變量轉(zhuǎn)換成指定類型: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)分支控制語句if語句:是最基本的分支控制語句,使程序根據(jù)條件有選擇地執(zhí)行語句if語句的形式如下:if(關(guān)系表達(dá)式){
語句}它的含義是:如果關(guān)系表達(dá)式為真,則執(zhí)行后面花括號(hào)里的語句,否則就不執(zhí)行花括號(hào)里的語句分支與循環(huán)結(jié)構(gòu)分支控制語句例:對(duì)于前面的例子,如果當(dāng)a不是正數(shù)時(shí)也需要在屏幕上顯示,語句如下: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)分支控制語句組合的if...else語句:例,要求當(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)分支控制語句處理多種選擇問題的方法:利用多個(gè)if...else結(jié)構(gòu)利用switch語句處理switch語句的語法結(jié)構(gòu):switch語句將IntVar的值與每個(gè)case語句的整數(shù)值比較如果符合,就執(zhí)行這個(gè)case中的語句如果不與任何一個(gè)case符合,就執(zhí)行default中的語句switch(IntVar){case1:
語句
break;case2:
語句
break;......casen:
語句
break;default:
語句}分支與循環(huán)結(jié)構(gòu)分支控制語句switch分支的特點(diǎn):每個(gè)分支均以一個(gè)break語句結(jié)尾作用是跳出switch結(jié)構(gòu)如果沒有break語句,那么程序在執(zhí)行完這個(gè)case的代碼后,會(huì)接著執(zhí)行下面一個(gè)case的代碼分支與循環(huán)結(jié)構(gòu)例題:不帶break語句的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)控制語句循環(huán)控制語句的作用是反復(fù)執(zhí)行一段代碼常用的循環(huán)結(jié)構(gòu):while循環(huán)do...while循環(huán)for循環(huán)循環(huán)結(jié)構(gòu)的組成部分:循環(huán)頭(控制語句)循環(huán)體(代碼)分支與循環(huán)結(jié)構(gòu)循環(huán)控制語句while循環(huán)while(條件表達(dá)式){
語句}當(dāng)條件表達(dá)式為真時(shí),反復(fù)執(zhí)行花括號(hào)中的語句,直到條件為假,則退出循環(huán)例:計(jì)算1+2+3+...,一直到結(jié)果大于100,求此時(shí)加到的最大的數(shù)是多少分支與循環(huán)結(jié)構(gòu)循環(huán)控制語句例題程序如下: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沒有超過100的時(shí)候,反復(fù)執(zhí)行累加程序分支與循環(huán)結(jié)構(gòu)循環(huán)控制語句do...while結(jié)構(gòu),形式如下:do{
語句}while(條件表達(dá)式)while結(jié)構(gòu)和do...while結(jié)構(gòu)的差異:while循環(huán):先判斷,再執(zhí)行。如果一開始循環(huán)條件就不滿足,則循環(huán)內(nèi)的語句根本不會(huì)執(zhí)行do...while循環(huán):先執(zhí)行,后判斷。不管循環(huán)條件滿不滿足,循環(huán)內(nèi)的語句至少會(huì)執(zhí)行一遍分支與循環(huán)結(jié)構(gòu)循環(huán)控制語句wh
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)術(shù)交流課題申報(bào)書
- 黨建課題開題申報(bào)書
- 職高英語課題申報(bào)書范例
- 家校合作課題申報(bào)書
- 省級(jí)課題申報(bào)書查重
- 課題立項(xiàng)申報(bào)書查重
- 甲狀腺課題申報(bào)書
- 課題申報(bào)評(píng)審書模本
- 創(chuàng)業(yè)課題申報(bào)書范本模板
- 醫(yī)生晉升課題申報(bào)書
- 鹽城市殘疾人康復(fù)機(jī)構(gòu)認(rèn)定暫行辦法
- 大學(xué)生心理健康教育-大學(xué)生心理健康導(dǎo)論
- 護(hù)理不良事件管理、上報(bào)制度及流程
- 房地產(chǎn)公司各崗位職責(zé)及組織結(jié)構(gòu)圖
- 七夕節(jié)傳統(tǒng)文化習(xí)俗主題教育PPT
- GB/T 1263-2006化學(xué)試劑十二水合磷酸氫二鈉(磷酸氫二鈉)
- 鋼棧橋施工與方案
- 《藝術(shù)學(xué)概論》課件-第一章
- 鐵及其化合物的性質(zhì)-實(shí)驗(yàn)活動(dòng)課件
- 動(dòng)物寄生蟲病學(xué)課件
- 2022年陜西省西安交通大學(xué)少年班自主招生數(shù)學(xué)試題及答案
評(píng)論
0/150
提交評(píng)論