Java語言基礎(部分自學).ppt_第1頁
Java語言基礎(部分自學).ppt_第2頁
Java語言基礎(部分自學).ppt_第3頁
Java語言基礎(部分自學).ppt_第4頁
Java語言基礎(部分自學).ppt_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二講 Java語言基礎,任何程序設計語言,都是由語言規(guī)范和一系列開發(fā)庫組成的。如標準C,除了語言規(guī)范外,還有很多函數(shù)庫;MS Visual C+更是提供了龐大的APIs和MFC。 Java語言也不例外,也是由Java語言規(guī)范和Java開發(fā)包組成的。 學習任何程序設計語言,都是要從這兩方面著手,尤其是要能夠熟練地使用后者。,1、Java語言基本元素 2、Java數(shù)據(jù)類型 3、Java語言結構 4、Java控制語句,主要內(nèi)容,語言規(guī)范,標識符(Identifier) 保留字(Reserved Word ),1、Java語言基本元素,程序員對程序中的各個元素加以命名時使用的命名記號稱為標識符(id

2、entifier)包括:類名、變量名、常量名、方法名、 Java語言中,標識符是以字母,下劃線(_),美元符($)開始的一個字符序列,后面可以跟字母,下劃線,美元符,數(shù)字。 合法的標識符 identifier userName User_Name _sys_value $change 非法的標識符 2mailroom#class,1、Java語言基本元素 標識符,具有專門的意義和用途,不能當作一般的標識符使用,這些標識符稱為保留字(reserved word)。 abstract break byte boolean catch case class char continue default

3、 double do else extends false final float for finallyif import implements int interface instanceof long length native new null package private protected public final return switch synchronized short static super try true this throw throws threadsafe transient void while,1、Java語言基本元素 保留字,數(shù)據(jù)和返回值類型:int

4、, void, return 包/類/成員/接口:package, class, interface 訪問控制:public, private, protected 循環(huán)及循環(huán)控制:if, switch, break 例外處理:throw, try, finally 保留詞(無含義但不能使用):goto, const,1、Java語言基本元素 保留字:基本分類,在Java中,true、false和null都是小寫的。區(qū)別于C+中大寫的TRUE、FALSE和NULL。 不必死記這些關鍵詞,當理解每個關鍵詞的含義后,自然就記住了所有的關鍵詞。,1、Java語言基本元素 保留字:注意事項,2、Jav

5、a數(shù)據(jù)類型,常量(Constant) 變量(Variable) 數(shù)據(jù)類型(Data Type) 基本數(shù)據(jù)類型(Primary Data Types) 復合數(shù)據(jù)類型(Composite Data Types),Java中 的 常 量 值 是 用 文 字 串 表 示 的,它 區(qū) 分 為 不 同 的 類 型,如 整 型 常 量 123,實 型 常 量 1.23,字 符 常 量 a ,布 爾 常 量 true、false以 及 字 符 串 常 量 This is a constant string.。 與 C、 C+不 同,Java中 不 能 通 過 #define命 令 把 一 個 標 識 符 定

6、義 為 常 量,而 是 用 關 鍵 字 final來 定義,其定義格式為: final Type varName = value , varName =value ; final int globalAccount = 100, nationalAccount = 50; final double PI=3.14159,2、Java數(shù)據(jù)類型 常量,程序中的基本存儲單元,其定義包括變量名、變量類型和作用域幾個部分,定義格式為: Type varName = value , varName =value; int n = 3, n1 = 4; Java中變量的缺省初值都是確定的: 布爾變量的初值為

7、:false 整數(shù)變量的初值為:0 浮點數(shù)變量的初值為:0.0 引用(復合)變量的初值為:null 在方法實現(xiàn)中定義的變量必須顯式的初始化。 變量的作用域 指可訪問變量的一段代碼,在程序中不同的地方聲明的變量具有不同的作用域:局部變量、類變量、方法參數(shù)、例外處理參數(shù)。在一定的作用域內(nèi),變量名必須唯一。,2、Java數(shù)據(jù)類型 變量,2、Java數(shù)據(jù)類型 數(shù)據(jù)類型,所有基本類型所占的位數(shù)都是確定的,并不因操作系統(tǒng)的不同而不同。 所有基本類型的關鍵詞都是小寫的。,數(shù)據(jù)類型所占位數(shù)數(shù)的范圍 char 160 65535 byte 8-2727-1 short 16-215215-1 int 32-23

8、1231-1 long 64-263263-1 float 32 3.4e038 3.4e038 double 64 1.7e308 1.7e308,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型,布爾型數(shù)據(jù)只有兩個值true和false,且它們不對應于任何整數(shù)值 布爾型變量的定義如: boolean b = true; 布爾型數(shù)據(jù)只能參與邏輯關系運算: ,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:布爾類型(boolean),字符型數(shù)據(jù)代表16位的Unicode字符 字符常量是用單引號括起來的一個字符 a B n u0030 字符型數(shù)據(jù)的取值范圍為 065535 或者說 u0000uFFFF u0000為缺省值

9、 示例 char c1; 缺省值為0 char c2 = 0; 賦初值為字符0 char c3 = 32; 用整數(shù)賦初值為空格,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:字符類型(char),特殊字符的常量表示法: 反斜線(Backslash) 退格(Backspace)b 回車(Carriage return)r 進紙符(Form feed)f 制表符(Form feed)t 換行(New line)n 單引號(Single quote) 八進制數(shù)( 0377 )DDD Unicode字符uHHHH,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:字符類型(char),整型常量 1. 十進制整數(shù) 如123,4

10、56,0 2. 八進制整數(shù) 以0開頭,如0123表示十進制數(shù)83,011表示十進制數(shù)9。 3. 十六進制整數(shù) 以0 x或0X開頭,如0 x123表示十進制數(shù)291,0X12表示十進制數(shù)18。 整型變量 類型為byte、short、int或long,byte在機器中占8位,short占16位,int占32位,long占64位。整型變量的定義如: int x=123; /指定變量x為int型,且賦初值為123 byte b = 8; short s = 10; long y = 123L; long z = 123l;,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:整數(shù)類型(byte, short, int

11、, long),64位長整數(shù)以l或L結尾: 12l, -343L, 0 xfffffffffL 1L 32 等于 4294967296L 1 32 等于 0 沒有以l或L結尾的數(shù)字,根據(jù)其實際值所屬范圍,可以被用作byte,short,或int型整數(shù) 以l或L結尾的數(shù)字,無論其實際值所屬范圍怎樣,都被用作long型整數(shù),2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:整數(shù)類型(byte, short, int, long),示例 byte b1; 缺省值為0 byte b2 = 127; 賦初值為127 short s1 = (short)(b1 + b2); 強制類型轉(zhuǎn)換 short s2 = (sho

12、rt)(b1 + 123) 強制類型轉(zhuǎn)換 int n = b1 + b2; 不需要強制類型轉(zhuǎn)換 long l1 = 2343; 不需要強制類型轉(zhuǎn)換 long l2 = 4294967296L; 必須用L或l結尾 long l3 = 65536*63356; 乘法運算越界,l3為0 long l4 = 65536L*63356; l4為4294967296L,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:整數(shù)類型(byte, short, int, long),實型常量 1. 十進制數(shù)形式 由數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如0.123, .123, 123.,123.0 2. 科學計數(shù)法形式 如:12

13、3e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。 32位浮點數(shù)形式: 0.23f, 1.23E-4f , . 18F,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:浮點數(shù)類型,實型(float, double),實型變量 類型為float或double,float在機器中占32位,double占64位。實型變量的定義如: double d1 = 127.0; 賦初值為127 double d2 = 127; 賦初值為127 float f1 = 127.0f; 必須在數(shù)字后加f或F float f2 = 4.0e38f; 錯誤!32位浮點數(shù)不能超過 3.40282346638

14、52886e38 float f3 = (float)d1; 必須強制類型轉(zhuǎn)換,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:浮點數(shù)類型,實型(float, double),public class Assign public static void main (String args ) int x , y ; byte b = 6; float z = 1.234f ; double w = 1.234 ; boolean flag = true ; char c ; c = A ; x = 12 ; y = 300; . ,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:使用舉例,自動類型轉(zhuǎn)換 整型、實型、字

15、符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進行運算,轉(zhuǎn)換從低級到高級: 低-高 byte,short,char int long float double,操作數(shù)1類型操作數(shù)2類型轉(zhuǎn)換后的類型 byte、short、charintint byte、short、char、intlonglong byte、short、char、int、longfloatfloat byte、short、char、int、long、floatdoubledouble,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:數(shù)據(jù)類型轉(zhuǎn)換,數(shù)據(jù)類型轉(zhuǎn)換必須滿足如下規(guī)則: 不能對boolean類型進行類型轉(zhuǎn)換。 不能

16、把對象類型轉(zhuǎn)換成不相關類的對象。 在把容量大的類型轉(zhuǎn)換為容量小的類型時必須使用強制類型轉(zhuǎn)換。 轉(zhuǎn)換過程中可能導致溢出或損失精度 int i = 8; byte b=(byte)i; (byte)255 = -1(byte)0 x5634 = 0 x34 浮點數(shù)到整數(shù)的轉(zhuǎn)換是通過舍棄小數(shù)得到,而不是四舍五入 (int)23.7 = 23(int)-45.89f = -45,2、Java數(shù)據(jù)類型 基本數(shù)據(jù)類型:數(shù)據(jù)類型轉(zhuǎn)換,數(shù)組Array ,類 class,接口interface屬于引用 類型。 引用 類型的變量是所引用的對象的內(nèi)存地址。,class MyDate private int day

17、= 1; private int month = 1; private int year = 2000; public MyDate( int day, int month, int year) . public void print() . public class TestMyDate public static void main( String args) MyDate my_ birth = new MyDate( 22, 7, 1964); ,2、Java數(shù)據(jù)類型 復合(引用)數(shù)據(jù)類型,引用數(shù)據(jù)類型(reference type),創(chuàng)建一個類對象: MyDate my_ birth

18、 = new MyDate( 22, 7, 1964);,引用數(shù)據(jù)類型(reference type),兩個引用變量的賦值將會產(chǎn)生如下結果: int x = 7; int y = x; MyDate s = new MyDate( 22, 7, 1964); MyDate t = s; 兩個變量指向同一個對象:,運算符(Operator)和表達式(Expression) 注釋(Comment) 語句(Statement) 代碼段(Code Block) 作用域(Scope),3、Java語言的結構,(1)運算符 算術運算符: +,*,/,%,+, 關系運算符: ,=,)結尾的單一命令是一條語句

19、(Statement),一條語句一般是一行代碼,但也可以占多行代碼。 int a = 1; / 變量定義及初始化語句 用大括號( )圍起來的多條語句構成一個代碼段(Code block);同時代碼段也大括號前的一些修飾性描述: class Aclass for (int i=0; i=1; i+) ,3、Java語言的結構 語句和代碼段,作用域(Scope)決定了變量可使用的范圍 全局變量(Global variables):變量可以在整個類中被訪問; 局部變量( Local variables ):變量只能在定義其的代碼段中被訪問。 使用局部變量比使用全局變量更安全。,3、Java語言的結構

20、 作用域,變量的作用域,在類體中聲明的類成員變量,可在該類的各個成員方法中使用; 在某個方法體中或參數(shù)表中聲明的變量,只能在該方法體中使用; 在一個代碼段中定義的變量只能在該代碼段或者該代碼段的子代碼段中可見。,public class VariableScope public static void main(String arge ) int x; x = 10; if ( x = = 10 ) int y = 20; System.out.println( x = + x); System.out.println( y = + y); System.out.println( x = +

21、x); System.out.println(“ y = ” + y); ,在 Java 語言中,嵌套的程序塊的內(nèi)層與外層,不允許定義相同的變量名,否則將導致編譯錯誤。 public class ScopeError public static void main(String arge ) int E = 999; int E = 999; System.out.println( E = + E); ,4、Java控制語句,分支語句:if-else, switch 循環(huán)語句:while, do-while, for 與程序轉(zhuǎn)移有關的其它語句: break, continue, return

22、例外處理語句:try-catch-finally, throw,if(boolean-expression1) statements1; else if(boolean-expression2) statements2; else statementsN; ,4、Java控制語句 條件語句 if-else,布爾表達式boolean-expression是任意一個返回布爾數(shù)據(jù)類型的表達式,而且必須是(比C或C +要嚴格)。 與C或C+一樣,每個單一語句后面都要有分號。為了增強程序的可讀性,應將if或else后的語句用括起來。 else子句是任選的,不能單獨作為語句使用,它必須和if語句配對使用,

23、并且總是與離它最近的if配對。,int i1 = 123; int i2 = 456; if( i1i2 ) System.out.println(“The bigger one is: ”+i1); else System.out.println(“The bigger one is: ”+i2); ,4、Java控制語句 條件語句 if-else,switch (expression) case value1 : statements1; break; case valueN : statementsN; break; default : defaultStatements; ,4、Jav

24、a控制語句 多分支語句 switch,表達式expression的返回值類型必須是這幾種類型之一:int、byte、char、short。 case子句中的值valueI必須是常量,而且所有case子句中的值應是不同的。 default子句是任選的。 break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。 (如果某個case分支后沒有break語句,程序?qū)⒉辉僮霰容^而執(zhí)行下一個分支。) switch語句的功能可以用if-else語句來實現(xiàn),但某些情況下,使用switch語句更簡煉。,4、Java控制語句 多分支語句 switch,int a =

25、 100; int b = 20; int c; char oper = +; switch(oper) case +: c = a b; break; case -: c = a - b; break; default : c = a * b; break; ,4、Java控制語句 多分支語句 switch,循環(huán)語句 while(當型循環(huán)) initialization /初始化條件 while (termination) /循環(huán)條件 body; /循環(huán)體 iteration; /迭代,變更循環(huán)條件 當表達式termination為true時,執(zhí)行中的語句,否則終止循環(huán)。,4、Java控制語

26、句 循環(huán)語句 while(當型循環(huán)),循環(huán)語句 do-while(直到型循環(huán)) initialization /初始化條件 do body; /循環(huán)體 iteration; /迭代,變更循環(huán)條件 while (termination) ; /循環(huán)條件 首先執(zhí)行一遍中的語句,當表達式termination為true時,繼續(xù)執(zhí)行中的語句,否則終止循環(huán)。,4、Java控制語句 循環(huán)語句 do-while(直到型循環(huán)),循環(huán)語句 for(另一種當型循環(huán)) for (initialization; termination; iteration) body; /循環(huán)體 initialization /初始

27、化條件 termination /循環(huán)條件 iteration /迭代,變更循環(huán)條件,4、Java控制語句 循環(huán)語句 for(另一種當型循環(huán)),for語句執(zhí)行時,首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。 初始化、終止以及迭代部分都可以為空語句(但分號不能省),三者均為空的時候,相當于一個無限循環(huán)。 在初始化部分和迭代部分可以使用逗號語句,來進行多個操作。逗號語句是用逗號分隔的語句序列。 for( int i=0, int j=10; ij; i+, j-) ,4、Java控制語句 循環(huán)語句 for(另一種

28、當型循環(huán)),int n = 1, sum = 0; while ( n=10 ) sum = sum + n; n+; ,int n = 10, sum = 0; do sum += n; n-; while( n0);,int sum =0; for( int i=1; i=10; i+ ) sum += i; ,while循環(huán),do-while循環(huán),for循環(huán),4、Java控制語句 循環(huán)語句,在switch語中,break語句用來終止switch語句的執(zhí)行,使程序從整個switch語句后的第一條語句開始執(zhí)行。 在循環(huán)語句中,break用于終止并跳出循環(huán),從緊跟著循環(huán)體代碼段后的語句執(zhí)行。 在Java中,可以為每個代碼塊加一個標號,一個代碼塊通常是用大括號括起來的一段代碼。加標號的格式為: BlockLabel: codeBlock; break語句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。 BlockLabel: codeBlock; break BlockLabel; co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論