Java程序設計-第02章 Java基礎語法_第1頁
Java程序設計-第02章 Java基礎語法_第2頁
Java程序設計-第02章 Java基礎語法_第3頁
Java程序設計-第02章 Java基礎語法_第4頁
Java程序設計-第02章 Java基礎語法_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第二章Java基礎語法 圖形圖像研究所計算機科學與技術 軟件學院浙江工業(yè)大學 高飛 陸佳煒等 Java程序設計實用教程 北京 清華大學出版社 2013 ISBN 978 7 302 31695 4 高飛 趙小敏等 Java程序設計實用教程習題集 北京 清華大學出版社 2013 ISBN 978 7 302 32051 7 高飛教授 博士生導師Tel 0571 85290535URL 前言 本章的目的 標識符 4種字符 字母 數(shù)字 首字符 字母 關鍵字 8種基本數(shù)據(jù)類型 boolean char byte short int long float double 運算符 流程控制 結(jié)構化程序設計 5種參數(shù)輸入方式 回顧關鍵詞 程序設計語言的發(fā)展 Java語言的發(fā)展史 Java開發(fā)環(huán)境的配置 常用開發(fā)工具 記事本 JCreator Eclipse 小節(jié)安排 JAVA基礎語法 2 1 標識符和關鍵字 2 2 基本數(shù)據(jù)類型 2 3 變量和常量 2 4 運算符 2 5 語句 2 6 輸入?yún)?shù)方式 2 1標識符和關鍵字 Java中的標識符 可以用來標識變量名 類名 類中的方法名和文件名等 標識符組成 1 字母 2 數(shù)字 3 下劃線 和 4 美元符號 首字符必須是 1 字母 2 下劃線 和 3 美元符號 所有標識符是區(qū)分大小寫的 除去關鍵字 false true和null 問題 是 不是標識符 myVariable9pinsMYVARIABLEia ctesting1 2 3 myvariablejava umlMyVariable myvariable 9pinsIt s貓 標識符的習慣命名 能表達明確意義的英文單詞命名 并采用規(guī)范的單詞縮寫形式與單詞分隔形式 表示常量時標識符全部用大寫字母和下劃線表示 如PI SALES TAX 表示類名或接口名時 標識符用大寫字母開頭 如CreditCard 表示變量名和方法名 以小寫字母開頭 單詞之間不要有分隔符 第二及后面單詞第一個字符用大寫字母 如authorName Java關鍵字 具有特殊含義的字符序列例如 public static和class具有特殊用途 不能作為變量名 方法名和類名 小節(jié)安排 JAVA基礎語法 2 1 標識符和關鍵字 2 2 基本數(shù)據(jù)類型 2 3 變量和常量 2 4 運算符 2 5 語句 2 6 輸入?yún)?shù)方式 2 2數(shù)據(jù)類型 基本數(shù)據(jù)類型 數(shù)據(jù)類型轉(zhuǎn)換 用變量 常量賦值給另一個變量時 兩者的數(shù)據(jù)類型必須一致 如不一致 則要進行數(shù)據(jù)的類型轉(zhuǎn)換類型轉(zhuǎn)換有隱式轉(zhuǎn)換 自動類型轉(zhuǎn)換 和顯式轉(zhuǎn)換 強制類型轉(zhuǎn)換 兩種 數(shù)據(jù)類型轉(zhuǎn)換 基本數(shù)據(jù)類型強弱關系圖 隱式類型轉(zhuǎn)換 當占用比特位較少的類型轉(zhuǎn)換為占有比特位數(shù)較多的數(shù)據(jù)時 使用隱式類型轉(zhuǎn)換轉(zhuǎn)換過程由Java編譯器自動進行例 將短格式整型數(shù)據(jù)賦值為長格式整型數(shù)據(jù) 不會出現(xiàn)錯誤 如 inti 123 longj i 若反過來 將長格式賦值給短格式整數(shù) 如 longj 25L inti j 將出現(xiàn)編譯錯誤 顯示類型轉(zhuǎn)換 當長格式數(shù)據(jù)賦值給短格式整型變量 雙精度數(shù)據(jù)給單精度類型賦值 浮點型數(shù)據(jù)給整型變量賦值時 均要進行顯示類型轉(zhuǎn)換 即強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換用圓括號進行轉(zhuǎn)換 目標數(shù)據(jù)類型 變量名例如 inta 260 byteb b byte a 小節(jié)安排 JAVA基礎語法 2 1 標識符和關鍵字 2 2 基本數(shù)據(jù)類型 2 3 變量和常量 2 4 運算符 2 5 語句 2 6 輸入?yún)?shù)方式 2 3變量和常量 變量在計算機內(nèi)部對應著一個存儲單元 而且總是具有某種數(shù)據(jù)類型 基本數(shù)據(jù)類型或引用數(shù)據(jù)類型變量總是具有與其數(shù)據(jù)類型相對應的值每個變量均具有 名字 類型 一定大小的存儲單元以及值 變量的四個要素 變量名 程序通過變量名訪問變量的值 對應變量在內(nèi)存的位置 變量類型 變量類型由程序員顯式地聲明 類型決定了變量對應存儲區(qū)域的大小以及如何解釋存儲在其中的二進制串 存儲單元 一個變量與內(nèi)存中某一區(qū)域相關聯(lián) 存儲單元即指該區(qū)域的起始地址 值 變量對應的內(nèi)存區(qū)域中存放的數(shù)據(jù)即為變量的值 在程序運行的不同時刻 變量的值可能不同 名字 類型 值 存儲單元 變量在內(nèi)存中的存儲方式 intID 42889 Strings newString HelloWorld Java變量必須屬于某種類型 變量值也必須與變量類型相匹配例如 intstudentNumber 聲明單個變量doublevelocity distance 聲明多個變量studentNumber 30 給變量賦以整數(shù)30intstudentNumber 30 聲明變量 并賦初值 Java常量 Java常量包括基本數(shù)據(jù)類型常量 字符串 String 常量和null布爾 boolean 常量只有兩個 true和false c u0061 u0051 和 u005a 是char常量 34是int常量1 5 45 6 76 4E8和 32 0是double常量34L是long常量 1 5F 45 6f 76 4E8F和 32 0F是float常量 HelloWorld 是String常量null是引用數(shù)據(jù)類型的常量任意引用數(shù)據(jù)類型的常量 null 小節(jié)安排 JAVA基礎語法 2 1 標識符和關鍵字 2 2 基本數(shù)據(jù)類型 2 3 變量和常量 2 4 運算符 2 5 語句 2 6 輸入?yún)?shù)方式 2 4運算符 對基本數(shù)據(jù)類型的常量與變量進行加工的過程稱為運算 表示各種不同運算的符號稱為運算符 參與運算的數(shù)據(jù)稱為操作數(shù) Java語言的運算符分成以下幾類 一元 二元或三元運算符 按操作數(shù)的個數(shù) 前綴或中綴或后綴運算符 按運算符與操作數(shù)的位置關系 Java運算符 算術運算符關系運算符布爾邏輯運算符位運算符賦值類運算符條件運算符其他運算符 1 算術運算符 算術運算符包括 沒有指數(shù)運算Math pow 2 0 3 0 2 03 0整數(shù)除法 截去余數(shù)7 5結(jié)果為1取模 返回余數(shù)7 5結(jié)果為2 1 算術運算符 publicclassIncrementDecrement publicstaticvoidmain String args inti 0 System out println i System out println i System out println i System out println i 1 算術運算符 publicclassIncrementDecrement2 publicstaticvoidmain String args inti 0 i System out println i i System out println i i System out println i i System out println i 問題 7 5 7 5 7 5 7 0 5 7 5 0 7 5 0 7 5 0 1 22 1 4 1 42 0 2 0 2 關系運算符 六個關系運算符 和 例如 1 2 false3 5 1 true51 5 23 0 true540 654 true24 3 8 truebooleanisEqual 10 10 isEqual false 關系運算符的注意事項 只能用來比較兩個數(shù)值類型數(shù)據(jù)的大小不能用于String boolean array或其他類型 若有兩個變量x與y要比較是否相等 應該是寫成x y 而不是寫成x y 后者的作用是將y的值指定給x 而不是比較x與y是否相等 對于對象來說 兩個對象參考之間使用 作比較時 是比較其名稱是否參考至同一對象 而不是比較其內(nèi)容 關系運算符的注意事項 Stringstr1 newString welcome 創(chuàng)建一個對象 初始化Stringstr2 newString welcome 創(chuàng)建一個對象 初始化Stringstr3 str1 創(chuàng)建一個對象 并利用對象str1的地址賦值 str1 str2 falsestr1 str3 true 3 布爾邏輯運算符 六個布爾邏輯運算符 邏輯與 AND 邏輯或 OR 邏輯異或 XOR 邏輯非 NOT 短路與 AND 短路或 OR 3 布爾邏輯運算符 短路示例 例如 下面的程序語句說明了短路邏輯運算符的優(yōu)點 用它來防止被0除的錯誤 if denom 0這里 使用標準AND運算符 單個的 來保證不論c是否等于1 e都被自增量 4 位運算符 位運算符包括 和 帶符號右移 不帶符號右移移位操作是 先將整數(shù)寫成二進制形式 然后按位操作 最后產(chǎn)生一個新的數(shù)注意 只用于整數(shù) 5 賦值類運算符 賦值類運算符包括 5 賦值類運算符 6 條件運算符 條件運算符 的表達式形式為 op1 op2 op3 op1 布爾表達式 op1值為true 條件運算結(jié)果取op2的值 op1值為false 條件運算結(jié)果取op3的值 例如 inti 5 intk i 0 1 1 得出k值為1 7 其他運算符 其他運算符包括 類型 instanceof和new例如 Stringstr1 newString welcome charc char a 運算符優(yōu)先級 一元后綴 一元前綴 創(chuàng)建和強制類型轉(zhuǎn)換new type 倍數(shù) 增量 移位 關系 小節(jié)安排 JAVA基礎語法 2 1 標識符和關鍵字 2 2 基本數(shù)據(jù)類型 2 3 變量和常量 2 4 運算符 2 5 語句 2 6 輸入?yún)?shù)方式 2 5語句 if elseif elsewhiledo whileforswitchcasebreakcontinue if else語句 if else語句根據(jù)判定條件的真假來執(zhí)行兩種操作中的一種 它的形式如下 if 布爾表達式 語句1 else 語句2 其中 用 括起的else部分是可選的 即可有可無的 若無else部分 if語句的流程如下圖 無else部分的if語句的流程圖 true false 語句1 布爾表達式 后續(xù)語句 若有else部分 if語句的流程如圖 true false 語句1 布爾表達式 后續(xù)語句 語句2 注意 else子句不能作為語句單獨使用 它必須是if語句的一部分 與if配對使用 例 判斷成績是否優(yōu)秀 classIf Else publicstaticvoidmain String args intscoreOfMark 89 if scoreOfMark 90 System out println 祝賀你 你的成績優(yōu)秀 else System out println 你的成績未達到優(yōu)秀 請努力 while語句 while語句的語法形式為 while 布爾表達式 語句 while語句用于在布爾表達式 即測試條件 的值保持為真 true 時反復地執(zhí)行其中的內(nèi)嵌語句 一般叫做循環(huán)體 while語句的流程圖 True false 例 用while語句求1 2 10的和 publicclassWhileOfSum publicstaticvoidmain String args inti sum sum 0 累加器清0i 1 i的初始值為1while i 10 sum i i System out println sum sum do while語句 Java還提供了另一個與while語句類似的語句 do while語句 do while語句的語法形式如下 do 語句 while 布爾表達式 do while語句的流程圖 true false for語句 for語句是循環(huán)的另一種表示形式 for語句的語法形式為 for 表達式1 表達式2 表達式3 語句 例如 循環(huán)執(zhí)行某一段代碼1000次 可表達為 for intnum 0 num 1000 num 一段代碼 for語句的流程圖 例 用for語句求1 2 10的和 publicclassForOfSum publicstaticvoidmain String args inti sum sum 0 累加器清0for i 1 i 10 i sum i System out println sum sum for語句常見的錯誤 for inti 1 sum 0 i 100 i sum i System out println i i sum sum 錯誤 for語句不寫大括號 System out println中的i會出現(xiàn)編譯錯誤修改后 for inti 1 sum 0 i 100 i sum i System out println i i sum sum 或者在for外部定義變量 inti for語句常見的錯誤 錯誤二 利用浮點類型的 或 運算作為條件表達式for doublex 0 1 x 1 0 x 0 1 System out println x switch語句 switch語句根據(jù)表達式的結(jié)果來執(zhí)行多個操作中的一個 它的語法形式如下 switch 表達式 case常量1 語句1 break case常量2 語句2 break case常量n 語句n break default 缺省處理語句break switch語句的流程圖 表達式 break 語句1 break 語句2 break 語句n break 缺省處理語句 后續(xù)語句 常量1 常量2 常量n default switch語句的注意點 1 1 使用switch語句時 要注意表達式必須是符合byte char short int類型的表達式 而不能使用浮點類型或long類型 也不能為一個字符串 2 switch語句將表達式的值依次與每個case子句中的常量值相比較 如果匹配成功 則執(zhí)行該case子句中常量值后的語句 直到遇到break語句為止 3 case子句中常量的類型必須與表達式的類型相容 而且每個case子句中常量的值必須是不同的 4 default子句是可選的 當表達式的值與任一case子句中的值都不匹配時 就執(zhí)行default后的語句 switch語句的注意點 2 5 break語句在執(zhí)行完一個case分支后 使程序跳出switch語句 執(zhí)行switch語句的后續(xù)語句 6 在一些特殊的情況下 例如多個不同的case值要執(zhí)行一組相同的操作 可以寫成如下形式 case常量n case常量n 1 語句 break switch語句的注意點 3 7 case分支中包括多個執(zhí)行語句時 可以不用花括號 括起 8 通過if else語句可以實現(xiàn)switch語句所有的功能 但通常使用switch語句更簡練 且可讀性強 程序的執(zhí)行效率也高 9 if else語句可以基于一個范圍內(nèi)的值或一個條件來進行不同的操作 但switch語句中的每個case子句都必須對應一個單值 例 用switch語句實現(xiàn)學生成績的百分制到等級制的轉(zhuǎn)換 classSwitchDemo publicstaticvoidmain String args inttestScore 88 chargrade switch testScore 10 兩個整型數(shù)相除的結(jié)果還是整型case10 此處沒有使用breakcase9 grade A break 值為10和9時的操作是相同的case8 grade B break case7 grade C break case6 grade D break default grade E break System out println gradeis grade break語句 對于Java中的三種類型的循環(huán) while do while for來說 正常的退出循環(huán)的方法是當測試條件變?yōu)閒alse時 但有時即使測試的條件為true 也希望循環(huán)立即終止 這時可以用break語句實現(xiàn)此功能 break語句的一般語法格式為 break 標號 break語句不能用于循環(huán)語句和switch語句之外的任何其它語句中 例 break語句的例子 publicclassBreakDemo publicstaticvoidmain String args intindex 0 while index 100 index 10 if index 40 break 當index的值大于100時 循環(huán)將終止 但有一種特殊的情況 如果index的值等于40 循環(huán)也將立即終止 System out println Theindexis index 輸出結(jié)果 Theindexis10Theindexis20Theindexis30 true false continue語句 Continue語句只能在循環(huán)中使用 它和break語句的區(qū)別是continue語句只結(jié)束本次循環(huán) 而不是終止整個循環(huán)的執(zhí)行 而break語句則是結(jié)束整個循環(huán)語句的執(zhí)行 continue語句的一般格式為 continue 標號 例 continue語句的例子 publicclassContinueDemo publicstaticvoidmain String args intindex 0 while index 99 index 10 當index的值等于40時 使循環(huán)回到while語句處 而不像正常處理那樣去執(zhí)行后面的輸出語句 if index 40 continue System out println Theindexis index true false return語句 return語句的作用是終止當前方法的執(zhí)行 返回到這個方法的調(diào)用者 所有非void方法必須包含一個return語句作為方法最后執(zhí)行的語句 該語句停止方法的執(zhí)行 并返回指定類型的值 語法如下 return expression expression的類型應與方法的返回類型一致 小節(jié)安排 JAVA基礎語法 2 1 標識符和關鍵字 2 2 基本數(shù)據(jù)類型 2 3 變量和常量 2 4 運算符 2 5 語句 2 6 輸入?yún)?shù)方式 2 6輸入?yún)?shù)方式 通過main方法來輸入?yún)?shù)在main方法內(nèi)直接設置參數(shù)使用JOptionPane類進行輸入使用輸入流進行輸入使用Scanner類來輸入 2 6輸入?yún)?shù)方式 通過main方法來輸入?yún)?shù) 程序2 21 JHelloWorld2 javapublicclassJHelloWorld2 publicstaticvoidmain String args System out println 第一個參數(shù) args 0 第二個參數(shù) args 1 第三個參數(shù) args 2 2 6輸入?yún)?shù)方式 在main方法內(nèi)直接設置參數(shù) 程序2 22 JHelloWorld3 javapublicclassJHelloWorld3 publicstaticvoidmain String args String array abc d ef System out println 第一個參數(shù) array 0 第二個參數(shù) array 1 第三個參數(shù) array 2 2 6輸入?yún)?shù)方式 使用JOptionPane類進行輸入 程序2 23 JHelloWorld4 javaimportjavax swing JOptionPane 導入JOptionPane類publicclassJHelloWorld4 publicstaticvoidmain String args Stringss JOptionPane showInputDialog 請輸入一個數(shù) System out println 輸入?yún)?shù)為 ss 2 6輸入?yún)?shù)方式 使用輸入流進行輸入 程序2 24 JSysteminReadTest javaimportjava

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論