版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JavaJava語(yǔ)言與語(yǔ)言與JBuilderJBuilder應(yīng)用初步應(yīng)用初步第二章第二章 JavaJava基本語(yǔ)法基本語(yǔ)法面向?qū)ο蠡A(chǔ)面向?qū)ο蠡A(chǔ)變量變量運(yùn)算符運(yùn)算符分支與循環(huán)結(jié)構(gòu)分支與循環(huán)結(jié)構(gòu)面向?qū)對(duì)象的基本特征狀態(tài):對(duì)象的狀態(tài)用一個(gè)或多個(gè)變量表示,這些變量稱為成員變量行為:對(duì)象的行為用函數(shù)或子程序?qū)崿F(xiàn),它們稱為成員函數(shù)一個(gè)對(duì)象就是一組變量和函數(shù)形成的一個(gè)軟件包面向?qū)面向?qū)ο蟪绦虻奶攸c(diǎn)一切都是對(duì)象:程序是對(duì)象的組合:對(duì)象有自主存儲(chǔ)空間:對(duì)象屬于特定的類:面向?qū)Java程序結(jié)構(gòu)對(duì)象是全局性的Java中沒有全局變量和全局函數(shù)所有的函數(shù)都屬于特定的類除少數(shù)幾種基本變量以外,Java中的所有變
2、量類型都是類變l變量定義與變量類型變量:用于保存數(shù)據(jù)。變量在使用前需要先進(jìn)行定義和初始化double resValue = 12.1 + 25.8;變量的定義:給變量設(shè)定名字和類型type name;“type”表示變量類型,“name”表示變量名變l變量類型簡(jiǎn)單變量的類型變l變量類型的跨平臺(tái)性變量的表示范圍不隨操作系統(tǒng)變化lint型:32位,范圍為-21474836482147483647lfloat型,32位,IEEE 754規(guī)范ldouble型:64位,IEEE 754規(guī)范字符型變量是16位Unicode字符類型,可以直接表示包括中文在內(nèi)的各國(guó)文字變l變量名變量名需要滿足的條件:l變量名
3、必須以字符開頭;l必須是一串連續(xù)的Unicode字符,不能有空格,也不能有減號(hào)(否則會(huì)與減法相混淆);l變量名不能是Java關(guān)鍵字,邏輯值(true或false),以及保留字null;l在同一個(gè)有效區(qū)域里的變量名必須唯一,不同區(qū)域(比如不同子程序里)里的變量名可以重復(fù)。變l變量名Java關(guān)鍵字列表變lJava變量名的命名規(guī)范變量名以小寫字母開頭,類名以大寫字母開頭,常量名全部由大寫字母組成如果變量名由多個(gè)單詞組成,則將單詞連在一起寫,每個(gè)單詞的首字母大寫l例:flagDone, totalNum常量:多個(gè)單詞間以下劃線連接l例:MAX_INTEGER, MAX_ARRAY_NUM變l中文變量名
4、對(duì)于16位Unicode字符,漢字與英文字母沒有區(qū)別可以在變量名中使用漢字,也可以混合使用漢字、英文字母,如:lint 整數(shù) = 5;lchar 漢字 = 文;ldouble 費(fèi)用_Fee = 3.3;變l常數(shù)的類型默認(rèn)的常數(shù)類型:變l指定常數(shù)的類型變l引用變量簡(jiǎn)單變量?jī)H能存儲(chǔ)簡(jiǎn)單的數(shù)據(jù),對(duì)于復(fù)雜的數(shù)據(jù),必須用引用變量來表示引用變量里存儲(chǔ)的僅僅是一個(gè)指針,它指向真正的對(duì)象所在地。例如下面的例子:變l變量的初始化所謂初始化,就是給變量賦一個(gè)初值任何變量,在訪問它的值以前,必須先要給它賦一個(gè)值,否則結(jié)果是不可預(yù)料簡(jiǎn)單變量的初始化:只需賦一個(gè)值即可,還可以在變量定義時(shí)即將其初始化int aNum =
5、 0;double aValue = 0.0;char aChar = ;變l變量的初始化Java語(yǔ)言對(duì)變量初始化的要求非常嚴(yán)格,如果變量存在未初始化的可能,則提示出錯(cuò),不能繼續(xù)編譯在Delphi語(yǔ)言中,對(duì)于變量可能未初始化的問題只會(huì)給出一個(gè)警告,還可以繼續(xù)編譯C/C+語(yǔ)言根本不提示此類問題,完全由程序員自己把握變l引用變量的初始化用new語(yǔ)句在內(nèi)存中創(chuàng)建一個(gè)對(duì)象,再將引用變量指向這個(gè)對(duì)象TheClass aClass;aClass = new TheClass();程序第一行定義了一個(gè)引用變量,aClass,此時(shí)它還只是一個(gè)空的指針;第二行語(yǔ)句在內(nèi)存中創(chuàng)建了一個(gè)TheClass型的對(duì)象,再將
6、變量aClass指向該對(duì)象變l最終變量最終變量的值在初始化之后就不能再變了。最終變量相當(dāng)于常量最終變量的定義:使用final關(guān)鍵字:final int aConstInteger = 25;最終變量的定義和初始化也可以分開:final int aConstInteger;aConstInteger = 25;最終變量在定義之后應(yīng)當(dāng)盡快初始化,以免發(fā)生多次賦值而出錯(cuò)運(yùn)l什么是運(yùn)算符運(yùn)算符對(duì)1個(gè)、2個(gè)或3個(gè)參數(shù)完成一項(xiàng)函數(shù)功能按參數(shù)的數(shù)量劃分:l一元運(yùn)算符、二元運(yùn)算符和三元運(yùn)算符按功能劃分:l可分為5類:算術(shù)運(yùn)算符、關(guān)系與條件運(yùn)算符、移位與邏輯運(yùn)算符、賦值運(yùn)算符、其它運(yùn)算符運(yùn)l運(yùn)算符的形式一元運(yùn)算
7、符又可分為前綴符號(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)l算術(shù)運(yùn)算符包括基本的四則運(yùn)算:加法“+”,減法“-”,乘法“*”,除法“/”,余數(shù)“%”算術(shù)運(yùn)算符都支持浮點(diǎn)數(shù)和整數(shù)運(yùn)算運(yùn)l算術(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ù)類型精度的次序:lbyteshortintlo
8、ngfloatdouble例,整數(shù)和浮點(diǎn)數(shù)相加,首先將整數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù),再相加,結(jié)果也是浮點(diǎn)數(shù)型運(yùn)l其它的算術(shù)運(yùn)算符4個(gè)一元運(yùn)算符,其中“+”和“-”運(yùn)算符各有前綴和后綴兩種形式運(yùn)l其它的算術(shù)運(yùn)算符最容易混淆的是“op+”和“+op” ,例如:int a1 = 10;int a2 = 10;int b1, b2;b1 = a1+;b2 = +a2;運(yùn)l關(guān)系運(yùn)算符比較兩個(gè)值是否滿足某種關(guān)系。如果滿足,則返回 “true”(真),否則返回 “false”(假)常用的關(guān)系運(yùn)算符:運(yùn)l關(guān)系運(yùn)算符在Java中,“=”代表給變量賦值,而用“= =”代表相等,這與傳統(tǒng)的習(xí)慣不同初學(xué)者往往習(xí)慣性地用“=”表示
9、相等,從而出現(xiàn)“if (a = b) .”的錯(cuò)誤“!=”運(yùn)算符表示“不等于”,這與C, C+語(yǔ)言的形式一樣。但在Basic,Pascal等語(yǔ)言中,用“”表示“不等于”。程序員應(yīng)當(dāng)注意不同語(yǔ)言中不等號(hào)的形式差別。運(yùn)l6種條件運(yùn)算符列表運(yùn)l條件運(yùn)算符“&”和“&”的差別:“&” 只有在需要時(shí)才計(jì)算右邊op2的值,如果通過op1就能知道結(jié)果時(shí),op2就不會(huì)計(jì)算“&”運(yùn)算符會(huì)計(jì)算出兩邊op1和op2的值,再得到返回值例:if ( (57) & (132) ) then . “57” 不成立,那么“(57) & (132)”顯然不會(huì)成立,因此不再計(jì)算“13
10、2”運(yùn)l負(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ǔ)的值是 “1 0000 0000 0000 0000 - 0000 0000 0000 1110 = 1111 1111 1111 0010”運(yùn)l移位與按位運(yùn)算符移位和按位運(yùn)算符就是對(duì)二進(jìn)制數(shù)值進(jìn)行操作的運(yùn)算符移位運(yùn)算符的作用是將二進(jìn)制數(shù)向左或向右移一位。下表列出全部3種移位運(yùn)算符:運(yùn)l移位與按位運(yùn)算符:有符號(hào)右移,將二進(jìn)制數(shù)右移一位,如果二進(jìn)制數(shù)的最高位為0,則左端補(bǔ)0,如果最高位為1,則左端補(bǔ)1,相當(dāng)于除以2:無符號(hào)右移,將二進(jìn)
11、制數(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)l移位與按位運(yùn)算符“&”運(yùn)算符對(duì)操作數(shù)op1和op2的每一位進(jìn)行“與”操作例:10 & 13,計(jì)算過程如下: 1010 & 1101 - 1000和1101按位與的結(jié)果是將第2位置0,其它位不變,用于將某位數(shù)字置零的操作運(yùn)l移位與按位運(yùn)算符“|”運(yùn)算符進(jìn)行按位的“或”運(yùn)算,只要有一個(gè)操作數(shù)的對(duì)應(yīng)位為1,結(jié)
12、果的對(duì)應(yīng)位就是1例:計(jì)算1010 | 0001的結(jié)果: 1010 | 0001 - 1011和0001按位“或”之后,右邊第1位被置“1”,其它位不變。常用于將某一位置“1”運(yùn)l移位與按位運(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)l移位與按位運(yùn)算符“”是按位運(yùn)算符中唯一的一元運(yùn)算符,它的作用是將二進(jìn)制數(shù)的每一位取補(bǔ),例如: 1010 - 0101按位運(yùn)算符在設(shè)置邏輯標(biāo)志時(shí)非常有用,通過按位運(yùn)算符可以方便地設(shè)置、修改、訪問每個(gè)標(biāo)志
13、位的狀態(tài)運(yùn)l賦值運(yùn)算符“=”:最基本的賦值運(yùn)算符,將一個(gè)變量或常量的值賦給另一個(gè)變量。例如:int a = 5; / a的值為5a = 8; / 現(xiàn)在a的值為8快捷賦值運(yùn)算符,用于同時(shí)實(shí)現(xiàn)算術(shù)、移位或按位操作與賦值操作。例如:i = i + 2;可以用快捷賦值符號(hào)“+=”表示:i += 2;運(yùn)l賦值運(yùn)算符快捷賦值運(yùn)算符列表:運(yùn)l其它運(yùn)算符其它運(yùn)算符列表:運(yùn)l其它運(yùn)算符“? :”,是唯一的一個(gè)三元運(yùn)算符,形式為:op1 ? op2 : op3首先判斷op1,如果op1為真,則返回op2的值;如果op1為假,則返回op3的值“(變量類型)”,將變量轉(zhuǎn)換成指定類型:float b = 3.6;int
14、 c = (int)b * 2;b被強(qiáng)制轉(zhuǎn)換成整數(shù),拋棄小數(shù)部分以后的值為3,于是c = 6運(yùn)l運(yùn)算符的優(yōu)先級(jí)列表分支與l分支控制語(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ǔ)句分支與l分支控制語(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)的代碼,顯
15、示“變量a是負(fù)數(shù)或零”分支與l分支控制語(yǔ)句組合的if . else 語(yǔ)句:例,要求當(dāng)a是正數(shù)、a是負(fù)數(shù)、a是零時(shí)分別顯示:if (a 0) System.out.println(變量a是正數(shù)。);else if (a 0) System.out.println(變量a是負(fù)數(shù)。);else System.out.println(變量a是零。);分支與l分支控制語(yǔ)句處理多種選擇問題的方法:l利用多個(gè)if . else結(jié)構(gòu)l利用switch語(yǔ)句處理switch語(yǔ)句的語(yǔ)法結(jié)構(gòu):lswitch語(yǔ)句將IntVar的值與每個(gè)case語(yǔ)句的整數(shù)值比較l如果符合,就執(zhí)行這個(gè)case中的語(yǔ)句l如果不與任何一個(gè)ca
16、se符合,就執(zhí)行default中的語(yǔ)句switch (IntVar) case 1: 語(yǔ)句 break; case 2: 語(yǔ)句 break; . case n: 語(yǔ)句 break; default: 語(yǔ)句分支與l分支控制語(yǔ)句switch分支的特點(diǎn):每個(gè)分支均以一個(gè)break語(yǔ)句結(jié)尾作用是跳出switch結(jié)構(gòu)如果沒有break語(yǔ)句,那么程序在執(zhí)行完這個(gè)case的代碼后,會(huì)接著執(zhí)行下面一個(gè)case的代碼分支與l例題:不帶break語(yǔ)句的switch結(jié)構(gòu)switch (n) case 1: System.out.println(n的值是1);case 2: System.out.println(n的
17、值是2);case 3: System.out.println(n的值是3);case 4: System.out.println(n的值是4);case 5: System.out.println(n的值是5);default: System.out.println(n的值不在預(yù)設(shè)范圍內(nèi)。);分支與l循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句的作用是反復(fù)執(zhí)行一段代碼常用的循環(huán)結(jié)構(gòu):lwhile循環(huán)ldo . while循環(huán)lfor循環(huán)循環(huán)結(jié)構(gòu)的組成部分:l循環(huán)頭(控制語(yǔ)句)l循環(huán)體(代碼)分支與l循環(huán)控制語(yǔ)句while循環(huán)while (條件表達(dá)式) 語(yǔ)句當(dāng)條件表達(dá)式為真時(shí),反復(fù)執(zhí)行花括號(hào)中的語(yǔ)句,直到條件為假
18、,則退出循環(huán)例:計(jì)算1+2+3+.,一直到結(jié)果大于100,求此時(shí)加到的最大的數(shù)是多少分支與l循環(huán)控制語(yǔ)句例題程序如下:int sumx = 0;int x = 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í)行累加程序分支與l循環(huán)控制語(yǔ)句do.while結(jié)構(gòu),形式如下:do 語(yǔ)句 while (條件表達(dá)式)while結(jié)構(gòu)和do.while結(jié)構(gòu)的差異:lwhile循環(huán):先判斷,再執(zhí)行。如果一開始循環(huán)條件就不滿足,則循環(huán)內(nèi)的語(yǔ)句根本不會(huì)執(zhí)行l(wèi)do.while循環(huán):先執(zhí)行,后判斷。不管循環(huán)條件滿不滿足,循環(huán)內(nèi)的語(yǔ)句至少會(huì)執(zhí)行一遍分支與l循環(huán)控制語(yǔ)句whi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)短信應(yīng)用服務(wù)協(xié)議書模板
- 公寓開發(fā)商租賃合同
- 店面租賃合同協(xié)議書范例
- 醫(yī)療技術(shù)合作合同范例
- 勞動(dòng)續(xù)簽合同的注意事項(xiàng)
- 域名及主機(jī)協(xié)議書范本
- 房屋買賣委托代理合同
- 企業(yè)間還款協(xié)議書樣本
- 協(xié)議供貨招標(biāo)文件2024年
- 用人單位設(shè)置霸王條款的法律風(fēng)險(xiǎn)
- 消防設(shè)施設(shè)備及器材
- 二年級(jí)上冊(cè)數(shù)學(xué)試題判斷題專項(xiàng)訓(xùn)練蘇教版
- 《月歷中的數(shù)學(xué)問題》教學(xué)設(shè)計(jì)
- 小學(xué)語(yǔ)文語(yǔ)段修改專項(xiàng)訓(xùn)練(含答案)
- 滬教版七年級(jí)上英語(yǔ)練習(xí)題
- 騰訊公司績(jī)效管理制度-騰訊公司績(jī)效管理制度
- 課堂紀(jì)律不好的原因
- 課題初中數(shù)學(xué)作業(yè)優(yōu)化設(shè)計(jì)的研究研究報(bào)告
- 5s推進(jìn)計(jì)劃(絕對(duì)經(jīng)典)
- 小學(xué)數(shù)學(xué)答題卡模板(共3頁(yè))
- 簡(jiǎn)易呼吸氣囊操作評(píng)分標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論