版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二講 Java語言基礎 任何程序設計語言,都是由語言規(guī)范和一系列開發(fā)庫組成的。如標準C,除了語言規(guī)范外,還有很多函數(shù)庫;MS Visual C+更是提供了龐大的APIs和MFC。 Java語言也不例外,也是由Java語言規(guī)范和Java開發(fā)包組成的。 學習任何程序設計語言,都是要從這兩方面著手,尤其是要能夠熟練地使用后者。11、Java語言基本元素2、Java數(shù)據(jù)類型3、Java語言結構4、Java控制語句5、Java類定義規(guī)范6、Java數(shù)組7、Java開發(fā)類庫組成主要內容語言規(guī)范開發(fā)類包2標識符(Identifier)保留字(Reserved Word )1、Java語言基本元素3程序員對
2、程序中的各個元素加以命名時使用的命名記號稱為標識符(identifier)包括:類名、變量名、常量名、方法名、Java語言中,標識符是以字母,下劃線(_),美元符($)開始的一個字符序列,后面可以跟字母,下劃線,美元符,數(shù)字。合法的標識符identifier userName User_Name _sys_value $change非法的標識符2mailroom#class1、Java語言基本元素標識符4具有專門的意義和用途,不能當作一般的標識符使用,這些標識符稱為保留字(reserved word)。abstract break byte boolean catch case class c
3、har continue default 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 while1、Java語言基本
4、元素保留字5數(shù)據(jù)和返回值類型:int, void, return包/類/成員/接口:package, class, interface訪問控制:public, private, protected循環(huán)及循環(huán)控制:if, switch, break例外處理:throw, try, finally保留詞(無含義但不能使用):goto, const1、Java語言基本元素保留字:基本分類6在Java中,true、false和null都是小寫的。區(qū)別于C+中大寫的TRUE、FALSE和NULL。所有的數(shù)據(jù)類型所占用的字節(jié)數(shù)都是固定的,并且和實現(xiàn)無關的,因此在Java中沒有sizeof操作符。不必死記這
5、些關鍵詞,當理解每個關鍵詞的含義后,自然就記住了所有的關鍵詞。1、Java語言基本元素保留字:注意事項72、Java數(shù)據(jù)類型 常量(Constant) 變量(Variable) 數(shù)據(jù)類型(Data Type) 基本數(shù)據(jù)類型(Primary Data Types) 復合數(shù)據(jù)類型(Composite Data Types)8Java中 的 常 量 值 是 用 文 字 串 表 示 的,它 區(qū) 分 為 不 同 的 類 型,如 整 型 常 量 123,實 型 常 量 1.23,字 符 常 量 a ,布 爾 常 量 true、false以 及 字 符 串 常 量 This is a constant st
6、ring.。與 C、 C+不 同,Java中 不 能 通 過 #define命 令 把 一 個 標 識 符 定 義 為 常 量,而 是 用 關 鍵 字 final來 定義,其定義格式為:final Type varName = value , varName =value ;final int globalAccount = 100, nationalAccount = 50;final double PI=3.141592、Java數(shù)據(jù)類型常量9程序中的基本存儲單元,其定義包括變量名、變量類型和作用域幾個部分,定義格式為:Type varName = value , varName =val
7、ue;int n = 3, n1 = 4;Java中變量的缺省初值都是確定的:布爾變量的初值為:false整數(shù)變量的初值為:0浮點數(shù)變量的初值為:0.0引用(復合)變量的初值為:null在方法實現(xiàn)中定義的變量必須顯式的初始化。變量的作用域 指可訪問變量的一段代碼,在程序中不同的地方聲明的變量具有不同的作用域:局部變量、類變量、方法參數(shù)、例外處理參數(shù)。在一定的作用域內,變量名必須唯一。2、Java數(shù)據(jù)類型變量102、Java數(shù)據(jù)類型數(shù)據(jù)類型11 所有基本類型所占的位數(shù)都是確定的,并不因操作系統(tǒng)的不同而不同。 所有基本類型的關鍵詞都是小寫的。數(shù)據(jù)類型所占位數(shù)數(shù)的范圍 char 160 65535
8、byte 8-2727-1 short 16-215215-1 int 32-231231-1 long 64-263263-1 f loat 32 3.4e038 3.4e038 double 64 1.7e308 1.7e3082、Java數(shù)據(jù)類型基本數(shù)據(jù)類型12布爾型數(shù)據(jù)只有兩個值true和false,且它們不對應于任何整數(shù)值布爾型變量的定義如:boolean b = true; 布爾型數(shù)據(jù)只能參與邏輯關系運算:& | = != ! 示例:boolean b1;boolean b2 = true;b = !b2;boolean b = (b1 & b2) != false;2、Java數(shù)
9、據(jù)類型基本數(shù)據(jù)類型:布爾類型(boolean)13字符型數(shù)據(jù)代表16位的Unicode字符字符常量是用單引號括起來的一個字符a B n u0030字符型數(shù)據(jù)的取值范圍為065535 或者說 u0000uFFFFu0000為缺省值示例char c1; 缺省值為0char c2 = 0; 賦初值為字符0char c3 = 32; 用整數(shù)賦初值為空格2、Java數(shù)據(jù)類型基本數(shù)據(jù)類型:字符類型(char)14特殊字符的常量表示法:反斜線(Backslash)退格(Backspace)b回車(Carriage return)r進紙符(Form feed)f制表符(Form feed)t換行(New li
10、ne)n單引號(Single quote)八進制數(shù)( 0377 )DDDUnicode字符uHHHH2、Java數(shù)據(jù)類型基本數(shù)據(jù)類型:字符類型(char)15整型常量1. 十進制整數(shù)如123,456,02. 八進制整數(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
11、b = 8; short s = 10; long y = 123L; long z = 123l; 2、Java數(shù)據(jù)類型基本數(shù)據(jù)類型:整數(shù)類型(byte, short, int, long)1664位長整數(shù)以l或L結尾: 12l, -343L, 0 xfffffffffL1L 32 等于 4294967296L1 高byte,short,char int long float double操作數(shù)1類型操作數(shù)2類型轉換后的類型byte、short、charintintbyte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyt
12、e、short、char、int、long、floatdoubledouble2、Java數(shù)據(jù)類型基本數(shù)據(jù)類型:數(shù)據(jù)類型轉換22 數(shù)據(jù)類型轉換必須滿足如下規(guī)則:不能對boolean類型進行類型轉換。不能把對象類型轉換成不相關類的對象。 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。 轉換過程中可能導致溢出或損失精度 int i = 8; byte b=(byte)i; (byte)255 = -1(byte)0 x5634 = 0 x34 浮點數(shù)到整數(shù)的轉換是通過舍棄小數(shù)得到,而不是四舍五入 (int)23.7 = 23(int)-45.89f = -452、Java數(shù)據(jù)類型基本數(shù)
13、據(jù)類型:數(shù)據(jù)類型轉換23在Java中,引用(reference)指向一個對象在內存中的位置,本質上它是一種帶有很強的完整性和安全性限制的指針。當你聲明某個類、接口或數(shù)組類型的變量時,那個變量的值總是某個對象的引用或者是null。指針就是簡單的地址而已,引用除了表示地址而外,還象被引用的數(shù)據(jù)對象的縮影,還提供其他信息。指針可以有+、-運算,引用不可以運算。引用型變量只支持有限的邏輯判斷:相等判斷(是否同一個對象的引用):= != theObject = nullotherObject != theObject類型判斷(是否是每個類的實例): instanceoftheObject instanc
14、eof Object“” instanceof String2、Java數(shù)據(jù)類型復合(引用)數(shù)據(jù)類型24運算符(Operator)和表達式(Expression)注釋(Comment)語句(Statement)代碼段(Code Block)作用域(Scope)3、Java語言的結構25(1)運算符算術運算符: +,*,/,%,+,關系運算符: ,=,&,|,賦值運算符: =,及其擴展賦值運算符如+=,=,*=,/=等。條件運算符: ? :3、Java語言的結構運算符和表達式26 其它分量運算符 ,下標運算符 ,實例運算符 instanceof,內存分配運算符 new,強制類型轉換運算符 (類型
15、),方法調用運算符 () 由于數(shù)據(jù)類型的長度是確定的,所以沒有長度運算符sizeof。3、Java語言的結構運算符和表達式27(2)表達式表達式是由操作數(shù)和運算符按一定的語法形式組成的符號序列。一個常量或一個變量名字是最簡單的表達式,其值即該常量或變量的值;表達式的值還可以用作其他運算的操作數(shù),形成更復雜的表達式。例:xnum1+num2a*(b+c)+d3.14x , , , = , = 15)= , += , -= , *= , /= , %= , =8)= , != 16)&= , |= , = , = 3、Java語言的結構運算符和表達式29舉例:/ 單行注釋,簡單的解釋語句含義./*
16、 多行注釋,用來說明更多的內容,包括算法等.*/* Java文檔注釋,可以通過javadoc生 * 成類和接口的HTML格式的幫助文檔. * 這種注釋有其特殊的格式(參見相關文檔) */3、Java語言的結構注釋30一個由分號(;)結尾的單一命令是一條語句(Statement),一條語句一般是一行代碼,但也可以占多行代碼。int a = 1; / 變量定義及初始化語句用大括號( )圍起來的多條語句構成一個代碼段(Code block);同時代碼段也大括號前的一些修飾性描述:class Aclass for (int i=0; ii2 ) System.out.println(“The bigg
17、er one is: ”+i1);else System.out.println(“The bigger one is: ”+i2);4、Java控制語句條件語句 if-else36switch (expression)case value1 : statements1; break;case valueN : statementsN; break;default : defaultStatements;4、Java控制語句多分支語句 switch37 表達式expression的返回值類型必須是這幾種類型之一:int、byte、char、short。 case子句中的值valueI必須是常量
18、,而且所有case子句中的值應是不同的。 default子句是任選的。 break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。(如果某個case分支后沒有break語句,程序將不再做比較而執(zhí)行下一個分支。) switch語句的功能可以用if-else語句來實現(xiàn),但某些情況下,使用switch語句更簡煉。4、Java控制語句多分支語句 switch38int a = 100;int b = 20;int c; char oper = +;switch(oper)case +: c = a b; break;case -: c = a - b; b
19、reak;default : c = a * b; break;4、Java控制語句多分支語句 switch39 循環(huán)語句 while(當型循環(huán)) initialization /初始化條件 while (termination) /循環(huán)條件body; /循環(huán)體iteration; /迭代,變更循環(huán)條件 當表達式termination為true時,執(zhí)行中的語句,否則終止循環(huán)。tbfalsetrue4、Java控制語句循環(huán)語句 while(當型循環(huán))40 循環(huán)語句 do-while(直到型循環(huán)) initialization /初始化條件 do body; /循環(huán)體iteration; /迭代,
20、變更循環(huán)條件 while (termination) ; /循環(huán)條件首先執(zhí)行一遍中的語句,當表達式termination為true時,繼續(xù)執(zhí)行中的語句,否則終止循環(huán)。tbfalsetrue4、Java控制語句循環(huán)語句 do-while(直到型循環(huán))41 循環(huán)語句 for(另一種當型循環(huán))for (initialization; termination; iteration)body; /循環(huán)體 initialization /初始化條件 termination /循環(huán)條件 iteration /迭代,變更循環(huán)條件tbodyfalsetrueiterainit4、Java控制語句循環(huán)語句 for
21、(另一種當型循環(huán))42 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(另一種當型循環(huán))43int n = 1, sum = 0;while ( n0);int sum =0;for( int i=1; i
22、=10; i+ ) sum += i;while循環(huán)do-while循環(huán)for循環(huán)4、Java控制語句循環(huán)語句44在switch語中,break語句用來終止switch語句的執(zhí)行,使程序從整個switch語句后的第一條語句開始執(zhí)行。在循環(huán)語句中,break用于終止并跳出循環(huán),從緊跟著循環(huán)體代碼段后的語句執(zhí)行。在Java中,可以為每個代碼塊加一個標號,一個代碼塊通常是用大括號括起來的一段代碼。加標號的格式為:BlockLabel: codeBlock; break語句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。BlockLabel: codeBlock; break
23、BlockLabel; codeBlock;4、Java控制語句程序轉移相關語句 break45a: /標記代碼塊a b:/標記代碼塊b c: /標記代碼塊c break b; /這段語句將不執(zhí)行 /代碼塊c結束 /這段語句也不執(zhí)行 /代碼塊b結束 /從這段語句開始執(zhí)行 /代碼塊a結束4、Java控制語句程序轉移相關語句 break46continue語句用來結束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對于for語句,在進行終止條件的判斷前,還要先執(zhí)行迭代語句。它的格式為:continue;也可以用continue跳轉到括號指明的外層循環(huán)中,這時的
24、格式為continue outerLable;4、Java控制語句程序轉移相關語句 continue47outer: for( int i=0; i10; i+ ) /外層循環(huán) inner: for( int j=0; j10; j+ ) /內層循環(huán) if( ij ) continue outer; /內層循環(huán)結束 /外層循環(huán)結束for( int i= 0; i 10; i+ ) if( i = 5 ) continue; 4、Java控制語句程序轉移相關語句 continue48 return語句從當前方法中退出,返回到調用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)程序的執(zhí)行。返回語句有
25、兩種格式:return expression; /當方法需要返回某種類型數(shù)據(jù)時return; /當方法的返回類型為void時 單獨一條return語句放在方法中間時,會產(chǎn)生編譯錯誤,因為其后的語句將不會執(zhí)行到。若真需要退出方法,可以通過將return語句嵌入某些語句(如if-else)來使程序在未執(zhí)行完方法中所有語句時退出。4、Java控制語句程序轉移相關語句 return49 在進行程序設計時,錯誤的產(chǎn)生是不可避免得。如何處理錯誤?把錯誤交給誰去處理?程序又該如何從錯誤中恢復?這是任何程序設計語言都必須面對和解決的問題。Java語言中是通過例外(Exception)來處理錯誤的。我們將在第六
26、講中詳細介紹例外及其處理。4、Java控制語句例外處理語句 try-catch-finally, throw505、Java類定義規(guī)范 Java是一種面向對象的程序設計語言,具備面向對象技術的基本屬性。類是Java中體現(xiàn)面相對象特征的主要內容,它是Java中的一種重要數(shù)據(jù)類型,是組成Java程序的基本要素。我們將在下一節(jié)課中詳細介紹類的定義以及與之相關的對象、包、接口等概念。516、Java數(shù)組 在Java語言中,數(shù)組是一種最簡單的復合數(shù)據(jù)類型(引用數(shù)據(jù)類型)。數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有相同的數(shù)據(jù)類型,可以用一個統(tǒng)一的數(shù)組名和下標來唯一地確定數(shù)組中的元素。數(shù)組有一維數(shù)組和多維數(shù)
27、組。我們將在后面的課程中介紹。52多數(shù)編程語言都有預選編譯好的類庫以支持各種特定的功能在Java中,類庫以包(package)的形式提供不同版本的Java提供不同的包,以面向特定的應用Java2平臺包括標準版(J2SE)、企業(yè)版(J2EE)和微縮版(J2ME)三個版本7、Java開發(fā)類庫組成53Standard EditionJ2SE包含那些構成Java語言核心 (標準版)的類。數(shù)據(jù)庫連接、接口定義、輸入/輸出、網(wǎng)絡編程Enterprise Edition J2EE 包含J2SE 中的類,并且還包 (企業(yè)版) 含用于開發(fā)企業(yè)級應用的類。EJB、servlet、JSP、XML、事務控制Micro
28、 Edition J2ME 包含J2SE中一部分類,用于 (微縮版) 消費類電子產(chǎn)品的軟件開發(fā)。呼機、智能卡、手機、PDA、機頂盒7、Java開發(fā)類庫組成Java2的三個版本54 Java提供了豐富的標準類來幫助程序設計者更方便快捷地編寫程序,這些標準類組成了類包,主要有:java.lang java.awtjava.applet java.awt.imagejava.awt.peer java.io java.util 除了java.lang之外,其余類包都不是java語言所必須的。7、Java開發(fā)類庫組成J2SE的類包55Languagejava.lang構成Java語言核心的類Objec
29、t, Math, String, Number, Exception, System, Runtime Utilitiesjava.util提供實用的數(shù)據(jù)結構 Vector, Stack, Hashtable / Colloection, List, Set, Map I/Ojava.io提供多種類型的輸出/輸出InputStream, OutputStream, Reader, Writer, RandomAccessFile, FileTextjava.text文本/日期/數(shù)字/消息的本地化支持NumberFormat, DateFormat, and CollatorMathjava.m
30、ath提供任意精度的整數(shù)和浮點數(shù)運算AWT java.awt用戶接口設計和事件處理Swingjavax.swing提供全Java的,在任何平臺上表現(xiàn)都相同的輕量級構件7、Java開發(fā)類庫組成J2SE的類包56Javaxjavax 對Java語言的擴展Appletjava.applet 用于創(chuàng)建Applet的類Beansjava.beans 用于開發(fā)JavaBeans的類Reflectionjava.lang.reflect 用于動態(tài)獲取類信息的類SQLjava.sql 提供對數(shù)據(jù)庫中數(shù)據(jù)的訪問和處理Connection, ResultSet, StatementRMIjava.rmi 支持分布
31、式編程Networking 支持開發(fā)網(wǎng)絡應用的類Socket, URL, URLConnectionSecurityjava.security支持訪問控制和信息安全的類用于訪問控制,防止非信任代碼執(zhí)行關鍵操作認證相關的類,實現(xiàn)了消息摘要和數(shù)字簽名與數(shù)字認證等7、Java開發(fā)類庫組成J2SE的類包57(1)java.lang 本類包中包含了各種定義java語言時必須的類,這些類能夠以其他類不能使用的方式訪問java的內部。任何java程序都將自動引入這個包。其中的類包括: Object類:java中最原始、最重要的類,每個java類都是它的子類,它實現(xiàn)了每個類都必須具有的基本方法。 基本類型包裝器:Boolean, Character, Number, Double, Float, Integer, Long。 String類:字符串類。 Math類:數(shù)學函數(shù)的集合。 執(zhí)行線程:類Thread, ThreadGroup, 接口Runable。 異常和錯誤:類Exception, Er
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版房地產(chǎn)項目預售合同示范文本4篇
- 2025版臺式一體機商場采購合同包含軟件安裝與培訓服務3篇
- 2025年建筑材料堆放場地租賃與供應鏈管理合同3篇
- 二零二五版民營醫(yī)院兒科醫(yī)師及護士勞動合同4篇
- 二零二五年餐飲業(yè)短期服務員派遣合同3篇
- 2025年度高科技產(chǎn)品遠期交易合同4篇
- 2025年度綠色建筑節(jié)能改造合同6篇
- 2025年度數(shù)據(jù)中心機房租賃與環(huán)保責任承諾合同3篇
- 二零二五年度智能門窗系統(tǒng)研發(fā)與安裝一體化服務合同4篇
- 2025年環(huán)保型布草生產(chǎn)與銷售一體化合同3篇
- 自來水質量提升技術方案
- 工業(yè)自動化生產(chǎn)線操作手冊
- 房地產(chǎn)銷售任務及激勵制度
- 并購指南(如何發(fā)現(xiàn)好公司)
- DL-T-1642-2016環(huán)形混凝土電桿用腳扣
- 銅礦成礦作用與地質環(huán)境分析
- 30題紀檢監(jiān)察位崗位常見面試問題含HR問題考察點及參考回答
- 詢價函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學品等特殊管理藥品的使用與管理規(guī)章制度
- 乘務培訓4有限時間水上迫降
評論
0/150
提交評論