第2章Java基礎(chǔ)_第1頁
第2章Java基礎(chǔ)_第2頁
第2章Java基礎(chǔ)_第3頁
第2章Java基礎(chǔ)_第4頁
第2章Java基礎(chǔ)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章Java基礎(chǔ)-2- 掌握J(rèn)ava中的變量、常量、關(guān)鍵字 掌握J(rèn)ava的基本數(shù)據(jù)類型 掌握標(biāo)識符的定義 掌握J(rèn)ava中數(shù)據(jù)類型的轉(zhuǎn)換 掌握J(rèn)ava的運算符和表達(dá)式 掌握J(rèn)ava的流程控制結(jié)構(gòu) 掌握break、continue和return語句的用法和區(qū)別目標(biāo)-3-標(biāo)識符 Java中標(biāo)識符的命名必須滿足以下原則:p 標(biāo)識符必須以字母、下劃線(_)或美元符($)開頭,后面可以跟字母、數(shù)字、下劃線或美元符p 標(biāo)識符可以包含數(shù)字,但不能以數(shù)字開頭p 除下劃線“_”和“$”符號外,標(biāo)識符中不包含任何特殊字符,如空格p 標(biāo)識符區(qū)分大小寫,比如,“abc”和“Abc”是兩個不同的標(biāo)識符p 對于標(biāo)識符的長

2、度沒有限制p 不能使用Java關(guān)鍵字作為標(biāo)識符p 課本P45-4-分隔符 Java中分隔符分為兩類:p 沒有意義的空白符沒有意義的空白符 p 擁有確定含義的普通分隔符擁有確定含義的普通分隔符 包括空格、回車、換行和制表符包括空格、回車、換行和制表符(Tab) 普通分隔普通分隔符符名稱名稱功能說明功能說明大括號 用來定義程序塊,類,方法以及局部范圍中括號用來進(jìn)行數(shù)組的聲明,也可用來表示撤銷對數(shù)組的引用() 小括號在定義和調(diào)用方法時用來容納參數(shù)表,在控制語句或強制類型轉(zhuǎn)換組成的表達(dá)式中用來表示執(zhí)行或計算的優(yōu)先級 ;分號用來表示一條語句的結(jié)束 ,逗號在變量聲明中,用于分割變量表中的各個變量。在for

3、控制語句中用來將圓括號內(nèi)的語法連接起來 :冒號說明語句標(biāo)號。例如在三元運算符中使用 -5-常量 Java中用final關(guān)鍵字來定義常量,常量被設(shè)定后,不允許再進(jìn)行更改。 常量定義的格式如下所示:final var_name=var_value; 關(guān)鍵字關(guān)鍵字final表示這表示這個變量只能賦值一個變量只能賦值一次次 Java語言的任意數(shù)語言的任意數(shù)據(jù)類型之一據(jù)類型之一常量名,要符合常量名,要符合標(biāo)識符命名規(guī)則,標(biāo)識符命名規(guī)則,一般常量全部大一般常量全部大寫,用下劃線分寫,用下劃線分隔多個單詞隔多個單詞常量值常量值 示例final double PI = 3.1415; /聲明了一個double

4、型的常量,值為3.1415-6-變量 變量是Java程序中最基本的存儲單元 變量必須先聲明再使用(強類型),格式如下所示: var_name=var_value; Java語言的任意數(shù)語言的任意數(shù)據(jù)類型之一據(jù)類型之一變量名,要符合標(biāo)變量名,要符合標(biāo)識符命名規(guī)則,一識符命名規(guī)則,一般用小寫,當(dāng)有多般用小寫,當(dāng)有多個單詞時,從第二個單詞時,從第二個單詞開始,首字個單詞開始,首字母大寫母大寫變量初始值變量初始值 示例int count = 10; /聲明了一個int型的變量,初始值為10int i,j,k;/聲明了三個int型變量,沒有賦初始值-7-數(shù)據(jù)類型-1 Java是一門強類型語言。即所有的變

5、量都必須顯式聲明其類型 Java的數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型和引用類型 引用,就是指針了,就是說對象指向的不是數(shù)據(jù)本身,而是它所在的內(nèi)存地址. 基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)-8-數(shù)據(jù)類型-2 基本數(shù)據(jù)類型容納的值及其范圍類型類型大?。ㄎ唬┐笮。ㄎ唬┤≈捣秶≈捣秶鷅yte(字節(jié)型)8-2727-1short(短整型)16-215215-1int(整型

6、)32-231231-1long(長整型)64-263263-1double(雙精度)323.4e-383.4e+38float(浮點型)641.7e-381.7e+38boolean(布爾型)1true / falsechar(字符型)16u0000uFFFF-9-數(shù)據(jù)類型-3 轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義ddd1到3位8進(jìn)制數(shù)所表示的字符uxxxx1到4位16進(jìn)制數(shù)所表示的字符單引號”雙引號反斜杠b退格r回車n換行t制表符-10- * java 程序設(shè)計 * 如果要實現(xiàn)上面的效果就需要使用轉(zhuǎn)義字符 public class B public static void main(Strin

7、g args) System.out.println(* java 程序設(shè)計 *); -11-數(shù)據(jù)類型-4 引用類型類型類型說明說明數(shù)組具有相同數(shù)據(jù)類型的變量的集合 類(class)變量和方法的集合。如Employee類包含了員工的詳細(xì)信息和操作這些信息的方法接口(interface)是一系列方法的聲明,方法特征的集合。可以實現(xiàn)Java中的多重繼承枚舉(enum)枚舉類型是一種獨特的值類型,它用于聲明一組命名的常數(shù)注解(annotation)Annotation提供一種機制,將程序的元素如:類,方法,屬性,參數(shù),本地變量,包和元數(shù)據(jù)聯(lián)系起來-12-注意幾點:對于整數(shù),默認(rèn)數(shù)據(jù)類型為int對于浮

8、點數(shù),默認(rèn)數(shù)據(jù)類型是double,在java中D或d可以沒有,但是F或者f不能沒有-13-類型轉(zhuǎn)換-1 在Java中,數(shù)據(jù)的類型如果是相容的,那么一種數(shù)據(jù)類型可以轉(zhuǎn)換成另外一種數(shù)據(jù)類型。 數(shù)據(jù)類型轉(zhuǎn)換的方式有“自動類型轉(zhuǎn)換”和“強制類型轉(zhuǎn)換”兩種 。-14- 自動類型轉(zhuǎn)換 將一種類型的變量賦給另一種類型的變量時,就會發(fā)生自動類型轉(zhuǎn)換 ,發(fā)生自動類型轉(zhuǎn)換需要滿足: 如下面箭頭的指向,在運算時基本數(shù)據(jù)類型可以進(jìn)行自動類型轉(zhuǎn)換 類型轉(zhuǎn)換-2兩種類型兼容兩種類型兼容目標(biāo)類型大于源類型目標(biāo)類型大于源類型byteshortcharintlongfloatdouble -15- 強制類型轉(zhuǎn)換 表示范圍大的數(shù)

9、據(jù)類型要轉(zhuǎn)換成表示范圍小的數(shù)據(jù)類型,需要用到強制類型轉(zhuǎn)換 ,語法格式如下: 示例: 課本P45類型轉(zhuǎn)換-3data_type var1=(data_type)var2; 目標(biāo)類型目標(biāo)類型目標(biāo)變量目標(biāo)變量源變量源變量int i = 10;byte b = (byte) i; / 把int型變量i強制轉(zhuǎn)換為byte型-16-變量的作用域 變量被定義為只在某個程序塊內(nèi)或只在方法體內(nèi)部有效,這種類型的變量通常被稱為“局部變量”,局部變量的作用范圍有限,只在相應(yīng)的方法體內(nèi)或程序塊內(nèi)有效,超出程序塊,這些變量無效。 聲明一個變量后,聲明語句到所在作用域結(jié)束的這部分程序為此變量的有效范圍。在某個作用域內(nèi)聲明

10、的一個變量后,該變量就成為了局部變量,出了變量作用域,該變量即不能再被訪問。另外,在一個確定的域中,變量名必須是唯一的。-17-變量的初始化局部變量在使用之前必須被初始化,也就是至少被賦值一次??梢月暶鞯耐瑫r賦值:int i = 10;String s = “abcd”;也可以聲明以后再賦值:int i;String s;i = 99;s = “xyz”;-18-例題: public class B public static void main(String args) int age; age=age+1; System.out.println(the age is +age); A 編譯

11、通過,運行無輸出 B編譯通過,運行輸出 the age is 1 C編譯通過但運行時出錯 D不能編譯通過 -19-運算符 對數(shù)據(jù)進(jìn)行運算時,需要使用各種不同的運算符 在Java語言中,運算符分為下面幾類:p算術(shù)運算符算術(shù)運算符p比較運算符比較運算符p邏輯運算符邏輯運算符p位運算符位運算符p賦值運算符賦值運算符p條件運算符條件運算符-20-運算符-1 算術(shù)運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例+ 加a+b%取模a%b-減或負(fù)號a-b,-b+自增a+,+a*乘a*b-自減a-,-a/除a/b 示例 public class MathOP public st

12、atic void main(String args) int a = 13; / 聲明int變量a,并賦值為13 int b = 4; / 聲明int變量b,并賦值為4 System.out.println(a+b= + (a + b); / 輸出a/b的值 System.out.println(a-b= + (a - b); / 輸出a/b的值 程序輸出:程序輸出: 17 9-21- 注意: 課本P24 注意a+和+a之間的區(qū)別 public class B public static void main(String args) int age1=4; int age2=age1+; S

13、ystem.out.println(the age1 is +age1); System.out.println(the age2 is +age2); 如果將int age2=+age1;看結(jié)果又將如何?-22-運算符-2 比較運算符(需要注意=和=和大于ab=大于等于a=b小于ab=小于等于ab = + (a b); System.out.println(ab = + (a b); 輸出:輸出: true false-23-運算符-3 邏輯運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例!非!a&與a&b|或a|b 示例 public class BooleanOP publi

14、c static void main(String args) boolean trueValue = true; / 聲明boolean變量t,并賦值為true boolean falseValue = false; / 聲明boolean變量f,并賦值為false System.out.println(!trueValue= + !trueValue); System.out.println(falseValue&true= + (falseValue & true); System.out.println(trueValue|true= + (trueValue | tr

15、ue); 輸出:輸出: false false true-24-運算符-4 位運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義說明說明示例示例 按位非(NOT) 按位非也叫做補,一元運算符NOT“”是對其運算數(shù)的每一位取反。 00101010= 11010101 &按位與(AND) 按位與運算符“&”,如果兩個運算數(shù)都是1,則結(jié)果為1。其他情況下,結(jié)果均為零。 00101010 & 00001111 = 00001010 |按位或(OR) 按位或運算符“|”,任何一個運算數(shù)為1,則結(jié)果為1。 00101010 | 00001111 = 00101111 按位異或(XOR) 按位異或

16、運算符“”,只有在兩個比較的位不同時其結(jié)果是1。 左移 value num。左移運算符使指定值的所有位都左移num位。每左移一個位,高階位都被移出(并且丟棄),并用0填充右邊。 11111000 右移 右移運算符使指定值的所有位都右移num位。當(dāng)值中的某些位被“移出”時,這些位的值將丟棄。右移時,被移走的最高位(最左邊的位)由原來最高位的數(shù)字補充。 11111000 1 = 11111100 無符號右移無符號右移運算符使指定值的所有位都右移num位。當(dāng)值中的某些位被“移出”時,這些位的值將丟棄。右移時,被移走的最高位(最左邊的位)固定由0補充。11111000 1 = 01111100 -25

17、-課本P26,概念短路與|短路非例題:public class Bpublic static void main(String args) if(10 !=10 & 10/0=0)System.out.println(條件滿足 );elseSystem.out.println(條件不滿足 );將條件改為if(10 !=10 & 10/0=0)看一下結(jié)果?-26- 位運算符: 課本P29-27-運算符-5 賦值運算符 賦值運算符為一個單獨的等于號“=”,它將值賦給變量 。如: int i = 3; 此外賦值運算符可以與算術(shù)運算符結(jié)合成一個運算符。如: i+=3; / 等效于i=i

18、+3運算符運算符示例示例運算符運算符示例示例+=a += b /=a /= b -=a -= b %=a %= b*=a *= b 類似的賦值運算符如下表所示: -28-運算符-6 條件運算符(課本P45) 條件運算符是三元運算符,語法格式為 : ?e1:e2 表達(dá)式值的類型為布爾類型,若表達(dá)式的值為真,則返回e1的值;表達(dá)式的值為假,則返回e2的值。 示例 public class ThreeOP public static void main(String args) int num1 = 3, num2 = 6; boolean result = (num1 num2) ? true :

19、 false; System.out.println(result); 演示結(jié)果:演示結(jié)果: false -29-運算符-7 運算符優(yōu)先級 優(yōu)先級是指同一表達(dá)式中多個運算符被執(zhí)行的次序,在表達(dá)式求值 時,先按運算符的優(yōu)先級由高到低的次序執(zhí)行。Java中運算符優(yōu)先級課本P30。 括號()具有最高優(yōu)先級,我們在編寫代碼的時候盡量多用括號(),從而避免去死記這個優(yōu)先級表。-30-流程控制 Java程序通過控制語句來執(zhí)行程序流,從而完成一定的任務(wù)。 22 Java中的控制語句有以下幾類:p分支結(jié)構(gòu):分支結(jié)構(gòu):if-else,switchp迭代結(jié)構(gòu):迭代結(jié)構(gòu):while,do-while,forp轉(zhuǎn)移語

20、句:轉(zhuǎn)移語句:break,continue,return -31-流程控制-1 分支結(jié)構(gòu) 分支結(jié)構(gòu)是根據(jù)假設(shè)的條件成立與否,再決定執(zhí)行什么樣語句的結(jié)構(gòu),它的作用是讓程序更具有選擇性。Java中通常將假設(shè)條件以布爾表達(dá)式的方式實現(xiàn)。Java語言中提供的分支結(jié)構(gòu)有:p if-else語句語句p switch語句語句 -32-流程控制-1-1 if-else語句 if-else語句是最常用的分支結(jié)構(gòu)。if-else語句的語法結(jié)構(gòu)如下 。 if(condition)statement1;else statement2; 布爾表達(dá)式,布爾表達(dá)式,結(jié)果為結(jié)果為true或或false statement1和

21、和statement2都是表示語句都是表示語句塊。當(dāng)塊。當(dāng)condition為為true時時執(zhí)行前者,反之執(zhí)行后執(zhí)行前者,反之執(zhí)行后者者-33-流程控制-1-2 switch語句 一個switch語句有一個控制表達(dá)式和一個由case標(biāo)記表述的語句塊組成。語法如下 。 switch(expression) case value1: statement1; break; case value2 : statement2; break; case valueN: statementN; break; default:defaultStatement; 表達(dá)式必須為表達(dá)式必須為byte,short,i

22、nt或或char類型類型 value的值必須是與表的值必須是與表達(dá)式類型兼容的特定的達(dá)式類型兼容的特定的一個常量一個常量,并且不允許,并且不允許重復(fù)重復(fù)-34-流程控制語句 選擇結(jié)構(gòu) switch語句使用注意事項 表達(dá)式的值必須是整型(byte、short、int)或者字符型(char)數(shù)據(jù);能夠自動轉(zhuǎn)型為int類型的數(shù)據(jù) 一個switch語句中,可以有任意多個case語句,但是每個case之后的常量值不能相同。case語句中的子語句體可以是一條或者多條語句;-35-流程控制語句 選擇結(jié)構(gòu) switch語句使用注意事項 一般情況下,每個case語句的最后是break語句,用來從整個switch

23、語句塊中跳出,繼續(xù)執(zhí)行switch語句塊下面的語句。如果沒有使用break語句,則繼續(xù)執(zhí)行下面的case語句中的字語句體,直到遇到break語句,或者整個switch語句結(jié)束; 當(dāng)所有case語句中的常量值都與表達(dá)式的值不相同時,則執(zhí)行default語句中的子語句體,如果沒有default語句,則不執(zhí)行任何內(nèi)容。-36-流程控制語句 選擇結(jié)構(gòu) switch語句中合并case子語句switch ( month )case 1: case 3: case 5: case 7: case 8: case 10: case 12:System.out.println( “31天” ); break;case 4: case 6: case 9: case 11: System.out.println( “30天” ); break;case 2: System.out.println( “28天” ); -37-流程控制-2 迭代結(jié)構(gòu) 迭代結(jié)構(gòu)的作用是反復(fù)執(zhí)行一段代碼,直到滿足終止循環(huán)的條件

溫馨提示

  • 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

提交評論