JAVA程序設(shè)計(jì):第3章 標(biāo)識符、關(guān)鍵字、類型_第1頁
JAVA程序設(shè)計(jì):第3章 標(biāo)識符、關(guān)鍵字、類型_第2頁
JAVA程序設(shè)計(jì):第3章 標(biāo)識符、關(guān)鍵字、類型_第3頁
JAVA程序設(shè)計(jì):第3章 標(biāo)識符、關(guān)鍵字、類型_第4頁
JAVA程序設(shè)計(jì):第3章 標(biāo)識符、關(guān)鍵字、類型_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、標(biāo)識符、關(guān)鍵字、類型 第三課 1本課內(nèi)容注釋及分隔符、Java文檔化工具標(biāo)識符關(guān)鍵字Java基本數(shù)據(jù)類型Java引用類型String類型方法結(jié)構(gòu)及用法值傳遞關(guān)鍵字this2Java 注釋Java語言中定義了三種注釋形式: / 單行注釋-注釋到行尾 /* 單行或多行注釋 */ /* 可以用于文檔化處理的單行或多行注釋 */JDK中提供了一個文檔自動生成工具javadoc,在自定義類中public的成員前以/*/形式加入的注釋內(nèi)容均可被自動提取到生成的說明文檔中。用法:somepathjavadoc source.java 3Java 分隔符Java分隔符組成:分號-“;”、花括號-“”、空格-“

2、 ”Java分隔符作用:Java語句必須以分號作為結(jié)束標(biāo)記 Java允許用花括號“”將一組語句括起來,形成一個語句塊(block)Java程序源代碼中各組成部分之間可以插入任意數(shù)量的空格,包括換行。 4使用變量的注意事項(xiàng)變量命名不能重復(fù)Java區(qū)分大小寫變量必須先定義,再使用只有定義過,才能為其分配相應(yīng)數(shù)量的存儲單元一旦定義,變量類型才能確定,才能檢查其運(yùn)算的合法性5標(biāo)識符(1)Java語言中,為各種變量、方法和類等起的名字稱為標(biāo)識符Java標(biāo)識符的命名規(guī)則:應(yīng)以字母、下劃線、美元符開頭 (考點(diǎn))后跟字母、下劃線、美元符或數(shù)字(考點(diǎn))Java標(biāo)識符大小寫敏感,長度無限制6標(biāo)識符(2)Java標(biāo)

3、識符舉例合法的標(biāo)識符不合法的標(biāo)識符 HelloWorld class DataClass DataClass# _983 98.3 $bS5_c7 Hell World03017關(guān)鍵字(1)Java中一些賦以特定的含義、并用做專門用途的單詞稱為關(guān)鍵字(keyword)所有Java關(guān)鍵字都是小寫的,TURE、FALSE、NULL等都不是Java關(guān)鍵字 ;goto和const 雖然從未使用,但也作被為Java關(guān)鍵字保留;true,false,null雖被用做專門用途,但不是Java關(guān)鍵字; 8關(guān)鍵字(2)9Java數(shù)據(jù)類型劃分?jǐn)?shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(bool

4、ean)整數(shù)類型(byte, short, int, long)浮點(diǎn)類型(float, double)類(class)接口(interface)數(shù)組引用類型:030210Java基本數(shù)據(jù)類型Java中定義了四類/八種基本數(shù)據(jù)類型邏輯型- boolean文本型- char整數(shù)型- byte, short, int, long浮點(diǎn)數(shù)型- float, double030411邏輯型boolean類型適于邏輯運(yùn)算,一般用于程序流程控制 boolean類型數(shù)據(jù)只允許取值true或false,不可以0或非0的整數(shù)替代true和false。用法舉例(練習(xí):0305/Test1.java,Test2.jav

5、a,Test.java)boolean b = false;if(b=true) /do something12文本型char型數(shù)據(jù)用來表示通常意義上“字符”字符常量是用單引號括起來的單個字符char c = A;Java字符采用Unicode編碼,每個字符占兩個字節(jié),因而可用十六進(jìn)制編碼形式表示(0306/Test.java)char c1 = u0061;Java語言中還允許使用轉(zhuǎn)義字符來將其后的字符轉(zhuǎn)變?yōu)槠渌暮xchar c2 = n; /代表換行符13整數(shù)類型(1)類 型占用存儲空間表數(shù)范圍 byte 1字節(jié) -128 127 short 2字節(jié) -215 215-1 int 4字節(jié)

6、 -231 231-1 long 8字節(jié) -263 263-1 Java各整數(shù)類型有固定的表數(shù)范圍和字段長度,而不受具體操作系統(tǒng)的影響,以保證Java程序的可移植性 :14整數(shù)類型(2)Java語言整型常量的三種表示形式: 十進(jìn)制整數(shù),如12, -314, 0。 八進(jìn)制整數(shù),要求以0開頭,如012 十六進(jìn)制數(shù),要求0 x或0X開頭,如0 x12 Java語言的整型常量默認(rèn)為int型,如:int i =3;聲明long型常量可以后加 l 或 L ,如:long l = 3L;15浮點(diǎn)型(1)Java浮點(diǎn)類型有固定的表數(shù)范圍和字段長度類 型占用存儲空間表數(shù)范圍 float 4字節(jié) -3.403E3

7、83.403E38 double 8字節(jié) -1.798E3081.798E308 16浮點(diǎn)型(2)Java浮點(diǎn)類型常量有兩種表示形式十進(jìn)制數(shù)形式,必須含有小數(shù)點(diǎn),例如:3.14 314.0 .314 科學(xué)記數(shù)法形式,如3.14e2 3.14E2 314E2 Java浮點(diǎn)型常量默認(rèn)為double型,如要聲明一個常量為float型,則需在數(shù)字后面加f或F,如: double d = 3.14;float f = 3.14f;17Java引用類型Java語言中除8種基本數(shù)據(jù)類型以外的數(shù)據(jù)類型稱為引用類型 引用類型數(shù)據(jù)以對象的形式存在 引用類型變量的值是某個對象的句柄,而不是對象本身 聲明引用類型變量

8、時,系統(tǒng)只為該變量分配引用空間,并未創(chuàng)建一個具體的對象 18對象的構(gòu)造和初始化(1)為引用類型變量分配引用空間 MyDate m; 創(chuàng)建新對象-首先為新對象分配內(nèi)存空間,并進(jìn)行屬性(實(shí)例變量)的默認(rèn)初始化 new MyDate(22, 9, 2001);nullnullm000daymonthyearm19對象的構(gòu)造和初始化(2)Java引用類型成員變量默認(rèn)初始化原則成員變量類型 取值 byte0 short0 int 0 long0L charu0000 float0.0F double0.0D booleanfalse 所有引用類型null 20對象的構(gòu)造和初始化(3)進(jìn)行屬性(成員變量)

9、的顯式初始化,顯式初始化取值來自于類的定義中屬性聲明部分 private int day = 12; private int month = 6; private int year = 1900;nullm1261900daymonthyear21對象的構(gòu)造和初始化(4)執(zhí)行構(gòu)造方法public Mydate(int y, int m, int d) year = y; month = m; day = d; nullm2292001daymonthyear22對象的構(gòu)造和初始化(5)為引用類型變量m賦值m = new MyDate(22, 9, 2001);0 x3a478bm2292001

10、daymonthyear0 x3a478b23String 類String是最常用的一種Java引用類型String類對象保存不可修改的Unicode字符序列String常量是用雙引號括起來的0到多個字符,例如:String s = ;String類型數(shù)據(jù)可以和任何其它數(shù)據(jù)類型進(jìn)行+操作,實(shí)現(xiàn)字符串連接的效果。24方法1方法是類的動態(tài)性能,描述了該類事物所共有的功能或行為。Java語言的方法類似于其它語言的函數(shù)或過程,是一段用來完成特定功能的代碼片段,其一般格式如下:修飾符1 修飾符2 返回值類型 方法名(形式參數(shù)列表) 0多行Java語句25方法2形式參數(shù):在方法被調(diào)用時用于接收外界輸入的數(shù)

11、據(jù);實(shí)參:調(diào)用方法時實(shí)際傳給方法的數(shù)據(jù)返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境的數(shù)據(jù)。返回值類型:事先約定的返回值的數(shù)據(jù)類型,如無返回值,在Java中也必須給出返回值數(shù)據(jù)類型為void。Java類中構(gòu)造方法不能有返回值類型。26方法3舉例:public class Testpublic int method1(int a , int b, int c)int k = a + b + c;return k;public static void main(String args)Test t = new Test();int j = t.method1(3,4,5);System.out.pri

12、ntln(the result is: + j);形參列表格式:數(shù)據(jù)類型1 參數(shù)名1,數(shù)據(jù)類型2 參數(shù)名2,27方法4Java語言中使用下述形式調(diào)用方法:對象名.方法名(實(shí)參列表)實(shí)參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法聲明的形參列表匹配,實(shí)參列表格式如下:參數(shù)1, 參數(shù)2,return 語句:用于終止方法的運(yùn)行并指定要返回的數(shù)據(jù)。如果方法的最后一行沒有return 語句,則編譯時系統(tǒng)會添加return;。28Ex方法參數(shù)及返回值使用練習(xí):分析并改正下述程序中的錯誤范例0307:Test.java29值傳遞Java中進(jìn)行賦值操作或函數(shù)調(diào)用中傳遞參數(shù)時,遵循值傳遞的原則:基本類型數(shù)據(jù)傳遞的是該

13、數(shù)據(jù)的值本身 引用類型數(shù)據(jù)傳遞的是對對象的引用(句柄),而非對象本身 30值傳遞舉例(2)public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); /調(diào)用函數(shù)ex.change2(d1);ex.change3(d2);System.out.println(date= + da

14、te);d1.display();d2.display();public void change1(int i)i = 1234;public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22);31值傳遞演示(1)main程序開始執(zhí)行時內(nèi)存狀態(tài)棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;Bi

15、rthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i)i = 1234;public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(Bir

16、thDate b)b.setDay(22);32值傳遞演示(2)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.di

17、splay();d2.display();public void change1(int i)i = 1234;public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d219707720001133值傳遞演示(3)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new

18、 Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i) i = 1234;public void change2(BirthDate b)b = new BirthDate(22,2,20

19、04);public void change3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d21970772000119ichange134值傳遞演示(4)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.

20、change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d21970772000111234ichan

21、ge135值傳遞演示(5)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display(

22、);public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d219707720001136值傳遞演示(6)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int dat

23、e = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i)i = 1234; public void change2(BirthDate b) b = new BirthDate(22,2,2004);public void c

24、hange3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d2197077200011587934bchange237值傳遞演示(7)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date

25、);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i)i = 1234; public void change2(BirthDate b) b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d2197077200011666888bchange222220

26、0438值傳遞演示(8)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display()

27、;public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d219707720001139值傳遞演示(9)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date

28、 = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void cha

29、nge3(BirthDate b) b.setDay(22);處內(nèi)存狀態(tài)1109259587934exdated1354752d2197077200011354752bchange340值傳遞演示(10)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date

30、);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22); 處內(nèi)存狀態(tài)1109259587934exdated1354752d21970772000221354752bchange341值傳遞

31、演示(11)main棧內(nèi)存堆內(nèi)存public class Examplepublic static void main(String args)Example ex = new Example();int date = 9;BirthDate d1= new BirthDate(7,7,1970);BirthDate d2= new BirthDate(1,1,2000); ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date= + date);d1.display();d2.display();publi

32、c void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004);public void change3(BirthDate b)b.setDay(22); 處內(nèi)存狀態(tài)1109259587934exdated1354752d2197077200022142關(guān)鍵字this(1)Java中為解決變量的命名沖突和不確定性問題,引入關(guān)鍵字“this”代表其所在方法的當(dāng)前對象。構(gòu)造方法中指該方法所創(chuàng)建的新對象 普通方法中指調(diào)用該方法的對象 43關(guān)鍵字this(2)public class ThisSampleprivate int year;private int month;private int d

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論