JAVA_Session02_第1頁
JAVA_Session02_第2頁
JAVA_Session02_第3頁
JAVA_Session02_第4頁
JAVA_Session02_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、幻燈片幻燈片 1課程課程 2版本版本 1.0 Java 編程語言編程語言 在本課中,您將學(xué)習(xí): 區(qū)分有效和無效的標(biāo)識(shí)符 列出八種原始類型 定義數(shù)字和文本類型的字面值 定義術(shù)語原始變量和引用變量 聲明類的類型的變量 使用 new 構(gòu)建對(duì)象 描述默認(rèn)初始化 區(qū)分實(shí)例和本地變量 目標(biāo)目標(biāo) 幻燈片幻燈片 2課程課程 2版本版本 1.0 Java 編程語言編程語言 目標(biāo)(續(xù))目標(biāo)(續(xù)) 描述如何初始化實(shí)例變量 在控制構(gòu)建中確定布爾表達(dá)式和其要求 辨認(rèn)基本類型中的賦值兼容性和必需的轉(zhuǎn)型 在程序中使用 if、switch、for、while 和 do 構(gòu)建和 break 和 continue 的標(biāo)記的形式作

2、為流控制結(jié)構(gòu) 幻燈片幻燈片 3課程課程 2版本版本 1.0 Java 編程語言編程語言 標(biāo)識(shí)符標(biāo)識(shí)符 標(biāo)識(shí)符是對(duì)變量、類或方法給出的名稱。 標(biāo)識(shí)符具有以下特征: 可以使用 Unicode 字母、下劃線 (_) 或美元符號(hào) ($) 來開始 Unicode 字母: AZ az Unicode字符集中序號(hào)大于0 xC0的所有符號(hào) 大小寫敏感和沒有最大長(zhǎng)度限制 有效標(biāo)識(shí)符的示例: identifier userName user_name _sys_var1 $change 幻燈片幻燈片 4課程課程 2版本版本 1.0 Java 編程語言編程語言 具有專門的意義和用途,不能當(dāng)做一般的標(biāo)識(shí)符使用,這些

3、標(biāo)識(shí)符稱為保留字(reserved word)。 在Java中,常量 true、false、null 都是小寫的。 在Java中,沒有 sizeof 操作符,所有數(shù)據(jù)類型的長(zhǎng)度都是確 定的,與具體平臺(tái)無關(guān)。 Java 保留字保留字 幻燈片幻燈片 5課程課程 2版本版本 1.0 Java 編程語言編程語言 數(shù)據(jù)類型劃分?jǐn)?shù)據(jù)類型劃分 Java 編程語言支持兩種基本數(shù)據(jù)類型: 原始類型 類的類型 幻燈片幻燈片 6課程課程 2版本版本 1.0 Java 編程語言編程語言 常量和變量常量和變量 在程序中使用各種數(shù)據(jù)類型是通過其實(shí)例化后的數(shù)據(jù)來實(shí)現(xiàn) 的,各種數(shù)據(jù)類型實(shí)例化后的表示方式分為兩種: 常量:Ja

4、va中的常量值是用文字串表示的,它區(qū)分為不同的類 型,如 整型常量 123 實(shí)型常量 1.23 字符型常量 a 布爾型常量 true或false 字符串常量”This is a constant string.” 變量:是Java程序中的基本存儲(chǔ)單元,其定義包括變量類型、 變量名和作用域。變量的作用域指明可訪問該變量的代碼范圍。 局部變量 類變量 方法參數(shù) 例外處理參數(shù) 幻燈片幻燈片 7課程課程 2版本版本 1.0 Java 編程語言編程語言 原始數(shù)據(jù)類型是簡(jiǎn)單的值,不是對(duì)象。 Java 編程語言定義八種原始數(shù)據(jù)類型,其可分為以下四類: 邏輯型 boolean 文本型 char 整數(shù)型 byt

5、e, short, int, and long 浮點(diǎn)型 double and float 原始數(shù)據(jù)類型原始數(shù)據(jù)類型 幻燈片幻燈片 8課程課程 2版本版本 1.0 Java 編程語言編程語言 Java Primitive Data Types TypeDefaultSizeRangeWrapper type boolean falseNANABoolean char u000016 bits0 to 216-1Character byte 08 bits-128 to 127Byte short 016 bits-215 to 215-1Short int032 bits-231 to 231-

6、1Integer long0L64 bits-263 to 263-1Long float 0.0f32 bitsIEEE 754Float double 0.0d64 bitsIEEE 754Double voidNANANAVoid 幻燈片幻燈片 9課程課程 2版本版本 1.0 Java 編程語言編程語言 類的數(shù)據(jù)類型類的數(shù)據(jù)類型 類的類型用于更復(fù)雜的類型,包括您自己聲明的所有類型。 他們用來創(chuàng)建對(duì)象。 幻燈片幻燈片 10課程課程 2版本版本 1.0 Java 編程語言編程語言 變量、聲明和賦值變量、聲明和賦值 在 Java 中聲明和向變量賦值可能的方式如下所示: public class

7、 Assign public static void main (String args) / declare and assign values to int integer variables int x=6, y=1000; / declare and assign floating point float z = 3.414f; / declare and assign boolean boolean truth = true; / declare and assign String variable String str1 = bye; / declare and assign va

8、lue to char variable char c = A; 幻燈片幻燈片 11課程課程 2版本版本 1.0 Java 編程語言編程語言 Java 引用類型引用類型 在 Java 技術(shù)中,超出原始類型的所有其他數(shù)據(jù)類型是引用類 型。 引用變量包含到對(duì)象的句柄。 例如: public class MyDate private int day = 1; private int month = 1; private int year = 2000; public MyDate(int day, int month, int year) . public String toString() . 幻

9、燈片幻燈片 12課程課程 2版本版本 1.0 Java 編程語言編程語言 Java 引用類型(續(xù))引用類型(續(xù)) public class TestMyDate public static void main(String args) MyDate today = new MyDate(22, 7, 1964); 變量today是占有 MyDate 類的一個(gè)對(duì)象的引用變量。 幻燈片幻燈片 13課程課程 2版本版本 1.0 Java 編程語言編程語言 構(gòu)建和初始化對(duì)象構(gòu)建和初始化對(duì)象 調(diào)用 new xyz() 來執(zhí)行以下操作: 為對(duì)象分配內(nèi)存 執(zhí)行明確的屬性初始化 執(zhí)行構(gòu)建器 由 new 操作符

10、返回對(duì)象引用 對(duì)對(duì)象的引用賦值給變量 例如: MyDate my_birth = new MyDate(22, 7, 1964); 幻燈片幻燈片 14課程課程 2版本版本 1.0 Java 編程語言編程語言 值傳遞值傳遞 在單獨(dú) Java 虛擬機(jī)中,Java 編程語言僅通過值傳遞參數(shù)。 當(dāng)對(duì)象實(shí)例作為參數(shù)傳遞給方法時(shí),參數(shù)的值是對(duì)對(duì)象的引 用。 對(duì)象的內(nèi)容可在調(diào)用的方法中更改,但是原始的對(duì)象引用不 會(huì)被更改。 幻燈片幻燈片 15課程課程 2版本版本 1.0 Java 編程語言編程語言 值傳遞(續(xù))值傳遞(續(xù)) 按值傳遞:所謂按值傳遞就是在方法內(nèi)部改變參數(shù)的值并 不會(huì)影響傳遞進(jìn)來的外部對(duì)象,例如

11、: int i = 1; public void increment(int i) i+; System.out.println(i); /輸出為2 System.out.println(i); /輸出為1 幻燈片幻燈片 16課程課程 2版本版本 1.0 Java 編程語言編程語言 值傳遞(續(xù))值傳遞(續(xù)) 按引用傳遞:引用傳遞和按值傳遞相反,它會(huì)影響傳遞進(jìn) 來的外部對(duì)象;在Java只有按值傳遞,可能有人會(huì)奇怪傳 遞進(jìn)來如果是對(duì)象,它會(huì)改變對(duì)象的值,例如: public class Test int i; public void increment(Test t) t.i+; System.o

12、ut.println(i); /輸出為1 public static void main(String args) Test t = new Test(); t.increment(t); System.out.println(t.i); /輸出也為1 幻燈片幻燈片 17課程課程 2版本版本 1.0 Java 編程語言編程語言 值傳遞(續(xù))值傳遞(續(xù)) 這的確是改變了對(duì)象的值,但它并沒有改變對(duì)象引用的值, 它還是指向原來的對(duì)象,我們傳遞進(jìn)來的是對(duì)象引用并不 是對(duì)象。 造成認(rèn)為是引用傳遞這種認(rèn)識(shí),主要是沒有理解對(duì)象和對(duì) 象引用的區(qū)別,我們可以將對(duì)象理解為氣球,而對(duì)象引用 可理解為拉著氣球的線,所

13、以這還是按值傳遞。 幻燈片幻燈片 18課程課程 2版本版本 1.0 Java 編程語言編程語言 this 引用引用 this 關(guān)鍵字的兩種用法: 解析實(shí)例變量和參數(shù)之間的模糊性 將當(dāng)前對(duì)象作為參數(shù)傳遞給另一個(gè)方法或構(gòu)建器 假設(shè)一個(gè)對(duì)象有兩個(gè)事例a和b,a和b都可以調(diào)用peel()方法: public class Banana void peel (int i) /* */ Public class BananaPeel public static void main (String args) Banana a = new Banana(); b = new Banana(); a.peel(

14、1); b.peel(2); Banana.peel(a,1); Banana.peel(b,2); 幻燈片幻燈片 19課程課程 2版本版本 1.0 Java 編程語言編程語言 this 引用引用 this 關(guān)鍵字只能用在non-static方法中,用來引用當(dāng)前 對(duì)象,其值是調(diào)用該方法的對(duì)象。 如果在一個(gè)類的某個(gè)方法里面調(diào)用該類的另一個(gè)方法,不需 要使用this關(guān)鍵字: public class Apricot void pick() /* */ void pit() pick(); /* */ 幻燈片幻燈片 20課程課程 2版本版本 1.0 Java 編程語言編程語言 讓我們來看如何在 Ja

15、va 類中定義引用類型實(shí)例變量,操作由此 變量引用的對(duì)象。 示范示范 幻燈片幻燈片 21課程課程 2版本版本 1.0 Java 編程語言編程語言 Java 編程語言編碼約定編程語言編碼約定 編碼約定的示例: 包: com.example.domain; 類、接口和 enum 類型: SavingsAccount 方法: getAccount() 變量: CurrentCustomer 常量: HEAD_COUNT 幻燈片幻燈片 22課程課程 2版本版本 1.0 Java 編程語言編程語言 變量和作用域變量和作用域 方法內(nèi)定義的變量稱之為本地變量,也稱之為自動(dòng)、臨時(shí)或 堆棧變量。本地變量必須在第

16、一次使用之前被初始化。 當(dāng)使用 new xxx() 調(diào)用構(gòu)建對(duì)象時(shí),創(chuàng)建方法之外定義的變 量。它們有兩種類型: 靜態(tài)變量:靜態(tài)變量:當(dāng)加載類時(shí),創(chuàng)建它們,只要類加載后即存在。 實(shí)例變量:實(shí)例變量:它們沒有使用 static 關(guān)鍵字來聲明。它們只要對(duì) 象存在即存在。 幻燈片幻燈片 23課程課程 2版本版本 1.0 Java 編程語言編程語言 運(yùn)算符運(yùn)算符 幻燈片幻燈片 24課程課程 2版本版本 1.0 Java 編程語言編程語言 邏輯操作符邏輯操作符 布爾操作符: ! NOT if ( (d != null) y= + var1.y + ; z= + var1.z); System.out.pr

17、intln(The result is: + var2.add(); 如果+運(yùn)算符的一個(gè)參數(shù)是String對(duì)象,那么另一個(gè)參數(shù)被轉(zhuǎn) 換為String對(duì)象。 幻燈片幻燈片 28課程課程 2版本版本 1.0 Java 編程語言編程語言 轉(zhuǎn)型轉(zhuǎn)型 轉(zhuǎn)型指將一種類型的值賦給另一類型的變量。 如果信息可能在賦值中丟失,程序員必須確認(rèn)具有轉(zhuǎn)型的賦 值。 在 long 和 int 之間的賦值要求顯式轉(zhuǎn)型。 轉(zhuǎn)型的示例: long bigValue = 99L; int squashed = bigValue; / Wrong, needs a cast int squashed = (int) bigVal

18、ue; / OK int squashed = 99L; / Wrong, needs a cast 幻燈片幻燈片 29課程課程 2版本版本 1.0 Java 編程語言編程語言 表達(dá)式的提升和轉(zhuǎn)型表達(dá)式的提升和轉(zhuǎn)型 變量自動(dòng)提升為更長(zhǎng)的形式(如 int 到 long)。 表達(dá)式是賦值兼容的,如果變量類型至少與表達(dá)式類型一樣 大(相同的位數(shù))。 例如: long bigval = 6; / 6 is an int type, OK int smallval = 99L; / 99L is a long, illegal double z = 12.414F; / 12.414F is float

19、, OK float z1 = 12.414; / 12.414 is double, illegal 幻燈片幻燈片 30課程課程 2版本版本 1.0 Java 編程語言編程語言 分支語句分支語句 條件語句根據(jù)一些表達(dá)式的值選擇性地執(zhí)行程序的部分。 簡(jiǎn)單的 if、else 語句: 語法: if ( ) 復(fù)雜的 if、else 語句: 語法: if ( ) else if else 幻燈片幻燈片 31課程課程 2版本版本 1.0 Java 編程語言編程語言 switch 語句語句 switch 語句: 語法: switch ( ) case : * break; case : * break; default * break; 在 switch () 語句中, 必 須是與 int 類型兼容的表達(dá)式。 幻燈片幻燈片 32課程課程 2版本版本 1.0 Java 編程語言編程語言 循環(huán)語句循環(huán)語句 循環(huán)語句使您重復(fù)執(zhí)行語句的塊。 Java 編程語言支持三種類型的循環(huán)構(gòu)建: for 循環(huán) while 循環(huán) do/while 循環(huán) 幻燈片幻燈片 33課程課程 2版本版本 1.0 Java 編程語言編程語言 特殊循環(huán)流控制特殊循環(huán)流控制 以下語句可用于進(jìn)一步控制循環(huán)語句: break ; 命令 continue ; 命令 : 命令,其中 應(yīng)是 循環(huán) 幻燈片幻燈片 34課程課程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論