第三章.java基礎語法



《第三章.java基礎語法》由會員分享,可在線閱讀,更多相關《第三章.java基礎語法(56頁珍藏版)》請在裝配圖網上搜索。
1、第三章第三章Java基礎語法2本章目標 1 注釋、分隔符、標識符和關鍵字 2 數據類型 3 方法、變量 4 值傳遞和關鍵字this 5 標準輸入輸出 6 編碼慣例3注釋 注釋(Comment)是對源程序起解釋說明作用的文本信息,適當使用注釋能夠增強代碼的可讀性。Java語言中定義了三種注釋形式:/單行注釋-注釋到行尾/*單行或多行注釋*/*可用于文檔化處理的單行或多行注釋*/JDK中提供了一個文檔自動生成工具javadoc,在自定義類中public的成員前以/*/形式加入的注釋內容均可被自動提取到生成的說明文檔中。4分隔符 Java分隔符組成:分號-;逗號-,空格-圓點-.花括號-及 Java
2、分隔符作用:Java語句必須以分號作為結束標記,for循環語句中使用分號來分隔不同的成份。逗號可以在方法聲明或調用時的參數列表中用于分隔多個參數,也可在一條聲明語句中同時聲明多個屬性或局部變量時起分隔作用。Java程序源代碼中各組成部分之間可以插入任意數量的空格,包括換行。圓點用于訪問對象成員(屬性或方法)時標明調用或隸屬關系,其格式為對象名.對象成員?;ɡㄌ栍糜跇嬙煺Z句塊5語句塊 Java允許用花括號將一組語句括起來,形成一個語句塊(block)用法:定義類時類體必須采用語句塊形式。定義方法時方法體必須采用語句塊的形式。定義循環語句時,循環體可以采用語句塊的形式,采用將0多條語句集合到一起,
3、作為一個整體進行處理。語句塊可以嵌套,嵌套層數無限制。6標識符 Java語言中,為各種變量、方法和類等起的名字稱為標識符(identifier)。Java標識符的命名規則:應以字母、下劃線(_)、美元符($)開頭后跟字母、下劃線、美元符或數字Java標識符大小寫敏感,長度無限制 舉例:7關鍵字 Java語言中一些被賦以特定的含義、并用做專門用途的單詞稱為關鍵字(keyword)。所有Java 關鍵字都是小寫的,TURE、FALSE、NULL等都不是Java關鍵字。goto和const 雖然從未使用,但也作被為Java關鍵字保留。true,false雖被用做專門用途,但不是Java關鍵字。8Ja
4、va關鍵字表9練習1.練習在一個已有.java源代碼文件中使用三種不同類型的注釋,并用javadoc命令創建自己的類文檔,體會其用法。2.練習在已有應用程序的一個語句中插入多處空格、中間換行、將多個語句組成一個語句塊兒(置于“”中),并編譯運行程序,體會其自由程度。3.測試并體會Java標識符、關鍵字的使用規則:在程序中試將不合法的標識符(如:3ar,*bily,d9#8等)、或關鍵字作為變量名、方法名或類名,編譯然后改正錯誤。10數據類型 數據類型就是一組性質相同的值的集合以及定義于這個值集合上的一組操作的總稱。常用數據類型:整型、浮點型、字符型、字符串型、布爾型 按照對數據類型的使用約束程
5、度來劃分,高級編程語言可分為:強類型語言(Strong Typed Languages)弱類型語言(Weakly Typed Languages)11Java數據類型12基本數據類型 基本類型(Primitive Type)的數據只能保存單一的值,因此也被稱為原始類型、或簡單類型。Java中定義了四類/八種基本數據類型邏輯型-boolean文本型-char整數型-byte,short,int,long浮點型-float,double13整型 整型數據用于保存整數信息,Java提供了四種不同的整數類型,各有固定的表數范圍和字段長度,而不受具體操作系統的影響,以保證Java程序的可移植性14整型常
6、量表示 Java語言整型常量的三種表示形式:十進制整數,如12,-314,0八進制整數,要求以0開頭,如012十六進制數,要求0 x或0X開頭,如0 x12 Java語言的整型常量默認為int型,聲明long型常量可以后加l或L。舉例:int a=39;int b=0 x4b;int c=021;int d=a+0 x12+012;/等價于d=39+18+10;long m=3L;long n=m+40;15浮點型 Java浮點型包括float和double兩種,分別用于保存單精度和雙精度的浮點數。浮點型有固定的表數范圍和字段長度:16浮點型常量表示 Java浮點類型常量有兩種表示形式十進制必
7、須含有小數點,也可采用科學計數法表示,例如3.65 0.12.12 4.236e2 1.24e2 4.5E-3十六進制從JDK5.0開始引入,十六進制浮點數只能采用科學記數法表示,其格式為:例如0 x1.2p3,轉換為十進制的計算方法為:0 x1.2p3=(1*160+2*16-1)*23=9.0 Java浮點型常量默認為double型,如要聲明float型常量為,則需在數字后面加f或F,如:double d=3.14;float f=3.14f;17字符型 基本概念:字節、字符、字符集、字符編碼。char型數據用來表示通常意義上“字符”,Java語言采用16位Unicode編碼保存。字符常量
8、的三種表示方法:使用單引號括起來的單個字符,例如:char c=A;十六進制編碼形式表示,例如:char c1=u0061;使用轉義字符來將其后的字符轉變為其它的含義,例如:char c2=n;/代表換行符18布爾型 boolean類型數據用來表示只有兩種狀態的邏輯值,分別代表現實生活中的特定條件成立與否,通常用于邏輯運算和程序流程控制。boolean類型數據只允許取值true或false,不可以0或非0的整數替代true和false。用法舉例:boolean b=true;if(b=false)System.out.println(haha);elseSystem.out.println(h
9、ehe);19練習 1.編寫Java應用程序,測試并體會各種原始類型數據的定義,賦值和輸出。輸出可采用下述形式的語句:System.out.println(x=+x);/其中x是變量名,如a,b,c等。2.使用char型的三種常量聲明方式為char型變量賦值并輸出。20引用數據類型 Java語言中除8種基本數據類型以外,其它的數據類型統稱為引用類型(ReferenceType),具體包括:類、接口、數組、枚舉和注解類型。引用類型數據以對象的形式存在。引用類型變量的值是某個對象的句柄,而不是對象本身。聲明引用類型變量時,系統只為該變量分配引用空間,并未創建一個具體的對象。21引用類型應用舉例(1
10、)public class QQFarmprivate int account=3715500;private int level=28;private int experience=5000;public QQFarm()public QQFarm(int a,int l,int e)account=a;level=l;experience=e;public void setAccount(int a)account=a;public int getAccount()return account;public void setLevel(int l)level=l;public int ge
11、tLevel()return level;public void setExperience(int e)experience=e;public int getExperience()return experience;public void display()System.out.println(account+-+level+-+experience);22引用類型應用舉例(2)public class TestReferenceTypepublic static void main(String args)QQFarm qqf;qqf=new QQFarm(3715500,20,5000
12、);qqf.display();23對象構造和初始化(1)一.為引用類型變量分配引用空間語句:QQFarm qqf;內存狀態:見書3-15 二.創建新對象為新對象分配內存空間,并進行屬性(實例變量)的默認初始化。語句:qqf=new QQFarm(3715500,20,5000);內存狀態:24對象構造和初始化(2)Java對象默認初始化規則25對象構造和初始化(3)三.進行屬性的顯式初始化,顯式初始化取值來自于類的定義中屬性聲明部分。語句:private int account=3715500;private int level=28;private int experience=5000;
13、內存狀態:見書3-15說明:如果屬性在聲明時未指定缺省值,則在這個環節就不對其進行賦值操作。26對象構造和初始化(4)四.執行構造方法體中的語句。語句:public QQFarm(int a,int l,int e)account=a;level=l;experiecne=e;內存狀態:見書3-16說明:此時新建對象和先前聲明的變量qqf間還是沒有建立任何關聯。27對象構造和初始化(5)五.為引用類型變量賦值。語句:qqf=new QQFarm(3715500,20,5000);內存狀態:見書3-17說明:此時變量qqf保存的并不是新建對象封裝的具體信息、如屬性值等,而是該對象的句柄(Hand
14、le)。28練習 基本數據類型和引用數據類型的區別?引用類型變量和對象的區別?類和對象的關系?29方法 方法(Method)是類的動態性能,描述了該類事物所共有的功能或行為。Java語言的方法相當于其它編程語言中的函數(Function)或子程序(Subroutine),是用來完成相對獨立功能的一段代碼的集合。語法規則:Java語言的方法必須定義在類中,而不允許直接出現在源文件內。只有其所在類的對象才有資格調用方法。方法的定義不允許出現嵌套。30方法舉例public class TestMethodpublic int m1(int a,int b,int c)int result=a+b+c
15、;return result;public void m2(int c)System.out.println(c);public static void main(String args)TestMethod tm=new TestMethod();int j=tm.m1(3,4,5);System.out.println(j);System.out.println(tm.m1(100,10,9);tm.m1(1,2,3);/合法,丟棄了返回結果tm.m2(6);/int k=tm.m2(8);/非法,方法m2()無返回值31相關語法 方法形參列表格式:(數據類型1 參數名1,數據類型2 參數
16、名2,)Java語言中使用下述形式調用方法:對象名.方法名(實參列表)實參列表格式如下:(參數1,參數2,)實參可以是變量、常量或表達式,但其數目、類型和出現的順序必須和相應的形參保持一致,此稱為參數匹配。return語句用于終止方法的運行并指定要返回的數據。如果方法的最后一行沒有return語句,則編譯時系統會添加return;。32變量 變量(Variable)用于記錄數值可以改變的數據。計算機技術中變量包括變量名和變量值兩部分:變量名用于標記一段特定的存儲空間變量值以二進制形式保存在該空間中,且可以被訪問和修改。變量分類按所屬數據類型劃分:基本類型變量引用類型變量按聲明的位置劃分:局部變
17、量方法或語句塊內部定義的變量成員變量方法外部、類的內部定義的變量33變量聲明和初始化 Java語言中變量必須先聲明和初始化(賦初值),然后才可以使用。成員變量在類的定義中聲明,在創建對象的同時創建有關的成員變量,然后由系統自動對其進行默認初始化和顯式初始化。局部變量聲明語法格式:=,=;舉例:說明:形參屬局部變量,方法調用時會被隱含的初始化。public void m1(int a,int b)int i;int j=i+4;/編譯出錯,變量i尚未初始化int k=a+b;34變量作用域與生存期 變量的作用域也稱變量的作用范圍,即一個變量在多大的范圍內可以使用:成員變量的作用域與其所屬對象的作
18、用域相同局部變量的作用域就是它所在的方法或語句塊。變量的生存期即變量的生存時間:局部變量的生存期就是其所在方法或語句塊單次執行的期間在程序每一次調用方法或運行進入到一個語句塊中時,其中的局部變量才被創建并可用,隨方法/語句塊的退出,局部變量將被銷毀。成員變量的生存期與其所屬的對象相同,隨著對象的創建而創建、隨對象的銷毀而銷毀。35數據存儲細節 計算機的物理內存在操作系統和JVM中使用時分為堆內存和棧內存兩種方式:堆內存(Heap Memory)由所有的應用程序公用,存儲空間分配不連續,存儲容量大。在堆內存中分配存儲空間和進行存取操作速度較慢。棧內存(Stack Memory)由特定應用程序專用
19、,存儲空間是連續的,以棧的方式(后進先出)進行管理,存儲容量小,但訪問速度快。Java程序運行時,局部變量保存在棧內存中,而對象及其成員變量保存在堆內存中。36變量作用域舉例class Cprivate int a=1;private int b=5;public void m1()int i=4,j=5;a=i+j;public void m2(int i)int j=8;a=i+j;System.out.println(a);public class TestVariablepublic static void main(String args)C c=new C();c.m1();int
20、 k=4;c.m2(k);37值傳遞 Java語言中進行賦值操作或函數調用中傳遞參數時,遵循值傳遞(Pass By Value)的原則,即傳遞的永遠是參數的值。Java值傳遞分為兩種不同情形:基本類型數據傳遞的是該數據的值本身。引用類型數據傳遞的是對對象的引用(句柄),而非對象本身。38值傳遞舉例(1)39值傳遞舉例(2)40值傳遞演示(1)41值傳遞演示(2)42值傳遞演示(3)43值傳遞演示(4)44值傳遞演示(5)45值傳遞演示(6)46值傳遞演示(7)47值傳遞演示(8)48值傳遞演示(9)49值傳遞演示(10)50值傳遞演示(11)51練習 1.練習值傳遞演示中的例程,Example
21、.java,體會和鞏固Java中值傳遞的思想。52關鍵字this(1)Java中為解決變量的命名沖突和不確定性問題,引入關鍵字this代表其所在方法的當前對象,具體可分為兩種情況:在普通方法中,關鍵字this代表方法的調用者、即本次調用了該方法的對象;在構造方法中,關鍵字this代表了該方法本次運行所創建的那個新對象。在Java方法中既可以直接使用本方法的局部變量,還可以使用方法當前對象的成員變量。53關鍵字this(2)public class QQFarmprivate int account;private int level;private int experience;public
22、QQFarm()public QQFarm(int a,int l,int e)this.account=a;this.level=l;this.experience=e;public void setAccount(int a)this.account=a;public void setLevel(int l)this.level=l;public void setExperience(int e)this.experience=e;public void setting()this.setAccount(3715500);this.setLevel(28);setExperience(50
23、00);/同this.setExperience(5000);public void display()System.out.println(account+-+level+-+experience);54標準輸入/輸出(1)讀取控制臺輸入import java.util.Scanner;public class TestInputpublic static void main(String args)Scanner s=new Scanner(System.in);System.out.println(請輸入你的姓名:);String name=s.nextLine();System.out
24、.println(請輸入年齡:);int age=s.nextInt();System.out.println(請輸入你的工資數額:);double salary=s.nextDouble();System.out.println(您的個人信息:n姓名:+name+t年齡:+age+歲t工資:+salary+元);55標準輸入/輸出(2)控制臺輸出的三種方式System.out.pirntln()輸出單個數據到控制臺上并換行。System.out.print()輸出單個數據但不換行。System.out.printf()提供增強的格式化輸出數據的功能。printf()方法語法格式System.out.printf(,);printf()應用舉例double salary=5000.0/3;System.out.printf(%10.2f,salary);56Java編碼慣例 命名慣例 分隔和縮進 使用注釋
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新DOC
- 2022年08月內蒙古呼倫貝爾市水利局所屬事業單位引進人才14人名師押題(I)模擬卷300題含答案(3套)
- 2022年01月2022年云南楚雄市中醫醫院招考聘用編外合同制人員23人強化練習卷VIII【3套】帶答案詳解析
- 2022年07月吉林省琿春市事業單位公開招聘178名工作人員(含專項公開招聘高校畢業生)500模擬卷[貳]3套含答案
- 2022年11月寧波市海曙區章水鎮人民政府下屬事業單位公開招考1名事業編制工作人員253名師押題(I)模擬卷300題含答案(3套)
- 2022年01月2022山東聊城市市屬事業單位綜合類崗位“水城優才”優秀青年人才引進39人強化練習卷VIII【3套】帶答案詳解析
- 2022年07月山西省壺關縣公開招考111名大學畢業生到村(社區)工作2模擬卷[貳]3套含答案
- 2022年11月廣西東蘭縣2023年自主公開招聘123名教師403名師押題(I)模擬卷300題含答案(3套)
- 2022年監理施工資料模版
- 2022年營銷大賽獲獎作品
- 2022年新建屠宰場可行性報告
- 2022年無錫軟件運維服務技術方案V12
- 中金豐頤靈活配置混合型證券投資
- 視覺游戲詳解
- 2022年沈陽市夜景照明工程集中控制系統
- 上投摩根管理有限公司
最新PPT
最新RAR
- 火電廠設計全套資料設計cad圖紙電氣cad圖紙
- 抗燃油系統電氣操作箱
- 手持氣吸式采棉機構的設計【7張CAD圖紙+畢業論文+開題報告+任務書+答辯稿+SolidWorks三維圖】
- 三孔連桿CAD零件圖
- 乳化瀝青稀漿混合料粘聚力實驗儀CAD裝配圖
- A0-紅薯磨漿機研磨裝置CAD部裝圖
- 壓力補償灌水器結構CAD總裝配圖
- A0-自動式生姜收獲機CAD總裝配圖
- LD1.0-001-A 履帶腿式移動機器人CAD總裝圖
- 鋁型材拉彎成型機液壓原理圖
- 自走式玉米收獲機液壓原理圖
- 蝸輪減速器箱體鉆3-M10孔的鉆床夾具CAD裝配圖
- 玩具電動車的結構SolidWorks三維圖
- 欠驅動蘋果采摘末端執行器CAD總裝配圖
- CMJ001-A0手持氣吸式采棉機CAD總裝圖