已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講教師張智計(jì)算機(jī)學(xué)院軟件工程系 2Java編程基礎(chǔ) 2 1標(biāo)識(shí)符與關(guān)鍵字2 2數(shù)據(jù)類型2 3運(yùn)算符和表達(dá)式2 4包裝類2 5控制臺(tái)輸入2 6控制語(yǔ)句2 7編程練習(xí) 2 1標(biāo)識(shí)符與關(guān)鍵字 Java標(biāo)識(shí)符是以字母 下劃線 或美元符號(hào) 開頭 隨后跟隨字母 下劃線 美元符號(hào) 或數(shù)字 標(biāo)識(shí)符是大小寫區(qū)別對(duì)待的 標(biāo)識(shí)符未規(guī)定最大長(zhǎng)度 下列標(biāo)識(shí)符是有效的 identifier userName User name sys varl change 標(biāo)識(shí)符不能是關(guān)鍵字 例如 this是一個(gè)關(guān)鍵字不能作為標(biāo)識(shí)符 Java關(guān)鍵字 注意 關(guān)鍵字和保留字都是小寫 如true false 所有類型的長(zhǎng)度和表示是固定的 不依賴執(zhí)行 無(wú)sizeof運(yùn)算符 保留字2個(gè) goto和const Return 2 2數(shù)據(jù)類型 8個(gè) true false 基本類型用法注意 整數(shù)類型 byte short int和long用法與C C 相同 如 17 十 017 八 0 x17 十六 17L 長(zhǎng)整型 浮點(diǎn)數(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有兩個(gè)文字值 即true和false 小寫 注意 數(shù)字值不能自動(dòng)轉(zhuǎn)換為boolean 例如 intflag 1 if flag JavaError butC C Correctif flag 0 OK 顯示寫出條件booleanflag true if flag OK 條件使用布爾值 char類型 一個(gè)char代表一個(gè)16bit無(wú)符號(hào)的Unicode字符 一般用法 charch1 a ch2 n Unicode寫法 charch u0041 字母 A 4個(gè)16進(jìn)制數(shù)字 以 u開頭 Unicode編碼查詢 http www unicode org Unicode 統(tǒng)一碼 是一種在計(jì)算機(jī)上使用的字符編碼 它為每種語(yǔ)言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼 以滿足跨語(yǔ)言 跨平臺(tái)進(jìn)行文本轉(zhuǎn)換 處理的要求 字符檢測(cè)的方法 已知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類 符號(hào)常量 自定義符號(hào)常量 finaldoublePI 3 14159 系統(tǒng)提供的符號(hào)常量 如 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)一個(gè)對(duì)象被創(chuàng)建時(shí) 在方法外定義的變量 屬性 將被自動(dò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 實(shí)例變量在分配存儲(chǔ)單元的同時(shí)被下列值初始化 byte short int 0long 0Lfloat 0 0fdouble 0 0dchar u0000 即Null boolean false所有引用類型 Null 實(shí)例化后會(huì)自動(dòng)初始化 String類型 String不是原始類型 而是一個(gè)類 class 它被用來(lái)表示字符序列 字符串 字符本身符合Unicode標(biāo)準(zhǔn) 與C和C 不同 String不用 0 作為結(jié)束 基本用法 直接賦值 Strings1 Hello s2 Java 或者new一個(gè)String Strings1 newString Hello 字符串連接操作 Strings3 s1 s2 字符串連接s3 HelloJava inti 10 Stringstr i i str的值為 i 10 說明 如果字符串與其他類型變量進(jìn)行 運(yùn)算 系統(tǒng)將自動(dò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í)對(duì)數(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 返回一個(gè)新串 在原串后附加上s Stringreplace Stringold Stringnew 返回一個(gè)新串 將原串中出現(xiàn)的old替換成new Stringsubstring intstart intend 返回一個(gè)新串 它是原串中從start到end的一部分 StringtoLowerCase 返回一個(gè)新串 它將原串中的大寫字母變成小寫 StringtoUpperCase 返回一個(gè)新串 它將原串中的小寫字母變成大寫 理解返回一個(gè)新串的含義 Stringstr give str replace i a 則str 查找方法booleanendsWith Strings 如原串以s串為結(jié)尾 則返回true booleanstartsWith Strings 如原串以s串為開始 則返回true intindexOf Strings 返回串中第一次出現(xiàn)s串的序號(hào)值 intindexOf Strings intoffset 返回串中從offset開始查找 第一次出現(xiàn)s串的序號(hào)值 類似有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 返回串的長(zhǎng)度 特別提醒 字符串內(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)目錄分隔符號(hào)的位置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的最后一個(gè)字符 endmain endclass Return 2 3運(yùn)算符和表達(dá)式 運(yùn)算符使用注意 算術(shù)運(yùn)算兩個(gè)整數(shù)類型的數(shù)據(jù)做除法時(shí) 結(jié)果只保留整數(shù)部分 如 3 2 1 但是3 0 2 1 5自增與自減運(yùn)算符只適用于變量 如10 運(yùn)算不僅能用于整型 也能用于浮點(diǎn)類型 如 9 2 19 5 2 1 5 關(guān)系運(yùn)算關(guān)系表達(dá)式的運(yùn)算結(jié)果是邏輯值 true false 小寫 例如 inta 1 b 4 booleanc a0 則可以 布爾邏輯運(yùn)算只能是布爾量 true false 參加運(yùn)算 結(jié)果也是布爾型布爾量也可以 相當(dāng)于單個(gè)的位運(yùn)算 具有短路效應(yīng) 例如 m a b n c d 如果m false 則n c d不計(jì)算 位運(yùn)算 每右移一位 最高位由原來(lái)的最高位補(bǔ)充 正數(shù)補(bǔ)0 負(fù)數(shù)補(bǔ)1 0填充右移 無(wú)符號(hào)右移 例如 inta 1 a 24 則a 一般情況下 a n移位的結(jié)果是 a 2n 類型轉(zhuǎn)換當(dāng)沒有信息丟失時(shí) 變量可被自動(dòng)升級(jí)為一個(gè)較長(zhǎng)的形式 如 int至long的升級(jí) longbigval 6 6isaninttype OKintsmallval 99L 99Lisalong errordoublez 12 414F 12 414Fisfloat OKfloatz1 12 414 12 414isdouble error 類型轉(zhuǎn)換 續(xù) 對(duì) 運(yùn)算符來(lái)說 當(dāng)兩個(gè)操作數(shù)是原始數(shù)據(jù)類型時(shí) 其結(jié)果至少有一個(gè)int 并且有一個(gè)通過提升操作數(shù)到結(jié)果類型 或通過提升結(jié)果至一個(gè)較寬類型操作數(shù)而計(jì)算的值 這可能會(huì)導(dǎo)致溢出或精度丟失 例如 shorta b ca 1 b 2 c a b 上述程序會(huì)因?yàn)樵诓僮鱯hort之前提升每個(gè)short至int而出錯(cuò) 然而 如果c被聲明為一個(gè)int 或按如下操作進(jìn)行類型轉(zhuǎn)換 c short a b 則上述代碼將會(huì)成功通過 設(shè)計(jì)變量時(shí)要考慮好類型 instanceof作用 測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例 返回boolean類型的數(shù)據(jù) 例如 Integerd 123 booleanisInt dinstanceofInteger truebooleanisObj dinstanceofObject true說明 Object是類層次結(jié)構(gòu)的根類 每個(gè)類都使用Object作為超類 Return Java語(yǔ)言不把基本數(shù)據(jù)類型看作對(duì)象 8個(gè)基本數(shù)據(jù)類型都有相應(yīng)的包裝類 2 4包裝類 包裝類 續(xù) 包裝類都有自己的屬性和方法 例如Integer parseInt 方法 Integer MAX VALUE屬性 可以通過將被包裹的值傳遞到合適的構(gòu)造函數(shù)中來(lái)構(gòu)造包裝類對(duì)象 例如 inta 100 Integeri newInteger a 構(gòu)造包裝類對(duì)象可以通過intValue 方法將包裝類變成基本類型 例如 inttheInt newInteger a intValue Return 裝箱操作 拆箱操作 2 5控制臺(tái)輸入 importjava util Scanner 導(dǎo)入java包publicclasstest publicstaticvoidmain String args finaldoublePI 3 14159 符號(hào)常量Scannerscanner newScanner System in 創(chuàng)建控制臺(tái)輸入對(duì)象System out print 請(qǐng)輸入圓的半徑 doubler scanner nextDouble 讀取一個(gè)double數(shù)據(jù)System out print 計(jì)算圓面積 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控制語(yǔ)句 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語(yǔ)句 switch expr1 caseexpr2 statements break caseexpr3 statements break default statements break 如沒break語(yǔ)句 則程序的執(zhí)行將繼續(xù)到下一個(gè)case 而不檢查case表達(dá)式的值 expr1可以是int byte short或char類型 不允許使用浮點(diǎn)或long表達(dá)式 不允許有重復(fù)case值 示例 importjava util Scanner publicclasstest publicstaticvoidmain String args System out print 請(qǐng)輸入成績(jī) 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)識(shí)控制需要轉(zhuǎn)換到的任何有效語(yǔ)句 塊 標(biāo)注用法標(biāo)注 語(yǔ)句 塊 即在有效語(yǔ)句塊前加個(gè)標(biāo)識(shí)符 break 強(qiáng)行退出一個(gè)循環(huán) publicclasstest publicstaticvoidmain String args for inti 1 true i if i 5 break System out println i System out println 退出循環(huán)了 運(yù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 運(yùn)行結(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 運(yùn)行結(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 運(yùn)行結(jié)果 124369481216 Return 編程練習(xí) 判斷輸入的字符串是否為回文 如abcba 輸入一個(gè)字符串 統(tǒng)計(jì)大寫字母 小寫字母 數(shù)字 空格以及其他字符個(gè)數(shù) 遞歸方法求2 4 6 100之和 回文判斷 System out println 請(qǐng)輸入字符串 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 請(qǐng)輸入字符串 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 小寫字母?jìng)€(gè)數(shù) lower 大寫字母?jìng)€(gè)數(shù) upper 數(shù)字個(gè)數(shù) number System out println 空格個(gè)數(shù) space 其他字符個(gè)數(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 完 補(bǔ)充1 數(shù)學(xué)類 java lang Math類主要包括下列方法和兩個(gè)常數(shù) doubleabs doubled 返回d的絕對(duì)值 doublemin doubled1 doubled2 返回d1與d2中的小者 doublemax doubled1 doubled2 返回d1與d2中的大者 doublesqrt doubled 返回d的平方根 doublepow doubled1 doubled2 返回d1的d2次冪 doublerandom 返回 0 1 的隨機(jī)數(shù) 兩個(gè)常數(shù) PI 圓周率 double E 自然對(duì)數(shù)的底 double 對(duì)于float int long有類似的函數(shù) 補(bǔ)充2 StringBuffer類 在Java中有3個(gè)類來(lái)負(fù)責(zé)字符的操作 Character是進(jìn)行單個(gè)字符操作的 String對(duì)一串字符進(jìn)行操作 不可變類 StringBuffer也是對(duì)一串字符進(jìn)行操作 但是可變類 String為不可變對(duì)象 一旦被創(chuàng)建 就不能修改它的值 對(duì)于已經(jīng)存在的String對(duì)象的修改都是重新創(chuàng)建一個(gè)新的對(duì)象 然后把新的值保存進(jìn)去 StringBuffer是一個(gè)可變對(duì)象 當(dāng)對(duì)它進(jìn)行修改的時(shí)候不會(huì)像String那樣重新建立對(duì)象 在實(shí)際應(yīng)用中 經(jīng)常會(huì)遇到對(duì)字符串進(jìn)行動(dòng)態(tài)修改 這時(shí)候 String類的功能受到限制 而StringBuffer類可以完成字符串的動(dòng)態(tài)添加 插入和替換等操作 StringBuffer的效率要比String高 StringBuffer對(duì)象的創(chuàng)建 StringBuffer對(duì)象只能通過構(gòu)造函數(shù)來(lái)建立StringBuffers newStringBuffer s hello 不能通過 符號(hào)進(jìn)行付值s append hello StringBuffer構(gòu)造函數(shù)StringBuffer 創(chuàng)建
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色金融產(chǎn)品合同履行的擔(dān)保細(xì)則3篇
- 二零二五年度智慧景區(qū)安防監(jiān)控與導(dǎo)覽系統(tǒng)合同2篇
- 企業(yè)財(cái)務(wù)管理及稅務(wù)咨詢服務(wù)合同
- 物流運(yùn)輸貨物損壞丟失免責(zé)條款合同
- 水務(wù)項(xiàng)目承包經(jīng)營(yíng)合同
- 有機(jī)農(nóng)產(chǎn)品產(chǎn)銷合作合同
- 建筑工程設(shè)計(jì)服務(wù)合作合同
- APP軟件開發(fā)與運(yùn)營(yíng)合作合同
- 2025年度古建筑修復(fù)項(xiàng)目中介服務(wù)合同范本3篇
- 2025年度水利工程設(shè)計(jì)與施工總承包合同范本2篇
- 產(chǎn)品質(zhì)量反饋、回復(fù)單
- GB/T 7424.2-2002光纜總規(guī)范第2部分:光纜基本試驗(yàn)方法
- 《材料分析測(cè)試技術(shù)》全套教學(xué)課件
- 人教版8年級(jí)上英語(yǔ)各單元語(yǔ)法課件大全
- (完整版)形式發(fā)票模版(國(guó)際件通用)
- 武漢東湖賓館建設(shè)項(xiàng)目委托代建合同
- 安徽大學(xué)大學(xué)生素質(zhì)教育學(xué)分認(rèn)定辦法
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預(yù)防接種護(hù)理質(zhì)量考核標(biāo)準(zhǔn)
- 除氧器出水溶解氧不合格的原因有哪些
評(píng)論
0/150
提交評(píng)論