java2(Java語言基礎(chǔ)).ppt
《java2(Java語言基礎(chǔ)).ppt》由會員分享,可在線閱讀,更多相關(guān)《java2(Java語言基礎(chǔ)).ppt(69頁珍藏版)》請在裝配圖網(wǎng)上搜索。
Java語言基礎(chǔ) Lecture2 提綱 Java語言的詞法變量和常量簡單數(shù)據(jù)類型操作符和表達(dá)式流程控制 Java語言的詞法 分號塊空白注釋標(biāo)識符關(guān)鍵字 分號 在Java編程語言中 語句是一行由分號 終止的代碼 例如totals a b c d e f 與下式相同total a b c d e f 塊 一個塊 block 或一個復(fù)合語句是以上括號和下括號 為邊界的語句集合 塊語句也被用來組合屬于某個類的語句 一個塊可被用在一個類的定義中publicclassDate intday intmonth intyear 塊 塊語句可以被嵌套語句塊可被嵌套 HelloWorldApp類由main方法構(gòu)成 這個方法就是一個語句塊 它是一個獨立單元 單元本身可作為在類HelloWorldApp塊中的一組事務(wù)之一 publicclassHelloWorldApp publicstaticvoidmain Stringargs System out println HelloWorld 塊 其它一些塊語句或組的例子如下 一個語句塊 x y 1 y x 1 一個語句嵌套再另一個語句中while i large a a i if a max b b a nestedblockisherea 0 空白 Java程序中允許任意多的空白 在源代碼元素之間允許空白 空白的數(shù)量不限 空白 包括空格 tabs和新行 可以改善你對源代碼的視覺感受 intx x 23 54 intx x 23 54 注釋 Java語言提供三種注釋方法單行注釋 多行注釋 文檔注釋方法 注釋的原則注釋時以增加代碼的清晰度為目的保存注釋的簡潔在寫代碼之前先寫注釋在寫注釋時不但要寫出做什么 還要寫出為什么這么做 標(biāo)識符 在Java編程語言中 標(biāo)識符是賦予變量 類或方法的名稱 變量名的開頭可以是任何字母 下劃線 或者是貨幣符號 標(biāo)識符開始不能是數(shù)字不能以關(guān)鍵字作為標(biāo)識符Java標(biāo)識符是區(qū)分大小寫的標(biāo)識符的長度不受限制 例子 有效標(biāo)識符如下 identifieruserNameUser name sys varl changeString和string是不同的 abstractdoubleintsuperbooleanelseinterfaceswitchbreakextendslongsynchronizedbytefinalnativethiscasefinallynewthrowcatchfloatpackagethrowscharforprivatetransientclassgoto protectedtryconst ifpublicvoidcontinueimplementsreturnvolatiledefaultimportshortwhiledoinstanceofstatic 關(guān)鍵字 目前Java語言一共定義了48個保留關(guān)鍵字 這些關(guān)鍵字與運算符和分隔符的語法一起構(gòu)成Java語言的定義 關(guān)鍵字 關(guān)鍵字對Java技術(shù)編譯器有特殊的含義 它們可標(biāo)識數(shù)據(jù)類型名或程序構(gòu)造 construct 名 以下是有關(guān)關(guān)鍵字的重要注意事項 true false和null為小寫 而不是象在C 語言中那樣為大寫 嚴(yán)格地講 它們不是關(guān)鍵字 而是文字 然而 這種區(qū)別是理論上的 無sizeof運算符 所有類型的長度和表示是固定的 不依賴執(zhí)行 goto和const不是Java編程語言中使用的關(guān)鍵字 常量和變量 常量定義在程序運行過程中 不再發(fā)生改變的量稱為常量 用保留字final來實現(xiàn)finaltypeSpecifiervarName value varName value 如 finalintNUM 100 常量分類整數(shù)常量浮點數(shù)常量字符常量布爾常量 十進(jìn)制常量如100 200注意第一位不能為0八進(jìn)制常量以0開頭如072 065十六進(jìn)制常量以0 x或0X開頭如0XFF長整形常量以L或l結(jié)尾缺省情況下為int整形 32位 長整形常量為64位 整數(shù)常量 浮點常量 默認(rèn)情況下浮點型常量是double型的后面帶f的為float類型如2e3f3 f4f5 027763e 343 6 字符常量 用單引號包起來英文字母 a A 數(shù)字 1 2 轉(zhuǎn)義序列 布爾常量true falsetrue 1 false 0 布爾常量 語法modifier typeid value id value type byte short int long char float double boolean classID interfaceIDvalue constantsorexpressionsofthetypeinitialization Assignment id value Default 0 null modifier static final public protected private abstract native synchronized 變量 作用域 有效范圍在一個作用域中聲明的變量對于該作用域外定義的代碼是不可見的外部作用域中聲明的對象在內(nèi)部作用域是可見的變量進(jìn)入其作用域時被創(chuàng)建 離開其作用域時被清除 只有離開作用域它就不再保存它們的值了不能重復(fù)聲明變量 變量作用域例子 DemonstrateblockscopeclassScope publicstaticvoidmain Stringargs intx x 10 if x 10 inty 20 System out println xandy x y x y 2 y 100 System out println xis x 變量作用域例子 ThisisprogramwillnotcompileclassScopeerr publicstaticvoidmain Stringargs intbar 1 intbar 2 Java數(shù)據(jù)類型 強(qiáng)類型 安全性和魯棒性 類型分類簡單 基本 數(shù)據(jù)類型 byte short int long char float double boolean復(fù)合 引用 數(shù)據(jù)類型 Array Class Interface 簡單數(shù)據(jù)類型 Type Size Range Default 注意 1 符號 所有的整數(shù)都是有符號的 2 C中的整數(shù)有符號或無符號intj 定義一個整數(shù) 大小由CPU決定 Unicode定義的國際化的字符集能表示迄今為止人類語言的所有字符集 它是幾十個字符集的統(tǒng)一 例如拉丁文 希臘語 阿拉伯語 古代斯拉夫語 希伯來語 日文片假名 匈牙利語等等 這也是為了可移植性特點設(shè)置的 Unicode 編碼 國際化 Unicode 16 ISO Latin 1 8 ASCII 7 表示 沒有Unicode字符編輯器ASCII 7 ISO Latin 1 8 Unicode 16 自動轉(zhuǎn)換 1 這2種類型是兼容的 2 目的類型的范圍要比來源類型的大 3 基本規(guī)律 表示的范圍byte int char int char int long float float double 類型轉(zhuǎn)換 強(qiáng)制轉(zhuǎn)換 縮小 1 由大縮小 2 語法 type value 3 例如 double long float int double float 4 instanceof 類型轉(zhuǎn)換 整型 實型 字符型數(shù)據(jù)可以混合運算 運算中 不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型 然后進(jìn)行運算 轉(zhuǎn)換從低級到高級 1 bytea 40 b 50 c 100 intd a b c a bisliftedasintbeforedividedbyc 類型轉(zhuǎn)換示例 2 byteb 50 b b 2 3 byteb 42 charc a shorts 1024 inti 50000 floatf 5 67f doubled 1234 f b i c d s float int double double 4 shorts 134 byteb byte s b 122 類型轉(zhuǎn)換示例 classLecture02 publicstaticvoidmain String args doublefv1 fv2 intiv1 123 fv1 iv1 50 fv2 iv1 50 0 System out println fv1 fv1 System out println fv2 fv2 Java操作符 instanceof op Java操作符 操作數(shù)的數(shù)目劃分一元操作符二元操作符三元操作符按照功能劃分賦值運算算術(shù)運算位運算關(guān)系運算條件運算其他 按操作數(shù)劃分 一元操作符 二元操作符 Op 三元操作符 賦值運算 賦值運算符 及其擴(kuò)展賦值運算符如 等 例如 i 3 i 3 等效于i i 3 算術(shù)運算 算術(shù)運算符為如下幾種 算術(shù)運算 對整數(shù)進(jìn)行 除法運算時 所有的余數(shù)要被舍去inti 9 intj 4 求i j的值 a a表示先對a加一 然后對a進(jìn)行其他的操作 而a a 是先對a進(jìn)行操作 然后對a進(jìn)行加一操作 inti 0count 2 i 求i和count的值inti 0count 2 i求i和count的值 位運算 運算符有如下幾種 位運算 例如 a 10011101 b 00111001 則有如下結(jié)果 a 3 11110011a 3 00010011 a 關(guān)系運算 關(guān)系運算符為如下幾種 關(guān)系運算 例如 count 3 i 0 n 1 注意 比較運算符的表達(dá)式的值為布爾型 邏輯運算 邏輯運算符的類型有如下幾種 邏輯運算 邏輯與或者邏輯或的運算是按照從左向右檢測 對于邏輯或 如果第一個表達(dá)式為真 那么后面的表達(dá)式將不再計算 對于邏輯與 如果第一個表達(dá)式為假 那么其后面的表達(dá)式將不再計算 例如 classtest publicstaticvoidmain String args inti 0 System out println Test 2 3 0 i System out println i i 條件運算 表示if then else a x y如果a為真 則運行x 否則運行y例如 result sum 0 1 num sum 優(yōu)先級 優(yōu)先級是指同一個式子中多個運算符被執(zhí)行的次序 同一級里的操作符具有相同的優(yōu)先級 相同優(yōu)先級的操作符號相遇時 根據(jù)結(jié)合性決定運算次序由于優(yōu)先級和結(jié)合性都比較難記憶 所以最好用括號括起來指定其優(yōu)先級 其它 包括分量運算符 下標(biāo)運算符 實例運算符instanceof內(nèi)存分配運算符new強(qiáng)制類型轉(zhuǎn)換運算符 類型 方法調(diào)用運算符 等例如 System out println helloworld intarray1 newint 4 優(yōu)先級 1 2 instanceof3 new type 4 5 6 8 9 10 11 12 13 14 15 16 運算符連接變量 常量等構(gòu)成的一個序列表達(dá)式的值由各構(gòu)成元素共同確定單獨的變量和常量也稱為表達(dá)式例如 a b a a a a方法調(diào)用 a b 表達(dá)式語句 分支語句 分支語句提供了一種控制機(jī)制 使得程序的執(zhí)行可以跳過某些語句不執(zhí)行 而轉(zhuǎn)去執(zhí)行特定的語句 條件語句if elseif 布爾表達(dá)式 語句或塊 或if 條件為真 語句或塊 else 語句或塊 例子 intcount count getCount if count 0 System out println Error countvalueisnegative else System out println Therewillbe count peopleforlunchtoday 分支語句 注意在Java編程語言中 if 用的是一個布爾表達(dá)式 而不是數(shù)字值 這一點與C C 不同 前面已經(jīng)講過 布爾類型和數(shù)字類型不能相互轉(zhuǎn)換 因而 如果出現(xiàn)下列情況 if x xisint你應(yīng)該使用下列語句替代 if x 0 全部else部分是選擇性的 并且當(dāng)測試條件為假時如不需做任何事 else部分可被省略 分支語句 switch expression casevalue1 statement1 break casevalue2 statement2 break casevalueN statemendN break default defaultStatement 多分支語句 多分支語句 表達(dá)式expression的返回值類型必須是這幾種類型之一 int byte char short case子句中的值valueN必須是常量 而且所有case子句中的值應(yīng)是不同的 default子句是可選的 break語句用來在執(zhí)行完一個case分支后 使程序跳出switch語句 即終止switch語句的執(zhí)行 在一些特殊情況下 多個不同的case值要執(zhí)行一組相同的操作 這時可以不用break 當(dāng)變量或表達(dá)式的值不能與任何case值相匹配時 可選缺省符 default 指出了應(yīng)該執(zhí)行的程序代碼 如果任一個表達(dá)式不能與case值相匹配且沒有default子句時 則程序不作任何操作 而是直接跳出switch語句 如果沒有break語句作為某一個case代碼段的結(jié)束句 則程序的執(zhí)行將繼續(xù)到下一個case 而不檢查case表達(dá)式的值 多分支語句 例1switch colorNum case0 setBackground Color red break case1 setBackground Color green break default setBackground Color black break 多分支語句 例2 switch colorNum case0 setBackground Color red case1 setBackground Color green default setBackground Color black break 循環(huán)語句 循環(huán)語句使語句或塊的執(zhí)行得以重復(fù)進(jìn)行 直到滿足終止循環(huán)的條件為止 Java編程語言支持三種循環(huán)構(gòu)造類型 while語句do while語句for語句for和while循環(huán)可能連一次循環(huán)體都未執(zhí)行 而dowhile將至少執(zhí)行一次循環(huán)體 while語句 while語句while 布爾表達(dá)式 語句或塊 例如 inti 0 while i 10 System out println Areyoufinishedyet i System out println Finally do while語句 do while語句do 語句或塊 while 布爾測試 例如 inti 0 do System out println Areyoufinishedyet i while i 10 System out println Finally for語句 for語句for循環(huán)的句法是 for init expr booleantestexpr alter expr statementorblock for語句執(zhí)行時 首先執(zhí)行初始化操作 然后判斷終止條件是否滿足 如果滿足 則執(zhí)行循環(huán)體中的語句 最后執(zhí)行迭代部分 完成一次循環(huán)后 重新判斷終止條件 初始化 終止以及迭代部分都可以為空語句 但分號不能省 三者均為空的時候 相當(dāng)于一個無限循環(huán) 在初始化部分和迭代部分可以使用逗號語句 來進(jìn)行多個操作 逗號語句是用逗號分隔的語句序列 for語句 例如 for inti 0 i 10 i System out println Areyoufinishedyet System out println Finally 注意 Java編程語言允許在for 循環(huán)結(jié)構(gòu)中使用逗號作為分隔符 例如 for i 0 j 0 j 10 i j 是合法的 它將i值初始化為零 并在每執(zhí)行完一次循環(huán)體后 增加一次它們的值 for i 0 j 10 i j i j 跳轉(zhuǎn)語句 break語句continue語句返回語句return break語句 在switch語中 break語句用來終止switch語句的執(zhí)行 使程序從switch語句后的第一個語句開始執(zhí)行 在Java中 可以為每個代碼塊加一個括號 一個代碼塊通常是用大括號 括起來的一段代碼 加標(biāo)號的格式如下 BlockLabel codeBlock break語句的第二種使用情況就是跳出它所指定的塊 如果沒有指定就是跳出當(dāng)前塊 并從緊跟該塊的第一條語句處執(zhí)行 例如 breakBlockLabel break語句 break語句a 標(biāo)記代碼塊ab 標(biāo)記代碼塊bc 標(biāo)記代碼塊cbreakb 此處的語句塊不被執(zhí)行 此處的語句塊不被執(zhí)行 從此處開始執(zhí)行 例子 Example1 Exitcurrentloop while do while for orswitchinti for i 0 i Objs length i if Objs i null break Example2 Exitouterloop blocksearch for y 0 y Matrix length y for x 0 x Matrix y length x if Matrix y x flag found true breaksearch 例子 booleant true a b c System out println BeforetheBreak if t breakb System out println Thiswon texecute System out println Thiswon texecute System out println Thisisafterb continue continue語句用來結(jié)束本次循環(huán) 跳過循環(huán)體中下面尚未執(zhí)行的語句 接著進(jìn)行終止條件的判斷 以決定是否繼續(xù)循環(huán) 對于for語句 在進(jìn)行終止條件的判斷前 還要先執(zhí)行迭代語句 它的格式為 continue 也可以用continue跳轉(zhuǎn)到括號指明的外層循環(huán)中 這時的格式為continueouterLable 例子 例如 outer for inti 0 i 10 i 外層循環(huán)inner for intj 0 j 10 j 內(nèi)層循環(huán)if i j continueouter 例子 繼續(xù)當(dāng)前循環(huán)for inti 0 ii System out println i i continueouter System out print i j return 返回語句returnreturn語句從當(dāng)前方法中退出 返回到調(diào)用該方法的語句處 并從緊跟該語句的下一條語句繼續(xù)程序的執(zhí)行 返回語句有兩種格式 returnexpression return return語句通常用在一個方法體的最后 否則會產(chǎn)生編譯錯誤 除非用在if else語句中 例子 booleant true System out println Beforethereturn return errorshouldbeif t return System out println Thiswon texecute 小節(jié) Java語言的詞法注釋 關(guān)鍵字和標(biāo)識符變量和常量變量的作用域簡單數(shù)據(jù)類型類型的轉(zhuǎn)換操作符和表達(dá)式操作符的優(yōu)先級流程控制break和continue的用法- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java2 Java 語言 基礎(chǔ)
鏈接地址:http://m.appdesigncorp.com/p-6358025.html