《Java語言基礎(chǔ)》PPT課件.ppt

上傳人:za****8 文檔編號:14489168 上傳時(shí)間:2020-07-21 格式:PPT 頁數(shù):43 大?。?53.01KB
收藏 版權(quán)申訴 舉報(bào) 下載
《Java語言基礎(chǔ)》PPT課件.ppt_第1頁
第1頁 / 共43頁
《Java語言基礎(chǔ)》PPT課件.ppt_第2頁
第2頁 / 共43頁
《Java語言基礎(chǔ)》PPT課件.ppt_第3頁
第3頁 / 共43頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《Java語言基礎(chǔ)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《Java語言基礎(chǔ)》PPT課件.ppt(43頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、第三章 Java 語言基礎(chǔ),主要內(nèi)容: 數(shù)據(jù)類型、變量、常量 表達(dá)式 流程控制語句,問題:,定義一個(gè)變量時(shí),如何確定合理的數(shù)據(jù)類型? 引用類型和基本數(shù)據(jù)類型變量有何不同? 如何確定變量的生命周期?,Java 的基本數(shù)據(jù)類型,3.2 數(shù)據(jù)類型、變量與常量,數(shù)據(jù)類型的特點(diǎn)(與C的區(qū)別),各種數(shù)據(jù)類型占用固定的內(nèi)存長度,與具體的軟硬件平臺無關(guān)(跨平臺內(nèi)在要求); 各類型都有一個(gè)缺省值(C無缺省值);,選擇合適的整數(shù)類型,考慮實(shí)際需求和程序的性能 如定義一個(gè)變量保存月份 byte month;節(jié)省內(nèi)存 long month;占用太多內(nèi)存 int month; 簡化運(yùn)算時(shí)強(qiáng)制類型轉(zhuǎn)換操作,因?yàn)檎麛?shù)運(yùn)算返

2、回值只能是int或long 如:byte month=1; month=(byte)(month+2);//無強(qiáng)制類型轉(zhuǎn)換則編譯出錯(cuò),Unicode 編碼,Java語言對字符數(shù)據(jù)類型(char) 采用 Unicode 編碼(UCS-2),收錄所有語言文字中的字符,一種跨平臺的字符編碼。 其它常用字符編碼有: ASCII編碼:主要表達(dá)現(xiàn)代英語和其他西歐語言中的字符。 ISO-8859-1編碼:8位,用于西歐語言中的字符編碼。 GB2312編碼:包括對簡體中文字符的編碼。 GBK編碼:對GB2312編碼的擴(kuò)展,分為漢字區(qū)和圖形符號區(qū)。 UTF編碼:把Unicode編碼轉(zhuǎn)換為操作系統(tǒng)支持的編碼。,標(biāo)

3、識符(與C規(guī)定相同),用來標(biāo)識一個(gè)包、類名、對象、方法、變量等。 標(biāo)識符由字母、數(shù)字、下劃線 _ 和美元符號 $ 組成; 以字母、下劃線 _ 或美元符號 $ 開頭; 大小寫有區(qū)別; 見名知義; P36/表3-2,指出不合法標(biāo)識符的錯(cuò)誤; 習(xí)題3-4,類名(接口名) 名詞 第一字母大寫,每一單詞首字母大寫。 例:AccountBook 方法名 動(dòng)詞 第一字母小寫,每一單詞首字母大寫。 例:balanceAccount() 變量名 名詞 第一字母小寫,每一單詞首字母大寫。 常量名 全部大寫,單詞間用下劃線分開 . 例:HEAD_COUNT,常 量,布爾常量:true , false 整型常量 十進(jìn)

4、制: 以非 0 開頭 八進(jìn)制: 以 0 開頭 017 == 15 十六進(jìn)制:以 0 x 開頭 0 x2f == 47 浮點(diǎn)常量 單精度(32位): 以 F、f 表示,如:8.1f; 雙精度(64位) :帶 D、d 或不加后綴,如:8.1 字符串常量 字符串可以連接:“Hello” + “ Java” 得到 “Hello Java”,字符常量,如:a、8以及(轉(zhuǎn)義符),變 量,強(qiáng)制聲明(與C相同) 格式:數(shù)據(jù)類型 變量名 = 初始值 ; 如:boolean m_bFalg = true ; double m_dScore ;,基本數(shù)據(jù)類型的使用示例,例子3-1: 調(diào)試程序,回答問題:

5、1、該程序保存的文件名是什么?為什么要這樣命名? 2、在執(zhí)行程序時(shí),系統(tǒng)怎么知道該從哪里開始程序? 3、第8行l(wèi)ong l=123456789L的L的含義是什么?去掉可以嗎?為什么? 4、第10行float f=3.1415925F的F含義是什么?去掉可以嗎?為什么? 5、第12行String s=“你好!”,中文的顯示問題,String是基本數(shù)據(jù)類型嗎? 6、char chc = 中 ;,字符串與數(shù)字的互相轉(zhuǎn)化,見P37例32: int i = Integer.parseInt( string ); 以上函數(shù)的定義為: public static int parseInt ( Strings

6、 ) throws NumberFormatException,變量的作用域(重點(diǎn)),作用域是指它的存在范圍,只在這個(gè)范圍內(nèi),程序代碼才能訪問它。 Java的變量的作用域就是聲明變量的語句所在的語句塊。 例子3-2:代碼12行變量br的作用域,s和i的聲明應(yīng)放在try語句外。,變量的初始化及默認(rèn)值,Java的變量必須先定義,后初始化,再使用。 對于類的成員變量,JVM會先自動(dòng)賦默認(rèn)值。 對于局部變量,JVM不會自動(dòng)初始化為默認(rèn)值。 例子:VaribleAvailable.java,引用類型類,定義類(新的數(shù)據(jù)類型) class MyDate int day ; int month ; int

7、 year ; 基本數(shù)據(jù)類型直接分配內(nèi)存空間 int I,j,k ; 引用類型 ? MyDate d1 ; d1 = new MyDate() ;,引用類型類,MyDate d1 = new MyDate() ;,d1.day = 8 ; d1.month = 8; d1.year = 2008 ;,3.3表 達(dá) 式,由變量、常量、對象、方法調(diào)用和操作符組成的式子。表達(dá)式的值即運(yùn)算后的結(jié)果。 類型轉(zhuǎn)換: 自動(dòng)轉(zhuǎn)換:從占用內(nèi)存較少的類型轉(zhuǎn)化成占用內(nèi)存較多的類型; 強(qiáng)制轉(zhuǎn)換:byte b = 10 ;int i = -1 ; b = (byte ) i ;,算 術(shù) 運(yùn) 算,雙目運(yùn)算符 +(

8、加) - (減) * (乘) /(除) %(取余) 單目運(yùn)算符 + +(自增)- -(自減) -(求相反數(shù)) 例:int x =2 ; int y = ( + + x ) * 3 ; 求x=?,y=? 結(jié)果:x = 3, y = 9 例:int x =2 ; int y = ( x + + ) * 3 ; 求x=?,y=? 結(jié)果: x = 3, y = 6 P41例34:,關(guān) 系 運(yùn) 算,= =(等于)! =(不等于) (大于) =(大于等于)< =(小于等于) 用于比較數(shù)據(jù)的大小關(guān)系,結(jié)果為布爾型;,邏 輯 運(yùn) 算,,Bitwise運(yùn)算符: 問函數(shù)的作用; 對象運(yùn)算符 insta

9、nceof 用來測定一個(gè)對象是否屬于某一個(gè)特定類的實(shí)例,形式如下: obj instanceof ClassName(InterfaceName) 例:Dog dog=new Dog(); dog instanceof XXX在以下情況下為true XXX為Dog類,Dog類的直接或間接父類,Dog類實(shí)現(xiàn)的接口,以及所有父類實(shí)現(xiàn)的接口。,Animal a=new Dog(); System.out.println(a instanceof Animal);//true System.out.println(a instanceof Dog); //true System.out.println

10、(a instanceof Cat); //false,3.字符串連接操作符“” “”連接字符串,生成新的字符串。其一個(gè)操作數(shù)為String類型,另一個(gè)操作數(shù)可以是任意類型。因?yàn)樵趈ava.lang.Object類中定義了toString()方法。 如:String s=“Age:”+1+2;//s的內(nèi)容為Age:12,4.“”與對象的equal()方法 “”用來比較兩個(gè)操作數(shù)是否相等。當(dāng)“”兩邊都是引用類型變量時(shí),這兩個(gè)變量都必須引用同一個(gè)對象時(shí)結(jié)果才為true。 Object類的equal()方法是比較引用的是否為同一個(gè)對象。java.io.File,java.util.Date,java

11、.lang.String,包裝類都覆蓋了Object類的equal()方法,它們的比較規(guī)則為如果兩個(gè)對象的類型一致,并且內(nèi)容一致,則返回true。,String s1=new String(“Hello”); String s2=new String(“Hello”); System.out.println(s1==s2);//false System.out.println(s1.equals(s2));//true,可以在用戶自定義的類中覆蓋Object.equals()方法,重新定義比較規(guī)則。 例見Person.java:定義一個(gè)Person類,實(shí)現(xiàn)兩個(gè)Person實(shí)例,只要名字相同就可

12、以認(rèn)為是同一個(gè)。,運(yùn)算符的優(yōu)先級與結(jié)合性,運(yùn)算符的優(yōu)先級決定了表達(dá)式中不同運(yùn)算執(zhí)行的先后順序。 運(yùn)算符的結(jié)合性決定了并列的相同運(yùn)算的先后執(zhí)行順序。,,例子:習(xí)題3-8 設(shè)A=3,b=-5,f=true; --a%b++為2, (a=1,生活中使用if判斷的實(shí)例?,分支語句(2),2選擇語句 if-else if(boolean-expression) statement1;else statement2;,生活中使用if-else選擇的實(shí)例?,分支語句(3),3多分支語句 (1)if-else if else 語句 if (boolean-expression1) statement1

13、;else if (boolean-expression2) statement2;else if (boolean-expressionN) statementN;else statement;,,分支語句(4),3多分支語句 (2)switch 語句(開關(guān)語句) switch (expression) case value1 : statement1; break;case value2 : statement2; break; case valueN : statementN; break;default : defaultStatement; ,,3.4.

14、3循環(huán)語句,循環(huán)體,條件表達(dá)式,條件表達(dá)式,循環(huán)體,表達(dá)式 3,表達(dá)式 1,循環(huán)體,表達(dá)式 2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,T,T,T,F,F,F,(b) do-while 語句,(a) while 語句,(c) for 語句,圖 3-9 Java 的三種循環(huán)語句流程,While的例子3-8:找到所有的水仙花數(shù)。水仙花數(shù)是三位數(shù),各位數(shù)字的立方和等于數(shù)本身。(Narcissus.java) Do-while例子3-9:從用戶鍵盤輸入一個(gè)字符后,輸出這個(gè)字符對應(yīng)的ASCII碼。直到輸入為”#”字符結(jié)束。(showCharValue.java) For語句例子3-1

15、0:找出10000以內(nèi)的完全數(shù)。完全數(shù)是等于其所有因子和(包括1但不包括這個(gè)數(shù)本身)的數(shù)。(PerfectNum.java),跳 轉(zhuǎn) 語 句 continue 、break 、 return (無 goto); continue 語句 不帶標(biāo)號(與C相同): 終止當(dāng)前循環(huán),跳過本循環(huán)中剩余的語句,直接進(jìn)入下一次循環(huán)。 帶標(biāo)號(Java特有): 格式: continue 標(biāo)號名;,例 打印 1 100 之間的素?cái)?shù): First_loop: for (int i=1; i<100; i++) for ( int j=2; j

16、 continue First_loop ;// 跳到外層循環(huán) System .out .println ( i ) ; ,break 語句 不帶標(biāo)號的 break : 跳出它所在的 switch 分支或最內(nèi)層循環(huán)體。 帶標(biāo)號的 break : 跳出標(biāo)號標(biāo)志的語句塊; break 標(biāo)號名 ; for () a: b: break b; break a; ,小 結(jié),數(shù)據(jù)類型的特點(diǎn)(缺省值、內(nèi)存長度固定、引用數(shù)據(jù)類型) 表達(dá)式 流程控制語句,指出程序的錯(cuò)誤: public class MyJavaClass public static void main() System.out.println(Am I wrong?); System.out.println(程序結(jié)束。); ,課堂編程實(shí)踐,編一程序產(chǎn)生3個(gè)20以內(nèi)的隨機(jī)數(shù)作為三角形的三條邊,檢驗(yàn)是否構(gòu)成三角形,若可以,輸出三條邊的長度,計(jì)算其面積并輸出。 提示: a,b,c是三角形的三條邊,則任意兩邊的和大于第三邊。(或任意兩邊的差小于第三邊)。 面積=Math.sqrt(s*(s-a)*(s-b)*s-c)),其中 s=1.0/2*(a+b+c),

展開閱讀全文
溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!