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