已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
主講教師張智計算機(jī)學(xué)院軟件工程系 2Java編程基礎(chǔ) 2 1標(biāo)識符與關(guān)鍵字2 2數(shù)據(jù)類型2 3運算符和表達(dá)式2 4包裝類2 5控制臺輸入2 6控制語句2 7編程練習(xí) 2 1標(biāo)識符與關(guān)鍵字 Java標(biāo)識符是以字母 下劃線 或美元符號 開頭 隨后跟隨字母 下劃線 美元符號 或數(shù)字 標(biāo)識符是大小寫區(qū)別對待的 標(biāo)識符未規(guī)定最大長度 下列標(biāo)識符是有效的 identifier userName User name sys varl change 標(biāo)識符不能是關(guān)鍵字 例如 this是一個關(guān)鍵字不能作為標(biāo)識符 Java關(guān)鍵字 注意 關(guān)鍵字和保留字都是小寫 如true false 所有類型的長度和表示是固定的 不依賴執(zhí)行 無sizeof運算符 保留字2個 goto和const Return 2 2數(shù)據(jù)類型 8個 true false 基本類型用法注意 整數(shù)類型 byte short int和long用法與C C 相同 如 17 十 017 八 0 x17 十六 17L 長整型 浮點數(shù) float和double用法與C C 相同 如 3 14 3 02E23 2 718F 123 4D注意 floata 3 4F F 不能丟 floata 3 4 正確用法 doublea 3 4 數(shù)據(jù)格式的控制 方法1 String format 格式串 數(shù)值數(shù)據(jù) 方法2 System out printf 格式串 數(shù)值數(shù)據(jù) 示例 intn1 100 doubled1 123 456 System out println String format d f n1 d1 System out printf 05d 2f n n1 d1 boolean類型 boolean有兩個文字值 即true和false 小寫 注意 數(shù)字值不能自動轉(zhuǎn)換為boolean 例如 intflag 1 if flag JavaError butC C Correctif flag 0 OK 顯示寫出條件booleanflag true if flag OK 條件使用布爾值 char類型 一個char代表一個16bit無符號的Unicode字符 一般用法 charch1 a ch2 n Unicode寫法 charch u0041 字母 A 4個16進(jìn)制數(shù)字 以 u開頭 Unicode編碼查詢 http www unicode org Unicode 統(tǒng)一碼 是一種在計算機(jī)上使用的字符編碼 它為每種語言中的每個字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼 以滿足跨語言 跨平臺進(jìn)行文本轉(zhuǎn)換 處理的要求 字符檢測的方法 已知charch a Character isLetter ch ch是否是字母Character isDigit ch ch是否是數(shù)字Character isLetterOrDigit ch ch是否是字母或數(shù)字Character isWhitespace ch ch是否是空格Character isLowerCase ch ch是否是小寫字母Character isUpperCase ch ch是否是大寫字母 Character類 符號常量 自定義符號常量 finaldoublePI 3 14159 系統(tǒng)提供的符號常量 如 Integer MIN VALUEInteger MAX VALUE 變量初始化 任何變量都必須經(jīng)初始化后才能被使用 intx int Math random 100 inty z if x 50 y 9 z y x ymaynothavebeeninitializeds 注意 當(dāng)一個對象被創(chuàng)建時 在方法外定義的變量 屬性 將被自動初始化 publicclasstest privateinti 100 j privatebooleanf publicvoiddisplay System out println j j j 1 System out println f f publicstaticvoidmain Stringargs testt newtest t display 輸出結(jié)果 j 1f false 實例變量在分配存儲單元的同時被下列值初始化 byte short int 0long 0Lfloat 0 0fdouble 0 0dchar u0000 即Null boolean false所有引用類型 Null 實例化后會自動初始化 String類型 String不是原始類型 而是一個類 class 它被用來表示字符序列 字符串 字符本身符合Unicode標(biāo)準(zhǔn) 與C和C 不同 String不用 0 作為結(jié)束 基本用法 直接賦值 Strings1 Hello s2 Java 或者new一個String Strings1 newString Hello 字符串連接操作 Strings3 s1 s2 字符串連接s3 HelloJava inti 10 Stringstr i i str的值為 i 10 說明 如果字符串與其他類型變量進(jìn)行 運算 系統(tǒng)將自動將其他類型轉(zhuǎn)換為字符串 示例 inta 1 b 2 Stringstr hello System out println str a b System out println a b str 輸出結(jié)果 hello123hello 字符串?dāng)?shù)值的轉(zhuǎn)換 字符串 數(shù)值方法1 常用inti Integer parseInt 123 doubled Double parseDouble 1 23 parse方法很重要 方法2 inti Integer valueOf 123 intValue 注意 字符串轉(zhuǎn)換成數(shù)值時對數(shù)據(jù)格式要求嚴(yán)格inti Integer parseInt 123 4 intI Integer valueOf 123 4 intValue 字符串?dāng)?shù)值的轉(zhuǎn)換 續(xù) 數(shù)值 字符串方法1 Strings String valueOf value 其中value為任一種數(shù)字類型 方法2 Strings Integer toString 123 方法3 最直接Strings value 其中value為任意一種數(shù)字類型 字符數(shù)組字符串的轉(zhuǎn)換 字符數(shù)組 字符串例如 char c a b c Stringstr newString c 字符串 字符數(shù)組例如 Stringstr abc char c str toCharArray String類常用方法 創(chuàng)建新StringStringconcat Strings 返回一個新串 在原串后附加上s Stringreplace Stringold Stringnew 返回一個新串 將原串中出現(xiàn)的old替換成new Stringsubstring intstart intend 返回一個新串 它是原串中從start到end的一部分 StringtoLowerCase 返回一個新串 它將原串中的大寫字母變成小寫 StringtoUpperCase 返回一個新串 它將原串中的小寫字母變成大寫 理解返回一個新串的含義 Stringstr give str replace i a 則str 查找方法booleanendsWith Strings 如原串以s串為結(jié)尾 則返回true booleanstartsWith Strings 如原串以s串為開始 則返回true intindexOf Strings 返回串中第一次出現(xiàn)s串的序號值 intindexOf Strings intoffset 返回串中從offset開始查找 第一次出現(xiàn)s串的序號值 類似有l(wèi)astIndexOf 從串尾開始查找 比較方法booleanequals Strings 如果原串與s串相等 則返回true booleanequalsIgnoreCase Strings 如果在忽略大小寫的情況下 原串與s串相等 則返回true intcompareTo Strings 進(jìn)行字典序比較 如果原串小于s串則返回負(fù)數(shù) 如果原串大于s串則返回正數(shù) 如果原串等于s串則返回零 其它方法charcharAt intindex 返回index處的字符 intlength 返回串的長度 特別提醒 字符串內(nèi)容的比較不能用 字符串equals和 操作 以下輸出結(jié)果是什么 Strings1 abc Strings2 abc Strings3 newString abc Strings4 newString abc System out println s1 s2 System out println s1 equals s2 System out println s3 s4 System out println s3 equals s4 輸出結(jié)果 truetruefalsetrue 示例 publicclasstest publicstaticvoidmain Stringargs Strings1 newString youareastudent Strings2 newString howareyou if 1 判斷s1與s2是否相同System out println s1與s2相同 else System out println s1與s2不相同 Strings3 newString 22030219851022024 if 2 判斷s3的前綴是否是 220302 System out println 吉林省的身份證 示例 publicclasstest publicstaticvoidmain Stringargs Strings1 newString youareastudent Strings2 newString howareyou if 1 判斷s1與s2是否相同System out println s1與s2相同 else System out println s1與s2不相同 Strings3 newString 22030219851022024 if 2 判斷s3的前綴是否是 220302 System out println 吉林省的身份證 示例 續(xù) Strings4 newString cat Strings5 newString dog if 3 按字典序比較s4 s5System out println 按字典序s4 s5 else System out println 按字典序s4 s5 intposition 0 Stringpath c java jsp A java 獲取path中最后出現(xiàn)目錄分隔符號的位置position 4 System out println c java jsp A java中最后出現(xiàn) 的位置 position 示例 續(xù) StringfileName 5 獲取path中 A java 子字符串System out println c java jsp A java中含有的文件名 fileName Strings6 newString 100 Strings7 newString 123 678 intn1 6 將s6轉(zhuǎn)化成int型數(shù)據(jù)doublen2 7 將s7轉(zhuǎn)化成double型數(shù)據(jù)doublen n1 n2 System out println 8 輸出n 保留2位小數(shù)Strings8 newString ABCDEF System out println 9 將s8轉(zhuǎn)化為小寫輸出System out println 10 輸出s8的最后一個字符 endmain endclass Return 2 3運算符和表達(dá)式 運算符使用注意 算術(shù)運算兩個整數(shù)類型的數(shù)據(jù)做除法時 結(jié)果只保留整數(shù)部分 如 3 2 1 但是3 0 2 1 5自增與自減運算符只適用于變量 如10 運算不僅能用于整型 也能用于浮點類型 如 9 2 19 5 2 1 5 關(guān)系運算關(guān)系表達(dá)式的運算結(jié)果是邏輯值 true false 小寫 例如 inta 1 b 4 booleanc a0 則可以 布爾邏輯運算只能是布爾量 true false 參加運算 結(jié)果也是布爾型布爾量也可以 相當(dāng)于單個的位運算 具有短路效應(yīng) 例如 m a b n c d 如果m false 則n c d不計算 位運算 每右移一位 最高位由原來的最高位補充 正數(shù)補0 負(fù)數(shù)補1 0填充右移 無符號右移 例如 inta 1 a 24 則a 一般情況下 a n移位的結(jié)果是 a 2n 類型轉(zhuǎn)換當(dāng)沒有信息丟失時 變量可被自動升級為一個較長的形式 如 int至long的升級 longbigval 6 6isaninttype OKintsmallval 99L 99Lisalong errordoublez 12 414F 12 414Fisfloat OKfloatz1 12 414 12 414isdouble error 類型轉(zhuǎn)換 續(xù) 對 運算符來說 當(dāng)兩個操作數(shù)是原始數(shù)據(jù)類型時 其結(jié)果至少有一個int 并且有一個通過提升操作數(shù)到結(jié)果類型 或通過提升結(jié)果至一個較寬類型操作數(shù)而計算的值 這可能會導(dǎo)致溢出或精度丟失 例如 shorta b ca 1 b 2 c a b 上述程序會因為在操作short之前提升每個short至int而出錯 然而 如果c被聲明為一個int 或按如下操作進(jìn)行類型轉(zhuǎn)換 c short a b 則上述代碼將會成功通過 設(shè)計變量時要考慮好類型 instanceof作用 測試它左邊的對象是否是它右邊的類的實例 返回boolean類型的數(shù)據(jù) 例如 Integerd 123 booleanisInt dinstanceofInteger truebooleanisObj dinstanceofObject true說明 Object是類層次結(jié)構(gòu)的根類 每個類都使用Object作為超類 Return Java語言不把基本數(shù)據(jù)類型看作對象 8個基本數(shù)據(jù)類型都有相應(yīng)的包裝類 2 4包裝類 包裝類 續(xù) 包裝類都有自己的屬性和方法 例如Integer parseInt 方法 Integer MAX VALUE屬性 可以通過將被包裹的值傳遞到合適的構(gòu)造函數(shù)中來構(gòu)造包裝類對象 例如 inta 100 Integeri newInteger a 構(gòu)造包裝類對象可以通過intValue 方法將包裝類變成基本類型 例如 inttheInt newInteger a intValue Return 裝箱操作 拆箱操作 2 5控制臺輸入 importjava util Scanner 導(dǎo)入java包publicclasstest publicstaticvoidmain String args finaldoublePI 3 14159 符號常量Scannerscanner newScanner System in 創(chuàng)建控制臺輸入對象System out print 請輸入圓的半徑 doubler scanner nextDouble 讀取一個double數(shù)據(jù)System out print 計算圓面積 String format 2f PI r r 相應(yīng)的有 nextInt nextByte nextFloat nextLong nextBoolean 獲取boolean數(shù)據(jù) 如輸入true或falsenextLine 獲取字符串?dāng)?shù)據(jù) Return 格式化數(shù)值數(shù)據(jù)的方法 2 6控制語句 if else intx 2 if x 2 x else x System out println x x intx 2 inty x 2 x x System out println x x switch語句 switch expr1 caseexpr2 statements break caseexpr3 statements break default statements break 如沒break語句 則程序的執(zhí)行將繼續(xù)到下一個case 而不檢查case表達(dá)式的值 expr1可以是int byte short或char類型 不允許使用浮點或long表達(dá)式 不允許有重復(fù)case值 示例 importjava util Scanner publicclasstest publicstaticvoidmain String args System out print 請輸入成績 intscore newScanner System in nextInt 連在一起寫inta score 10 switch a case10 case9 System out println score 優(yōu)秀 break case8 System out println score 良好 break case7 System out println score 中等 break case6 System out println score 及格 break default System out println score 不及格 break while do while for intx 1 while x 10 System out println x x x intx 1 do System out println x x x while x 10 for intx 1 x 10 x System out println x x break continue 用法 break 標(biāo)注 continue 標(biāo)注 注 標(biāo)注可標(biāo)識控制需要轉(zhuǎn)換到的任何有效語句 塊 標(biāo)注用法標(biāo)注 語句 塊 即在有效語句塊前加個標(biāo)識符 break 強(qiáng)行退出一個循環(huán) publicclasstest publicstaticvoidmain String args for inti 1 true i if i 5 break System out println i System out println 退出循環(huán)了 運行結(jié)果 1234退出循環(huán)了 continue 結(jié)束本次循環(huán) 跳至下一次循環(huán) publicclasstest publicstaticvoidmain Stringargs for inti 0 i 10 i System out print i if i 2 0 continue System out println 運行結(jié)果 0123456789 標(biāo)注示例 publicclasstest publicstaticvoidmain Stringargs outer for inti 0 i 3 i System out print Pass i for intj 0 j 10 j if j 5 breakouter System out print j System out println 運行結(jié)果 Pass0 01234 標(biāo)注示例 publicclasstest publicstaticvoidmain Stringargs outer for inti 1 ii System out println continueouter System out print i j System out println 運行結(jié)果 124369481216 Return 編程練習(xí) 判斷輸入的字符串是否為回文 如abcba 輸入一個字符串 統(tǒng)計大寫字母 小寫字母 數(shù)字 空格以及其他字符個數(shù) 遞歸方法求2 4 6 100之和 回文判斷 System out println 請輸入字符串 Stringstr newScanner System in nextLine booleanflag true charch1 ch2 for inti 0 i str length 2 i ch1 str charAt i ch2 str charAt str length i 1 if ch1 ch2 flag false break if flag System out println 是回文 elseSystem out println 不是回文 大小寫等判斷 intlower 0 upper 0 number 0 space 0 other 0 System out println 請輸入字符串 Strings newScanner System in nextLine for inti 0 i s length i if Character isLowerCase s charAt i lower elseif Character isUpperCase s charAt i upper elseif Character isDigit s charAt i number elseif Character isSpace s charAt i space elseother System out println 小寫字母個數(shù) lower 大寫字母個數(shù) upper 數(shù)字個數(shù) number System out println 空格個數(shù) space 其他字符個數(shù) other 遞歸函數(shù)求2 4 6 100之和 publicclasstest publicstaticvoidmain Stringargs System out print fadd 100 publicstaticintfadd intn if n 2 return2 elsereturnn fadd n 2 完 補充1 數(shù)學(xué)類 java lang Math類主要包括下列方法和兩個常數(shù) doubleabs doubled 返回d的絕對值 doublemin doubled1 doubled2 返回d1與d2中的小者 doublemax doubled1 doubled2 返回d1與d2中的大者 doublesqrt doubled 返回d的平方根 doublepow doubled1 doubled2 返回d1的d2次冪 doublerandom 返回 0 1 的隨機(jī)數(shù) 兩個常數(shù) PI 圓周率 double E 自然對數(shù)的底 double 對于float int long有類似的函數(shù) 補充2 StringBuffer類 在Java中有3個類來負(fù)責(zé)字符的操作 Character是進(jìn)行單個字符操作的 String對一串字符進(jìn)行操作 不可變類 StringBuffer也是對一串字符進(jìn)行操作 但是可變類 String為不可變對象 一旦被創(chuàng)建 就不能修改它的值 對于已經(jīng)存在的String對象的修改都是重新創(chuàng)建一個新的對象 然后把新的值保存進(jìn)去 StringBuffer是一個可變對象 當(dāng)對它進(jìn)行修改的時候不會像String那樣重新建立對象 在實際應(yīng)用中 經(jīng)常會遇到對字符串進(jìn)行動態(tài)修改 這時候 String類的功能受到限制 而StringBuffer類可以完成字符串的動態(tài)添加 插入和替換等操作 StringBuffer的效率要比String高 StringBuffer對象的創(chuàng)建 StringBuffer對象只能通過構(gòu)造函數(shù)來建立StringBuffers newStringBuffer s hello 不能通過 符號進(jìn)行付值s append hello StringBuffer構(gòu)造函數(shù)StringBuffer 創(chuàng)建
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年揭陽市揭東縣數(shù)學(xué)三年級第一學(xué)期期末達(dá)標(biāo)測試試題含解析
- 企業(yè)快速響應(yīng)市場的組織結(jié)構(gòu)調(diào)整方案研究報告
- 農(nóng)業(yè)科技助力綠色生態(tài)農(nóng)業(yè)發(fā)展
- 2025中國鐵塔集團(tuán)江西分公司招聘22人高頻重點提升(共500題)附帶答案詳解
- 2025中國移動招聘在線統(tǒng)一筆試高頻重點提升(共500題)附帶答案詳解
- 2025中國電信青海黃南分公司招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國電信山東青島分公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 智慧教育相關(guān)行業(yè)投資方案范本
- 2025中國農(nóng)科院北京畜牧獸醫(yī)研究所奶產(chǎn)品質(zhì)量與風(fēng)險評估科技創(chuàng)新團(tuán)隊博士后崗公開招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國三峽新能源股份限公司招聘25人高頻重點提升(共500題)附帶答案詳解
- 泌尿外科診療指南
- 滬教牛津版英語2024七年級上冊全冊知識清單(記憶版)
- 高中地理選擇性必修2(綜合檢測卷)(附答案)-2022-2023學(xué)年高二上學(xué)期地理選擇性必修2
- 未成年消費退款協(xié)議書范本
- 政協(xié)分組討論個人發(fā)言稿
- 2024年新蘇教版六年級上冊科學(xué)全冊知識點 (背誦用)
- DL∕T 5210.6-2019 電力建設(shè)施工質(zhì)量驗收規(guī)程 第6部分:調(diào)整試驗
- DL∕T 802.2-2017 電力電纜用導(dǎo)管 第2部分:玻璃纖維增強(qiáng)塑料電纜導(dǎo)管
- 錨索張拉記錄表
- 全國計算機(jī)等級考試二級Python復(fù)習(xí)備考題庫(含答案)
- 《生物安全培訓(xùn)》課件-2024鮮版
評論
0/150
提交評論