《Java 語(yǔ)言基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《Java 語(yǔ)言基礎(chǔ)(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Java 語(yǔ)言基礎(chǔ)q程序結(jié)構(gòu)q語(yǔ)句規(guī)則q語(yǔ)言基本 單位行行言言Java 概述面向?qū)ο蠡靖拍頙ava 語(yǔ)言基礎(chǔ)OO 程序設(shè)計(jì)(上)對(duì)象與類數(shù)據(jù)結(jié)構(gòu)與語(yǔ)言基礎(chǔ)類圖形用戶界面OO 程序設(shè)計(jì)(下)高級(jí)功能Applets異常處理文件及輸入輸出網(wǎng)絡(luò)編程多線程JDBC與數(shù)據(jù)庫(kù)訪問(wèn)JSP與Web應(yīng)用Java 的可視化編程環(huán)境J2SEJ2EEJ2ME程序結(jié)構(gòu) package import - class 類名1 屬性定義 方法名1() - 方法名2() - class 類名2 - 一個(gè)程序可包括若干個(gè)類,各類之間存在并列、繼承和包含關(guān)系。這些類通常是在一起協(xié)同工作的:每一個(gè)類都可能需要?jiǎng)?chuàng)建其他類的對(duì)象,并調(diào)用
2、類或?qū)ο蟮膶傩约胺椒?。編程只能在方法中。編譯后每個(gè)類產(chǎn)生一個(gè) .class文件java的名字空間和包n作為一種在整個(gè)Internet上動(dòng)態(tài)裝載模塊的語(yǔ)言,Java特別注意避免名字空間的沖突。n全局變量不再是語(yǔ)言的組成部分(沒(méi)有全局的屬性與方法)。n所有的方法和屬性都在類中定義,是類的組成部分。n每個(gè)類又是包的組成部分。n全限定名 : 包名 . 類名 . 方法名ninport 打開(kāi)一個(gè)包后 ,可直接指定該包中的類名。n在本類中,可以直接使用方法名及屬性名。包的概述n一個(gè)包是一組相關(guān)類的集合。n類庫(kù)由若干包組成。=java.lang 語(yǔ)言核心類(String Integer Math)=java.
3、awt 圖形用戶界面=java.applet applet小程序=java.io 文件與輸入輸出= 網(wǎng)絡(luò)編程=java.util 實(shí)用程序類(隨機(jī)數(shù)、日期、系統(tǒng)屬性)nJava API 文檔語(yǔ)句規(guī)則n語(yǔ)句種類=說(shuō)明語(yǔ)句 如屬性說(shuō)明、變量說(shuō)明等=表達(dá)式語(yǔ)句 =控制語(yǔ)句 (條件、循環(huán)、轉(zhuǎn)移)=異常處理語(yǔ)句=塊語(yǔ)句(代碼塊,一組語(yǔ)句用花括號(hào)括起來(lái))n注釋 =/ - 只限于行內(nèi)=/* - - - */ 一段注釋文本n基本語(yǔ)句用分號(hào)結(jié)束數(shù)據(jù)類型與說(shuō)明語(yǔ)句nJava程序中所處理的數(shù)據(jù)是將各種數(shù)據(jù)類型實(shí)例化后的數(shù)據(jù)。n數(shù)據(jù)類型實(shí)例化的方法:說(shuō)明語(yǔ)句n實(shí)例化數(shù)據(jù)的兩中形式:變量與常量基本數(shù)據(jù)類型數(shù)值類型整數(shù)
4、byte(8), short(16), int(32), long(64)浮點(diǎn)類型 float (32), double(64)字符類型char (16) 注:Unicode碼 布爾類型boolean (true / false)引用類型類class字符串String StringBuffer數(shù)組 類型 數(shù)據(jù)類型與說(shuō)明語(yǔ)句n基本數(shù)據(jù)類型說(shuō)明語(yǔ)句:boolean b = true;short si = 128;int I,j,k = -99;long l = 123456789;char ch = J;char chc = 中 ;float f = 3.1415926;double d = -1
5、.04E-5;nJava幾乎是將字符串視為基本數(shù)據(jù)類型String s = “你好!”; Java 標(biāo)識(shí)符:n 區(qū)分大小寫(xiě)n 組成 :字母 數(shù)字 _ $n 開(kāi)頭: 字母 _ $ 常量n布爾常量 true falsen整型常量=一般常量:32bit 長(zhǎng)整型常量:64bit (88L)=十進(jìn)制數(shù):非0開(kāi)頭的正負(fù)整數(shù) 105,-23=八進(jìn)制數(shù): 0開(kāi)頭的正負(fù)整數(shù) 017(15), -023(-19)=十六進(jìn)制:0 x開(kāi)頭的正負(fù)整數(shù) 0 x2F(47),-0 xa8(-168)n浮點(diǎn)常量=一般浮點(diǎn)常量(32bit) 3.14F 6.18E3F=雙精度浮點(diǎn)數(shù)(64bit ) 7.56D 6.02E23
6、(D可?。?shù)據(jù)類型轉(zhuǎn)換n同種數(shù)據(jù)類型轉(zhuǎn)換:=短類型 長(zhǎng)類型:默認(rèn)=長(zhǎng)類型 短類型:強(qiáng)制n不同數(shù)據(jù)類型轉(zhuǎn)換字符/數(shù)值:強(qiáng)制例:int a ; long b ; char c; b = a ; a = ( int ) b ; c= (char) a ; a=(int) cn布爾型與其他數(shù)據(jù)類型之間不能強(qiáng)制類型轉(zhuǎn)換byteshortintlongfloatdouble數(shù)據(jù)類型轉(zhuǎn)換import java.io.*; public class a1 public static void main(String args) int i=65; char c=a, cc=王; System.out.prin
7、tln(i); 65 System.out.println(char)i);A System.out.println(c);a System.out.println(int)c);97 System.out.println(cc);王 System.out.println(int)cc);29579 System.out.println(char)35328);言 1Wrapper類基本數(shù)據(jù)類型Wrapper 類booleanCharactercharBooleanBytebyteShortshortIntegerintLonglongFloatfloatDoubledoubleInteger
8、n屬性 =staticint MAX_VALUE 返回int型數(shù)據(jù)的最大值=staticint MIN_VALUE 返回int型數(shù)據(jù)的最小值n構(gòu)造器=Integer(int value)=Integer(String s)n方法=int intValue() double doubleValue()=String toString() =static String toString(int i)=static Int parseInt(String s) =static Integer valueOf(String s)類型轉(zhuǎn)換利用類/對(duì)象方法n利用類方法(靜態(tài)方法)=static int I
9、nteger.parseInt(“23”)=static String Integer.toString(23)=static double Double.parseDouble(“12.3”)=static String Double.toString(12.3)n利用對(duì)象方法= Double d ; String s; d=new Double(12.3) ; /構(gòu)造 s= d.toString();= Double.valueOf(“12.3”).doubleValue() ; /返回2引用類型類n定義類(新的數(shù)據(jù)類型):class MyDate int day ; int month
10、; int year ;n基本數(shù)據(jù)類型直接分配內(nèi)存空間。 int I,j,k ;n引用類型 ? MyDate d1 ; d1 = new MyDate() ;引用類型類MyDate d1 = new MyDate() ;nulld1daymonthyear0000 x01abcdefd1.day = 28 ;d1.month = 12;d1.year = 70 ;引用類型數(shù)組n在Java中,數(shù)組是獨(dú)立的類,有自身的方法,不是變量的集合。n一個(gè)數(shù)組是數(shù)組類的一個(gè)對(duì)象。n一維數(shù)組定義int IntArray = new int 5 ;=數(shù)組類對(duì)象引用說(shuō)明( IntArray)=動(dòng)態(tài)分配空間( ne
11、w int 5 )n int IntArray (提倡格式) 類型 變量名引用類型數(shù)組int intArray = 11, 47, 93, 26, 38 =分配空間+賦初值=靜態(tài)初始化必須與數(shù)組定義放在一個(gè)語(yǔ)句中。nintArray = new int10 ; /原數(shù)組丟失。XXXXintArray1147933826數(shù)組元素為類的對(duì)象n定義數(shù)組Integer a; / Null handleInteger b = new Integer5; n創(chuàng)建數(shù)組元素的對(duì)象實(shí)例 for(int i = 0; i b.length; i+)bi = new Integer(I*10);n創(chuàng)建數(shù)組時(shí)初始化
12、Integer d = new Integer(1), new Integer(2), new Integer(3);多維數(shù)組定義n數(shù)組元素又是數(shù)組對(duì)象int intArray = new int 105 ;int intArray = 1,3,2,4,1,2,3,4 數(shù)組類n數(shù)組使用之前要確定大小,可以在程序中根據(jù)需要指定其大?。ㄈ缬帽磉_(dá)式計(jì)算出大?。一旦生成數(shù)組,大小不可改變。java不支持變長(zhǎng)數(shù)組。n數(shù)組的屬性length 數(shù)組元素的個(gè)數(shù)njava數(shù)組作為一種對(duì)象類型,可以作為方法的參數(shù),傳的是指向數(shù)組的引用。nArrayIndexOutOfBoundsException 例外 數(shù)組
13、類 int m1 , m2 ; int a ; m1=5 ; m2=10; a=new intm1m2; for(int i=0 ; i5 ; i+) for(int j=0 ; j10 ; j+) aij = i*j ; for(int i=0 ; ia.length ; i+) for(int j=0 ; j,=,=,!=,= =邏輯運(yùn)算符& 與 ,| 或 , !非,&簡(jiǎn)潔與,|簡(jiǎn)潔或按位運(yùn)算符按位取反, &按位與, |按位或, 按位異或移位運(yùn)算符帶符號(hào)右移, 不帶符號(hào)右移三目條件運(yùn)算 D=表達(dá)式1?表達(dá)式2 :表達(dá)式3賦值運(yùn)算符= ,+=,-= 運(yùn)算符例移位n移位= 帶符號(hào)右移:左側(cè)空出
14、位全用符號(hào)位填充=不帶符號(hào)右移 :左側(cè)空出位用0填充= 左移:符號(hào)位被擠掉 x 二進(jìn)制表示 x 2x 23000011110011110000000011100000111-17111011111011110011111011001110111281 128 / 21 = 642564 256 / 24 = 16-2564 -256 / 24 = -16128 1 128 * 21 = 25616 3?y:z; /k=8條件語(yǔ)句if ( 條件表達(dá)式 )語(yǔ)句塊;else語(yǔ)句塊;n多重嵌套的if語(yǔ)句if (條件1) 語(yǔ)句塊1;else if (條件2)語(yǔ)句塊2;else if (條件3)else語(yǔ)
15、句塊n;switch 開(kāi)關(guān)語(yǔ)句switch(表達(dá)式)case 判斷值1:語(yǔ)句組1 ;case 判斷值2:語(yǔ)句組2 break ;default:語(yǔ)句組n; nswitch 的常量和表達(dá)式可以是整型、字符型及byte型n任何兩個(gè)case常量不可以有相同的值。n只能對(duì)等式進(jìn)行測(cè)試,根據(jù)表達(dá)式取值的不同轉(zhuǎn)向不同的分支。n每個(gè)case分支中的語(yǔ)句塊無(wú)須用花括號(hào)括起來(lái)。n每個(gè)case分支都只是入口點(diǎn)nbreak 語(yǔ)句是轉(zhuǎn)移語(yǔ)句(轉(zhuǎn)出switch)Java的循環(huán)語(yǔ)句while(表達(dá)式) do語(yǔ)句組; 語(yǔ)句組; while(表達(dá)式);for ( 表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句組;=表達(dá)式1:循環(huán)變量賦初
16、值,可使用外部沒(méi)有定義的循環(huán)變量=表達(dá)式2:循環(huán)條件=表達(dá)式3:循環(huán)變量修正Java的轉(zhuǎn)移語(yǔ)句n沒(méi)有g(shù)oto語(yǔ)句nbreak =從一個(gè)封閉的語(yǔ)句,如switch , , 循環(huán)中跳出來(lái)nbreak 標(biāo)號(hào)=從包含本break語(yǔ)句的標(biāo)號(hào)指示的封閉語(yǔ)句中跳出來(lái)。 while (e1) aaa: while (e1) while(e2) while(e2) break; break aaa; Java的轉(zhuǎn)移語(yǔ)句ncontinue (用在循環(huán)體中)=提前結(jié)束本次循環(huán),即跳過(guò)后面的循環(huán)體語(yǔ)句,回到循環(huán)的條件測(cè)試部分繼續(xù)執(zhí)行。ncontinue 標(biāo)號(hào)=提前結(jié)束標(biāo)號(hào)所指循環(huán)。通常是某外層循環(huán)。=continue
17、不是goto 語(yǔ)句,標(biāo)號(hào)不能指向與本循環(huán)并列的循環(huán)或其他循環(huán),也不可指向非循環(huán)語(yǔ)句。6Application程序人口點(diǎn)public class HelloWorldApp public static void main(String args) java HelloWorldApp 執(zhí)行包括main方法的主類java HelloWorldApp args0 args1 例:求2100的素?cái)?shù),每行打印5個(gè)數(shù)字import java.io.*;public class prime public static void main(String args) First_Loop: for(int i=2,k=0;i100;i+) for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; System.out.print(i+t);k+;if(k%5=0) System.out.println(); /for /main /class7