版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章Java程序設(shè)計(jì)語言概述第2章Java程序設(shè)計(jì)語言概述12.1Java程序設(shè)計(jì)語言的發(fā)展1995年5月發(fā)布Java和HotJava瀏覽器1995年9月宣布將提供Java開發(fā)工具1995年12月發(fā)布JavaScript1996年推出JDK1.01996年頒布JavaBeans規(guī)范1997年推出JDK1.1.21998年12月Sun公司發(fā)布了Java2平臺(tái)2.1Java程序設(shè)計(jì)語言的發(fā)展1995年5月發(fā)布Java22.1Java程序設(shè)計(jì)語言的發(fā)展1999年6月SUN公司重新定義了Java技術(shù)的框架,形成了現(xiàn)在的3個(gè)版本:1、J2ME(Java2MicroEdition)——以消費(fèi)性電子產(chǎn)品為目標(biāo)的高度優(yōu)化的Java運(yùn)行環(huán)境。2、J2SE(Java2StandardEdition)——開發(fā)客戶端應(yīng)用程序的Java標(biāo)準(zhǔn)平臺(tái),是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程。3、J2EE(Java2EnterpriseEdition)——是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。具有模塊化、可重用的JavaBean組件——一個(gè)java類(參考教材388頁)。。要學(xué)習(xí)j2ee就要先學(xué)習(xí)j2se2.1Java程序設(shè)計(jì)語言的發(fā)展1999年6月SUN公司重32.2Java程序設(shè)計(jì)語言的基本特征簡捷性面向?qū)ο蠓植际浇研越Y(jié)構(gòu)中立安全性可移植性解釋執(zhí)行高性能多線程2.2Java程序設(shè)計(jì)語言的基本特征簡捷性安全性42.3Java程序的運(yùn)行環(huán)境編譯型源程序字節(jié)碼程序Java源程序可執(zhí)行程序exe裸機(jī)操作系統(tǒng)解釋器編譯連接編譯運(yùn)行解釋運(yùn)行.java.classJava是解釋型的高級(jí)編程語言Java虛擬機(jī)2.3Java程序的運(yùn)行環(huán)境編譯型源程序字節(jié)碼程序Java5運(yùn)行Java程序的基本過程1、利用編輯器編寫Java源程序源文件名:主類名.java2、利用編譯器將源程序編譯成字節(jié)碼文件字節(jié)碼文件名:源文件名.class3、利用虛擬機(jī)(解釋器)運(yùn)行工作過程:載入、代碼校驗(yàn)、解釋執(zhí)行運(yùn)行Java程序的基本過程1、利用編輯器編寫Java源程序6常見的Java開發(fā)環(huán)境從網(wǎng)絡(luò)上直接下載JDK(JavaDeveloperKit),并利用命令行方式操作javac(編譯器);java(解釋器)Java集成開發(fā)環(huán)境(IDE)VisualJ++、VisualCafe、JBuilder、EclipseJava教學(xué)集成開發(fā)環(huán)境BlueJ(需要JDK1.3以上版本的支持)、JCreater是一個(gè)JAVA集成開發(fā)環(huán)境(IDE)。其最大特點(diǎn)是與機(jī)器中所裝的JDK完美結(jié)合,是其它任何一款I(lǐng)DE所不能比擬的。其實(shí),有很多高手根本不用這些工具,隨便一個(gè)文本編輯器(如記事本)+JDK就可編一個(gè)非常完美的絕對(duì)的純的Java程序.剛開始學(xué)習(xí)j2se先建議不要使用IDE,然后漸漸的過渡到使用IDE開發(fā)常見的Java開發(fā)環(huán)境從網(wǎng)絡(luò)上直接下載JDK(JavaDe72.4Java程序的基本結(jié)構(gòu)Application應(yīng)用程序:它是一個(gè)完整的應(yīng)用程序,可以利用Java虛擬機(jī)獨(dú)立地運(yùn)行。
Applet(小應(yīng)用程序):它不是一個(gè)完整的應(yīng)用程序,而是框架程序中的一個(gè)模塊,因此只能在WWW瀏覽器環(huán)境下運(yùn)行。
2.4Java程序的基本結(jié)構(gòu)Application應(yīng)用程8Application應(yīng)用程序舉例importjava.io.*;publicclass
MyFirstJavaProgram{
publicstaticvoid
main(String[]args){
System.out.println(“ThisisthefirstJavaApplication”);}}Application應(yīng)用程序舉例importjava.i9JavaApplication程序基本結(jié)構(gòu)import語句class{publicstaticvoidmain(String[]args){}}主類名稱方法體JavaApplication程序基本結(jié)構(gòu)import語句10Applet應(yīng)用程序舉例importjava.applet.*;importjava.awt.*;publicclassMyFirstJavaApplet
extends
Applet{publicvoidpaint(Graphicsg){g.drawString(“ThisisthefirstAppletprogram.”,50,50);}}Applet應(yīng)用程序舉例importjava.apple11JavaApplet小應(yīng)用程序基本結(jié)構(gòu)importjava.applet.*;importjava.awt.*;class
extendsApplet{
}類名稱類成員聲明Applet是一個(gè)系統(tǒng)類,是容器類java.awt.Panel類的子類,封裝了init(),start(),stop(),paint(),destroy()等方法。JavaApplet小應(yīng)用程序基本結(jié)構(gòu)importjav12<HTML><HEAD><TITLE>FirstJavaApplet</TITLE></HEAD><BODY><HR><APPLETCODE=FirstJavaApplet.classWIDTH=500HEIGHT=500 CODEBASE=“.”></APPLET></BODY></HTML>
Codebase指定了Java程序在網(wǎng)絡(luò)上何處可以找到需要的類。<HTML>Codebase指定了Java程13JavaApplet工作原理HTML文件嵌入Appletwww服務(wù)器www服務(wù)器www瀏覽器請(qǐng)求HTML文件下載HTML文件請(qǐng)求Applet字節(jié)碼下載Applet字節(jié)碼解釋執(zhí)行Applet字節(jié)碼JavaApplet工作原理HTMLwww服務(wù)器www服14編寫Java程序需要注意的幾點(diǎn)Java區(qū)分大小寫一個(gè)程序中可以有一個(gè)或多個(gè)類,但其中只能有一個(gè)主類源程序編寫完畢,應(yīng)該用主類名作為文件名,再加后綴.java
存儲(chǔ)成磁盤文件編寫Java程序需要注意的幾點(diǎn)Java區(qū)分大小寫152.5Java程序的基本類型數(shù)據(jù)類型決定了參與操作的變量、常量和表達(dá)式的取值類別、取值范圍以及能夠?qū)嵤┑牟僮餍袨?。Java語言屬于強(qiáng)類型語言,即對(duì)于程序中出現(xiàn)的所有變量和表達(dá)式,在編譯的時(shí)候就要求有明確的數(shù)據(jù)類型,這樣才可以由編譯程序在編譯期間對(duì)所有的操作進(jìn)行數(shù)據(jù)類型相容性的檢查。Java支持的數(shù)據(jù)類型分為兩個(gè)類別:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型2.5Java程序的基本類型數(shù)據(jù)類型決定16Java的基本數(shù)據(jù)類型布爾類型:boolean字符類型:char整數(shù)類型:byte、short、int、long浮點(diǎn)類型:float、doubleJava的基本數(shù)據(jù)類型布爾類型:boolean17數(shù)據(jù)類型占用二進(jìn)制位數(shù)取值范圍默認(rèn)值boolean(布爾類型)8True或falsefalsechar(字符類型)16\u0000~\uFFFF(0~65535)\u0000byte(字節(jié)類型)8-128~127(-27~(27-1))0short(短整型)16-32768~32767(-215~(215-1))0int(整型)32-2147483648~2147483647(-231~(231-1))0long(長整型)64(-263~(263-1))0float(單精度浮點(diǎn)型)32+1.4E-45~+3.4028235E+380.0fdouble(雙精度浮點(diǎn)型)64+4.9E-324~+1.7976931348623157E+3080.0Java語言的基本數(shù)據(jù)類型在Java語言中,基本數(shù)據(jù)類型的數(shù)據(jù)所占用的二進(jìn)制位數(shù)是固定的,與具體的軟硬件環(huán)境無關(guān)。每一種數(shù)據(jù)類型都有一個(gè)默認(rèn)的初值。所有基本類型的關(guān)鍵詞都是小寫的。在把容量大的類型轉(zhuǎn)換為容量小的類型時(shí)必須使用強(qiáng)制類型轉(zhuǎn)換。數(shù)據(jù)類型占用二進(jìn)制位數(shù)取值范圍默認(rèn)值boolean8True18boolean只有“true”和“false”兩個(gè)取值,分別代表“真”和“假”。特點(diǎn):不能夠與任何其他類型進(jìn)行相互的類型轉(zhuǎn)換操作,不對(duì)應(yīng)于任何整數(shù)值,只能參與邏輯關(guān)系運(yùn)算。不能用1和0代表true和false。boolean只有“true”和“false”兩個(gè)取值,分別19charJava語言規(guī)定,字符采用Unicode編碼,每個(gè)字符占用兩個(gè)字節(jié)。ASCII字符集是Unicode字符集的一個(gè)子集,并且在這兩個(gè)字符集中,前128個(gè)編碼所對(duì)應(yīng)的字符完全相同,只是每個(gè)字符占用的二進(jìn)制位數(shù)不同。轉(zhuǎn)義符表示一個(gè)Unicode字符\uxxxxcharJava語言規(guī)定,字符采用Unicode編碼,每個(gè)字20byte、short、int、long上面4種數(shù)據(jù)類型都屬于整型數(shù)值類型。byte1個(gè)字節(jié)short2個(gè)字節(jié)int3個(gè)字節(jié)long4個(gè)字節(jié)Java語言中所有整數(shù)類型均為符號(hào)數(shù)byte、short、int、long上面4種數(shù)據(jù)類型都屬于21float、doublefloat單精度32位double雙精度64位Java語言中的浮點(diǎn)數(shù)值表示遵循IEEE754標(biāo)準(zhǔn)。它不僅包括正零(+0.0)、負(fù)零(-0.0)、正無窮大(Infinity)、負(fù)無窮大(-Infinity)和一個(gè)特別的值NaN(非法的浮點(diǎn)運(yùn)算結(jié)果)。float、doublefloat單精度222.6標(biāo)識(shí)符、關(guān)鍵字、分隔符、常量、變量【標(biāo)識(shí)符】
Java的標(biāo)識(shí)符由字母、數(shù)字、_和$組成,長度不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為0到9。標(biāo)識(shí)符的第一個(gè)字符必須為字母、(_)或($)符號(hào)。標(biāo)識(shí)符區(qū)分大小寫。2.6標(biāo)識(shí)符、關(guān)鍵字、分隔符、常量、變量【標(biāo)識(shí)符】23標(biāo)識(shí)符用來命名變量、符號(hào)常量、數(shù)組、方法、類、對(duì)象、接口、包等。為了提高程序的可讀性,標(biāo)識(shí)符最好“見名知義”,而且規(guī)范大小寫的使用方式,標(biāo)識(shí)符命名規(guī)范見P42。合法的標(biāo)識(shí)符:IdentifieruserNameUser_Name_sys_value$changemy$Change非法的標(biāo)識(shí)符:2mailroom#class標(biāo)識(shí)符用來命名變量、符號(hào)常量、數(shù)組、方法、類、對(duì)象、接口、包24【關(guān)鍵字】又稱保留字,是Java語言規(guī)定了特定含義的標(biāo)識(shí)符。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。關(guān)鍵字一律用小寫字母表示。Java中的關(guān)鍵字有50個(gè),按用途劃分為:數(shù)據(jù)類型、語句、修飾、方法、類、接口、包,并保留了const和goto但并不使用?!娟P(guān)鍵字】又稱保留字,是Java語言規(guī)定了特定含義的標(biāo)識(shí)25數(shù)據(jù)和返回值類型:int,void,return……包/類/成員/接口:package,class,interface訪問控制:public,private,protected循環(huán)及循環(huán)控制:if,switch,break例外處理:throw,try,finally保留詞(無含義但不能使用):goto,const【關(guān)鍵字簡單分類】數(shù)據(jù)和返回值類型:int,void,return……【關(guān)26【分隔符】分隔符被用來區(qū)分Java源程序中的基本成分(標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符和常量),分隔符分為注釋、空白符和普通分隔符三種類別?!痉指舴糠指舴挥脕韰^(qū)分Java源程序中的基本成分(標(biāo)27注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫程序的良好習(xí)慣。Java中有三種形式的注釋:
/*注釋部分*/ //注釋部分/**注釋部分**/Java文檔注釋,可以通過javadoc生成類和接口的HTML格式的幫助文檔。注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可28第二種分隔符是空白符,包括空格、回車符、換行符和制表符(Tab鍵)等。各種Java基本成分之間的多個(gè)空白符與一個(gè)空白符的作用相同。第二種分隔符是空白符,包括空格、回車符、換行符和制表符(Ta29第三種是普通分隔符,具有確定的語法含義,必須按照特定的語法規(guī)定使用。它包括四種分隔符:{}大括號(hào),用來定義類體、方法體、復(fù)合語句或?qū)?shù)組進(jìn)行初始化。
;分號(hào),是語句結(jié)束的標(biāo)志。
,逗號(hào),分隔方法的參數(shù)或聲明的變量序列。
:冒號(hào),用于分隔語句標(biāo)號(hào)。第三種是普通分隔符,具有確定的語法含義,必須按照特定的語法規(guī)30【直接量】——基本數(shù)據(jù)類型和字符串類型的數(shù)值表示整型直接量:十、八、十六進(jìn)制實(shí)型直接量:double、float(185.2f)字符直接量:單引號(hào)括起來(‘\n’)布爾直接量:true和false字符串直接量:雙引號(hào)括起來【直接量】——基本數(shù)據(jù)類型和字符串類型的數(shù)值表示整型直接量:31【變量】在Java語言中,所有的變量必須先定義后使用。其格式為:數(shù)據(jù)類型
標(biāo)識(shí)符1[=初值],[標(biāo)識(shí)符2...];如果是基本數(shù)據(jù)類型,變量在聲明時(shí)就為其分配內(nèi)存空間;否則,還需要用new
為聲明的變量分配空間?;緮?shù)據(jù)類型包括布爾類型、字符類型和數(shù)值類型?!咀兞俊吭贘ava語言中,所有的變量必須先定義后使用。其32【常量】在Java語言中,可將變量聲明成final。final
floatPI=3.14159f;該類型變量在程序的運(yùn)行過程中只被賦值一次,其值不能被更改,但并不要求一定在定義的同時(shí)為其賦值?!境A俊吭贘ava語言中,可將變量聲明成final。332.7Java程序的基本輸入輸出Applet應(yīng)用程序的輸入輸出輸入:利用圖形用戶界面的組件接收用戶信息輸出:以圖形或圖像的形式輸出結(jié)果Application應(yīng)用程序的輸入輸出字符界面:利用System.in.read輸入,System.out.print和System.out.println輸出圖形用戶界面:與Applet類似2.7Java程序的基本輸入輸出Applet應(yīng)用程序的34字符界面的輸入輸出importjava.io.*;publicclassSimpleCharInOut{publicstaticvoidmain(String[]args){charch=‘‘;
System.out.print(“Enteracharacterplease:”);try{ch=(char)System.in.read();}catch(IOExceptione){};
System.out.println(“You’veenteredcharacter”+c);}字符界面的輸入輸出importjava.io.*;35importjava.io.*;publicclassApplicationLineInOut{ publicstaticvoidmain(Stringargs[]) { Stringstring=""; System.out.print("pleaseenterastring:"); try { BufferedReaderin=newBufferedReader(newInputStreamReader(System.in)); string=in.readLine(); }catch(IOExceptione){} System.out.println("You'veenteredstring:"+string); }}importjava.io.*;36importjava.applet.Applet;importjava.awt.*;importjava.awt.event.*;publicclassGUIDemoextends
Applet
implementsActionListener{
ButtonredButton; //按鈕“紅色”
ButtongreenButton; //按鈕“綠色”
Labellabel; //標(biāo)簽 publicvoidinit() { label=newLabel("程序開始運(yùn)行,目前還沒有點(diǎn)擊任何按鈕");redButton=newButton(“紅色”); //創(chuàng)建“紅色”按鈕
greenButton=newButton(“綠色”); //創(chuàng)建“綠色”按鈕
redButton.addActionListener(this); /注冊(cè)監(jiān)聽器 greenButton.addActionListener(this); //注冊(cè)監(jiān)聽器
add(label); //將標(biāo)簽label添加到容器中
add(RedButton); //將按鈕redButton添加到容器中
add(GreenButton); //將按鈕greenButton添加到容器中 }圖形用戶界面的輸入輸出importjava.applet.Applet;圖形用戶37//點(diǎn)擊按鈕時(shí)自動(dòng)調(diào)用publicvoidactionPerformed(ActionEvent
e) { if(e.getSource()==RedButton){
label.setText("你點(diǎn)擊了《紅色》按鈕"); } else { if(e.getSource()==GreenButton){
label.setText("你點(diǎn)擊了《綠色》按鈕"); }}}}//點(diǎn)擊按鈕時(shí)自動(dòng)調(diào)用382.8運(yùn)算符與表達(dá)式運(yùn)算符由一至三個(gè)字符結(jié)合而成,用以表示運(yùn)算。雖然運(yùn)算符是由數(shù)個(gè)字符組合,但Java將其視為一個(gè)符號(hào)。運(yùn)算符亦為標(biāo)記的一種。請(qǐng)?zhí)貏e注意前、后遞增,前、后遞減的概念。前遞增是指被前置的變量先遞增后,再指定給另一個(gè)變量。而后遞增則是指定完后再遞增。前遞減與后遞減亦是同樣規(guī)則。算術(shù)運(yùn)算符
運(yùn)算符
運(yùn)算
范例
結(jié)果
+正號(hào)
+33
-負(fù)號(hào)
b=4;-b-4
+加5+510
-減
6-42
*乘3*412
/除5/51
%余數(shù)
5%50++前遞增
a=2;b=++aa=3;b=3
++(f)后遞增
a=2;b=a++a=3;b=2--前遞減
a=2;b=--aa=1;b=1
--后遞減
a=2;b=a--a=1;b=2
+字符串串連
“Ja”+“va”“Java”2.8運(yùn)算符與表達(dá)式運(yùn)算符由一至三個(gè)字符結(jié)合而成,用以表39賦值運(yùn)算符
賦值運(yùn)算符運(yùn)算符
運(yùn)算
范例
結(jié)果
=指定數(shù)值
a=3;b=2a=3;b=2+=加等于
a+=ba=5;b=2-=減等于
a-=ba=1;b=2*=乘等于
a*=ba=6;b=2/=除等于
a/=ba=1.5;b=2%=余數(shù)等于
a%=ba=1;b=2a+=b的意思是a=a+b。其余以此類推。賦值運(yùn)算符賦值運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果=指定數(shù)值40關(guān)系運(yùn)算符
關(guān)系運(yùn)算符
運(yùn)算符運(yùn)算范例結(jié)果==相等于4==3false!=不等于4!=3true<小于4<3false>大于
4>3true<=小于等于4<=3false>=大于等于4>=3trueinstanceof檢查是否為類實(shí)例
“Hello”instanceofStringtrue關(guān)系運(yùn)算符關(guān)系運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果==相等于41邏輯運(yùn)算符
邏輯運(yùn)算符
運(yùn)算符運(yùn)算范例
結(jié)果
&ANDfalse&truefalse|ORfalse|truetrue^XORtrue^falsetrue!Not!truefalse&&簡潔
ANDfalse&&truefasle||簡潔
ORfalse||truetrue?:Conditional(ternary)false?6:99x=10;if((x>0)||(++x<10))System.out.println(x);邏輯運(yùn)算符邏輯運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果&ANDf42位運(yùn)算符
位運(yùn)算符
運(yùn)算符運(yùn)算范例
結(jié)果
&按位與a&b00000010|按位或a|b01101111~按位非~a10010101^按位異或a^b01101101>>右移c>>211111011<<左移c<<210111100>>>無符號(hào)右移c>>>200111011a=(106)D=(01101010)Bb=(7)D=(00000111)BC=(-17)D=(11101111)B位運(yùn)算符位運(yùn)算符運(yùn)算符運(yùn)算范例結(jié)果&按位與a&b432.8.2優(yōu)先級(jí)和結(jié)合順序1) .,
[],() 9) &2) ++,--,!,~,instanceof 10) ^
3) +,-,(type),
new 11) |4) *,/
,% 12) &&5) +,-
13) ||6) >>,>>>,<<
14) ?:7) >,<,>=,<=
15) =,+=,-=,*=,/=,%=,^=8) ==,!= 16) &=,|=,<<=,>>=,>>>=注:紅色的從右到左,其余的從左到右;用括號(hào)改變結(jié)合順序。
藍(lán)色運(yùn)算符對(duì)byte、short、char作運(yùn)算時(shí),結(jié)果為int型整數(shù)。2.8.2優(yōu)先級(jí)和結(jié)合順序1) .,[],(44賦值操作中的類型轉(zhuǎn)換Java是強(qiáng)類型語言,因此,在進(jìn)行賦值操作時(shí)要檢查類型;當(dāng)將占位數(shù)少的類型賦值給占位數(shù)多的類型時(shí),Java自動(dòng)使用隱式類型轉(zhuǎn)換;當(dāng)將占位數(shù)多的類型賦值給占位數(shù)少的類型時(shí),需要由用戶使用顯式地強(qiáng)制進(jìn)行類型轉(zhuǎn)換。賦值操作中的類型轉(zhuǎn)換Java是強(qiáng)類型語言,因此,在進(jìn)行賦值操45packagejava.lang;importjava.util.Random;publicfinalclassMath{privateMath(){}publicstaticfinaldoubleE=2.7182818284590452354;publicstaticfinaldoublePI=3.14159265358979323846;publicstaticnativedoublesin(doublea);publicstaticnativedoublecos(doublea);publicstaticnativedoubletan(doublea);publicstaticnativedoubleasin(doublea);publicstaticnativedoubleacos(doublea);publicstaticnativedoubleatan(doublea);publicstaticnativedoubleexp(doublea);publicstaticnativedoublelog(doublea);publicstaticnativedoublesqrt(doublea);publicstaticnativedoubleIEEEremainder(doublef1,doublef2);publicstaticnativedoubleceil(doublea);publicstaticnativedoublefloor(doublea);publicstaticnativedoublerint(doublea);Math類(importjava.lang)packagejava.lang;Math類(impor46publicstaticnativedoubleatan2(doublea,doubleb);publicstaticnativedoublepow(doublea,doubleb);publicstaticintround(floata)publicstaticlonground(doublea)privatestaticRandomrandomNumberGenerator;publicstaticdoublerandom()publicstaticintabs(inta)publicstaticlongabs(longa)publicstaticfloatabs(floata)publicstaticdoubleabs(doublea)publicstaticintmax(inta,intb)publicstaticlongmax(longa,longb)publicstaticfloatmax(floata,floatb)publicstaticdoublemax(doublea,doubleb)publicstaticintmin(inta,intb)publicstaticlongmin(longa,longb)publicstaticfloatmin(floata,floatb)publicstaticdoublemin(doublea,doubleb)}publicstaticnativedoubl47順序結(jié)構(gòu)的語句:空語句、標(biāo)號(hào)語句、表達(dá)式語句、復(fù)合語句、throw語句、synchronized語句和try語句。該結(jié)構(gòu)語句特點(diǎn):按書寫順序依次執(zhí)行。流程控制語句:順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)2.9流程控制語句順序結(jié)構(gòu)的語句:空語句、標(biāo)號(hào)語句、表達(dá)式語句、復(fù)合語句48《分支結(jié)構(gòu)》
if(布爾表達(dá)式)語句1;[else語句2;]
switch(表達(dá)式){case常量1:語句塊1;......case常量n:語句塊n;default:語句塊n+1;}結(jié)果必須為boolean類型結(jié)果必須為char,byte,short,int類型《分支結(jié)構(gòu)》if(布爾表達(dá)式)語句1;[els49《循環(huán)結(jié)構(gòu)—while》格式:
while(循環(huán)條件){循環(huán)體}含義:循環(huán)條件為一個(gè)布爾表達(dá)式,其值為true時(shí),重復(fù)執(zhí)行循環(huán)體?!堆h(huán)結(jié)構(gòu)—while》格式:50《循環(huán)結(jié)構(gòu)—do》格式:do{
循環(huán)體}while(循環(huán)條件);含義:重復(fù)執(zhí)行循環(huán)體,直到循環(huán)條件為false?!堆h(huán)結(jié)構(gòu)—do》格式:51繼續(xù)條件?下一個(gè)語句語句truefalse下一個(gè)語句true語句繼續(xù)條件?while(循環(huán)條件){循環(huán)體}do{
循環(huán)體
}while(循環(huán)條件);繼續(xù)條件?下一個(gè)語句語句truefalse下一個(gè)語句true52《循環(huán)結(jié)構(gòu)—for》格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體;表達(dá)式1:循環(huán)初值表達(dá)式2:布爾型表達(dá)式,循環(huán)條件表達(dá)式3:循環(huán)增量表達(dá)式例如:for(inti=0;i<=11;i++){ total+=Rain[year-1][i];}
《循環(huán)結(jié)構(gòu)—for》格式:例如:532.9.10循環(huán)語句比較intn=1,sum=0;while(n<=10){sum=sum+n;n++;}intn=10,sum=0;do{sum+=n;n--;}while(n>0);intsum=0;for(inti=1;i<=10;i++){sum+=i;}while循環(huán)do-while循環(huán)for循環(huán)2.9.10循環(huán)語句比較intn=1,sum=54《控制轉(zhuǎn)移語句》break語句:使程序的流程從一個(gè)語句塊內(nèi)部轉(zhuǎn)移出去。通常在switch和循環(huán)語句中使用。continue語句:只能在循環(huán)語句中使用。其作用是終止當(dāng)前這一輪的循環(huán),直接進(jìn)入下一輪的循環(huán)?!犊刂妻D(zhuǎn)移語句》break語句:使程序的流程從一個(gè)語句塊內(nèi)部552.9.11程序轉(zhuǎn)移相關(guān)語句breaka:{//標(biāo)記代碼塊a…… b:{//標(biāo)記代碼塊b……c:{//標(biāo)記代碼塊c……breakb;……//這段語句將不執(zhí)行}//代碼塊c結(jié)束……//這段語句也不執(zhí)行}//代碼塊b結(jié)束……//從這段語句開始執(zhí)行}//代碼塊a結(jié)束2.9.11程序轉(zhuǎn)移相關(guān)語句breaka:{//標(biāo)562.9.12程序轉(zhuǎn)移相關(guān)語句continueouter:for(inti=0;i<10;i++){//外層循環(huán)inner:for(intj=0;j<10;j++){//內(nèi)層循環(huán)
if(i<j){ ……
continueouter; } ……}//內(nèi)層循環(huán)結(jié)束
……}//外層循環(huán)結(jié)束for(inti=0;i<10;i++){if(i==5){continue;}……}2.9.12程序轉(zhuǎn)移相關(guān)語句continueouter:572.9.13程序轉(zhuǎn)移相關(guān)語句returnreturn語句從當(dāng)前方法中退出,返回到調(diào)用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)程序的執(zhí)行。返回語句有兩種格式:returnexpression;//當(dāng)方法需要返回某種類型數(shù)據(jù)時(shí)return;//當(dāng)方法的返回類型為void時(shí)單獨(dú)一條return語句放在方法中間時(shí),會(huì)產(chǎn)生編譯錯(cuò)誤,因?yàn)槠浜蟮恼Z句將不會(huì)執(zhí)行到。若真需要退出方法,可以通過將return語句嵌入某些語句(如if-else)來使程序在未執(zhí)行完方法中所有語句時(shí)退出。2.9.13程序轉(zhuǎn)移相關(guān)語句returnreturn582.10引用在Java中,引用(reference)指向一個(gè)對(duì)象在內(nèi)存中的位置,本質(zhì)上它是一種帶有很強(qiáng)的完整性和安全性限制的指針。當(dāng)聲明某個(gè)類、接口或數(shù)組類型的變量時(shí),那個(gè)變量的值總是某個(gè)對(duì)象的引用或者是null。引用型變量只支持有限的邏輯判斷:相等判斷(是否同一個(gè)對(duì)象的引用):==!=theObject==null otherObject!=theObject類型判斷(是否是某個(gè)類的實(shí)例):instanceoftheObjectinstanceofObject“”instanceofString2.10引用在Java中,引用(referen59引用類型示例(數(shù)組)
如 float[]tax=newfloat[5];
數(shù)組被聲明后,其數(shù)組大小值會(huì)被放在所分配內(nèi)存區(qū)的第一個(gè)地址,并以length作此地址的參考。所以我們可用tax.length來取得此數(shù)組的大小值。數(shù)組被設(shè)置數(shù)值的方法如下:
tax[0]=6786.5 tax[1]=8763.79引用類型示例(數(shù)組)如 float[]tax=602.10引用類型示例(對(duì)象)
Student{//學(xué)生類//一類對(duì)象的屬性:
intNo;
Cstringmajor;
intsex;//0代表女,1代表男
floatHeight;//單位CM
floatWeight;//單位KG//一類對(duì)象的功能:
Student(intno,Cstring&str1,intsex,
floatheight,floatweight);
voidsetNo(inta);
intgetNo();
intsetName(Cstringstr);
floatgetHeight();
floatgetWeight();
voiddrive(CarredCar);}
Studenta;a=newStudent(2001002,”計(jì)算機(jī)“,0,165,45);intb=a.getNo();a2001002計(jì)算機(jī)016545對(duì)象的方法:intgetNo();2.10引用類型示例(對(duì)象)Student{//學(xué)生類S61簡單類型和引用類型簡單類型的特點(diǎn):聲明時(shí)自動(dòng)分配空間;賦值操作將拷貝數(shù)值。引用類型:聲明時(shí)不分配空間,需要利用new完成空間分配(String隱含分配);賦值操作是地址的拷貝。簡單類型和引用類型簡單類型的特點(diǎn):聲明時(shí)自動(dòng)分配空間;賦值操622.10數(shù)組按照元素的組成分類,數(shù)組屬于復(fù)合數(shù)據(jù)類型,它是由類型相同的元素組成的有順序的數(shù)據(jù)集合。特點(diǎn):元素類型相同;元素有順序;所有元素共用一個(gè)名稱。2.10數(shù)組按照元素的組成分類,數(shù)組屬于復(fù)合數(shù)據(jù)類型,它63Java語言中的數(shù)組聲明格式:數(shù)組元素類型
數(shù)組名[];
數(shù)組元素類型[]
數(shù)組名;舉例:
intarray_int[];
doublearray_double[];
String[]str;
Point[]P;注意:按照變量的存儲(chǔ)方式上分類,Java語言中的數(shù)組屬于引用類型,是一個(gè)動(dòng)態(tài)創(chuàng)建且屬于Array的類對(duì)象,因此在聲明數(shù)組引用時(shí)不能給出長度。Java語言中的數(shù)組聲明格式:數(shù)組元素類型數(shù)組名[];64數(shù)組的創(chuàng)建聲明數(shù)組引用后,需要利用new運(yùn)算來為數(shù)組型變量定義長度且分配內(nèi)存空間,我們將其稱之為創(chuàng)建數(shù)組。
array_int=
new
int[10];array_double=new
double[1000];String[]str=new
String[10];Java規(guī)定,數(shù)組創(chuàng)建后系統(tǒng)自動(dòng)地為數(shù)組中的每個(gè)元素賦予初值。數(shù)組的創(chuàng)建聲明數(shù)組引用后,需要利用new運(yùn)算來為數(shù)組型變量定65數(shù)組初值數(shù)組元素的默認(rèn)初值:整型:0實(shí)型:0.0f或0.0d字符:‘\0’類對(duì)象:null也可以在創(chuàng)建數(shù)組的同時(shí),直接為數(shù)組賦予特定的初始值。int
array_int[]={1,2,3,4,5,6,7};String[]str
={“C++”,“QBasic”,“Pascal”};Java語言規(guī)定,不需要事先創(chuàng)建數(shù)組,也不需要在括號(hào)中指出數(shù)組元素的數(shù)目數(shù)組初值數(shù)組元素的默認(rèn)初值:Java語言規(guī)定,不需要事先創(chuàng)建66一維數(shù)組元素訪問Java數(shù)組元素的格式:
數(shù)組型變量名[下標(biāo)表達(dá)式]數(shù)組元素的下標(biāo)從0開始,Java語言會(huì)嚴(yán)格檢查下標(biāo)表達(dá)式的取值范圍,一旦越界,就會(huì)拋出ArrayIndexOutOfBoundsException異常。Java語言還為數(shù)組封裝了length屬性,可通過它獲得數(shù)組的元素?cái)?shù)目。一維數(shù)組元素訪問Java數(shù)組元素的格式:67一維數(shù)組復(fù)制1、引用復(fù)制只將數(shù)組的引用賦予其他變量,沒有重新分配存儲(chǔ)空間。2、利用System類中的靜態(tài)方法arraycopy實(shí)現(xiàn)復(fù)制
System.arraycopy(array_src,0,array_dest,0,number);一維數(shù)組復(fù)制1、引用復(fù)制68在Java語言中,long類型的最大值為9223372036854775807,要想編寫一個(gè)程序能夠?qū)⑷我饨o定的一個(gè)long值轉(zhuǎn)換成二進(jìn)制,可以借助于一維數(shù)組將轉(zhuǎn)換后的每一位二進(jìn)制數(shù)值保存起來。在Java語言中,long類型的最大值為922337203669publicclassDecimaltoBinary
{
publicstaticvoid
main(String[]args) {
byte[]binary;//聲明數(shù)組
longdata; for(intd=1;d<=5;d++){ data=(long)(Math.random()*1000000000000000L);
System.out.print("("+data+")=>"); binary=toBinary(data);
printBinary(binary); } }publicclassDecimaltoBinary70publicstaticbyte[]toBinary(longdata){
byte[]b=new
byte[64]; for(inti=63;data!=0;i--){ b[i]=(byte)(data%2);data=data/2; }
returnb;}publicstaticbyte[]toBinary(71
publicstatic
void
printBinary(byte[]b) {
inti=0;
while(i<64&&b[i]==0)i++;
for(;i<64;i++)
System.out.print(b[i]);
System.out.println(); }} publicstaticvoidprintBinar72復(fù)合類型數(shù)組元素的初始化
如果是復(fù)合類型的數(shù)組,也就是元素是對(duì)象的數(shù)組,其初始化需要經(jīng)過兩步實(shí)現(xiàn)。
(1)初始化數(shù)組。為數(shù)組開辟存儲(chǔ)空間。格式:類型
數(shù)組名[]=new
類型[數(shù)組大小];(2)初始化數(shù)組元素。為每個(gè)數(shù)組元素所代表的類對(duì)象開辟空間并進(jìn)行初始化。格式:數(shù)組[下標(biāo)]=new類型[參數(shù)];
例子:Catobjcat[]=
newCat[3];
objcat[0]=
newCat(“Tom”)
復(fù)合類型數(shù)組元素的初始化如果是復(fù)合類型的數(shù)組,也就732.11二維數(shù)組Java語言中,多維數(shù)組被當(dāng)作是數(shù)組的數(shù)組來看待和處理,它是一維數(shù)組的特殊集合。其中二維數(shù)組是較為典型的代表。
二維數(shù)組是由一維數(shù)組的每個(gè)元素又是一維數(shù)組的引用構(gòu)成的在Java中,每個(gè)一維數(shù)組元素引用的一維數(shù)組所含的元素?cái)?shù)目可以不同2.11二維數(shù)組Java語言中,多維數(shù)組被當(dāng)作是數(shù)組的數(shù)742.11二維數(shù)組的創(chuàng)建
聲明格式如下:
類型
數(shù)組名[][]
類型
[][]數(shù)組名例如intintArr[][]=newint[10][5]
intintArr[][]=newint[10][]; intArr[0]=newint[20];
Stringresume[][]2.11二維數(shù)組的創(chuàng)建 聲明格式如下:752.11二維數(shù)組的初始化
初始化時(shí)要表明每個(gè)初始值的行列關(guān)系。賦非默認(rèn)初始值時(shí),不需要實(shí)現(xiàn)創(chuàng)建數(shù)組型變量。int[][]int_array={{1,2,3},{4,5,6},{7,8,9}}
注意:無論采取何種初始化方法,數(shù)組中的元素都必須是同一類型,這是任何時(shí)候都必須遵守的原則!
2.11二維數(shù)組的初始化 初始化時(shí)要表明每個(gè)初始值的行列762.11二維數(shù)組的引用 二維數(shù)組必須利用兩個(gè)下標(biāo)才能唯一確定某個(gè)元素,一個(gè)是行標(biāo),表示第幾個(gè)一維數(shù)組;另一個(gè)是列標(biāo),表示一維數(shù)組中的哪一個(gè)元素。
例、二維數(shù)組的引用
數(shù)組名[下標(biāo)N1][下標(biāo)N2]
2.11二維數(shù)組的引用 二維數(shù)組必須利用兩個(gè)下標(biāo)才能唯77publicclassYangHui{publicstaticvoidmain(Stringargs[]){
int[][]data=newint[10][];for(inti=0;i<10;i++)data[i]=newint[i+1];data[0][0]=1;for(inti=1;i<10;i++){data[i][0]=1;data[i][i]=1;for(intj=1;j<i;j++)data[i][j]=data[i-1][j-1]+data[i-1][j];}for(inti=0;i<10;i++){for(intj=0;j<=i;j++)System.out.print(data[i][j]+"");System.out.println();}}}利用二維數(shù)組構(gòu)造楊輝三角形前10行的內(nèi)容publicclassYangHui利用二維數(shù)組構(gòu)造楊輝782.12字符串常量String在Java語言中,提供了兩種字符串:一種是字符串常量,它是用String標(biāo)準(zhǔn)類實(shí)現(xiàn)的;另一種是可編輯修改的字符串,它是用StringBuffer標(biāo)準(zhǔn)類實(shí)現(xiàn)的(p78)。2.12字符串常量String在Java語言中,提供了兩79在使用Sting類對(duì)象時(shí),需要注意下面幾點(diǎn):在Java語言中,字符串直接量中的每個(gè)字符占用兩個(gè)字節(jié)。如果聲明String類對(duì)象后,該對(duì)象沒有引用任何一個(gè)字符串,就應(yīng)該賦予null。String類對(duì)象所引用的字符串不能修改。在使用Sting類對(duì)象時(shí),需要注意下面幾點(diǎn):80第2章Java程序設(shè)計(jì)語言概述第2章Java程序設(shè)計(jì)語言概述812.1Java程序設(shè)計(jì)語言的發(fā)展1995年5月發(fā)布Java和HotJava瀏覽器1995年9月宣布將提供Java開發(fā)工具1995年12月發(fā)布JavaScript1996年推出JDK1.01996年頒布JavaBeans規(guī)范1997年推出JDK1.1.21998年12月Sun公司發(fā)布了Java2平臺(tái)2.1Java程序設(shè)計(jì)語言的發(fā)展1995年5月發(fā)布Java822.1Java程序設(shè)計(jì)語言的發(fā)展1999年6月SUN公司重新定義了Java技術(shù)的框架,形成了現(xiàn)在的3個(gè)版本:1、J2ME(Java2MicroEdition)——以消費(fèi)性電子產(chǎn)品為目標(biāo)的高度優(yōu)化的Java運(yùn)行環(huán)境。2、J2SE(Java2StandardEdition)——開發(fā)客戶端應(yīng)用程序的Java標(biāo)準(zhǔn)平臺(tái),是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程。3、J2EE(Java2EnterpriseEdition)——是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。具有模塊化、可重用的JavaBean組件——一個(gè)java類(參考教材388頁)。。要學(xué)習(xí)j2ee就要先學(xué)習(xí)j2se2.1Java程序設(shè)計(jì)語言的發(fā)展1999年6月SUN公司重832.2Java程序設(shè)計(jì)語言的基本特征簡捷性面向?qū)ο蠓植际浇研越Y(jié)構(gòu)中立安全性可移植性解釋執(zhí)行高性能多線程2.2Java程序設(shè)計(jì)語言的基本特征簡捷性安全性842.3Java程序的運(yùn)行環(huán)境編譯型源程序字節(jié)碼程序Java源程序可執(zhí)行程序exe裸機(jī)操作系統(tǒng)解釋器編譯連接編譯運(yùn)行解釋運(yùn)行.java.classJava是解釋型的高級(jí)編程語言Java虛擬機(jī)2.3Java程序的運(yùn)行環(huán)境編譯型源程序字節(jié)碼程序Java85運(yùn)行Java程序的基本過程1、利用編輯器編寫Java源程序源文件名:主類名.java2、利用編譯器將源程序編譯成字節(jié)碼文件字節(jié)碼文件名:源文件名.class3、利用虛擬機(jī)(解釋器)運(yùn)行工作過程:載入、代碼校驗(yàn)、解釋執(zhí)行運(yùn)行Java程序的基本過程1、利用編輯器編寫Java源程序86常見的Java開發(fā)環(huán)境從網(wǎng)絡(luò)上直接下載JDK(JavaDeveloperKit),并利用命令行方式操作javac(編譯器);java(解釋器)Java集成開發(fā)環(huán)境(IDE)VisualJ++、VisualCafe、JBuilder、EclipseJava教學(xué)集成開發(fā)環(huán)境BlueJ(需要JDK1.3以上版本的支持)、JCreater是一個(gè)JAVA集成開發(fā)環(huán)境(IDE)。其最大特點(diǎn)是與機(jī)器中所裝的JDK完美結(jié)合,是其它任何一款I(lǐng)DE所不能比擬的。其實(shí),有很多高手根本不用這些工具,隨便一個(gè)文本編輯器(如記事本)+JDK就可編一個(gè)非常完美的絕對(duì)的純的Java程序.剛開始學(xué)習(xí)j2se先建議不要使用IDE,然后漸漸的過渡到使用IDE開發(fā)常見的Java開發(fā)環(huán)境從網(wǎng)絡(luò)上直接下載JDK(JavaDe872.4Java程序的基本結(jié)構(gòu)Application應(yīng)用程序:它是一個(gè)完整的應(yīng)用程序,可以利用Java虛擬機(jī)獨(dú)立地運(yùn)行。
Applet(小應(yīng)用程序):它不是一個(gè)完整的應(yīng)用程序,而是框架程序中的一個(gè)模塊,因此只能在WWW瀏覽器環(huán)境下運(yùn)行。
2.4Java程序的基本結(jié)構(gòu)Application應(yīng)用程88Application應(yīng)用程序舉例importjava.io.*;publicclass
MyFirstJavaProgram{
publicstaticvoid
main(String[]args){
System.out.println(“ThisisthefirstJavaApplication”);}}Application應(yīng)用程序舉例importjava.i89JavaApplication程序基本結(jié)構(gòu)import語句class{publicstaticvoidmain(String[]args){}}主類名稱方法體JavaApplication程序基本結(jié)構(gòu)import語句90Applet應(yīng)用程序舉例importjava.applet.*;importjava.awt.*;publicclassMyFirstJavaApplet
extends
Applet{publicvoidpaint(Graphicsg){g.drawString(“ThisisthefirstAppletprogram.”,50,50);}}Applet應(yīng)用程序舉例importjava.apple91JavaApplet小應(yīng)用程序基本結(jié)構(gòu)importjava.applet.*;importjava.awt.*;class
extendsApplet{
}類名稱類成員聲明Applet是一個(gè)系統(tǒng)類,是容器類java.awt.Panel類的子類,封裝了init(),start(),stop(),paint(),destroy()等方法。JavaApplet小應(yīng)用程序基本結(jié)構(gòu)importjav92<HTML><HEAD><TITLE>FirstJavaApplet</TITLE></HEAD><BODY><HR><APPLETCODE=FirstJavaApplet.classWIDTH=500HEIGHT=500 CODEBASE=“.”></APPLET></BODY></HTML>
Codebase指定了Java程序在網(wǎng)絡(luò)上何處可以找到需要的類。<HTML>Codebase指定了Java程93JavaApplet工作原理HTML文件嵌入Appletwww服務(wù)器www服務(wù)器www瀏覽器請(qǐng)求HTML文件下載HTML文件請(qǐng)求Applet字節(jié)碼下載Applet字節(jié)碼解釋執(zhí)行Applet字節(jié)碼JavaApplet工作原理HTMLwww服務(wù)器www服94編寫Java程序需要注意的幾點(diǎn)Java區(qū)分大小寫一個(gè)程序中可以有一個(gè)或多個(gè)類,但其中只能有一個(gè)主類源程序編寫完畢,應(yīng)該用主類名作為文件名,再加后綴.java
存儲(chǔ)成磁盤文件編寫Java程序需要注意的幾點(diǎn)Java區(qū)分大小寫952.5Java程序的基本類型數(shù)據(jù)類型決定了參與操作的變量、常量和表達(dá)式的取值類別、取值范圍以及能夠?qū)嵤┑牟僮餍袨椤ava語言屬于強(qiáng)類型語言,即對(duì)于程序中出現(xiàn)的所有變量和表達(dá)式,在編譯的時(shí)候就要求有明確的數(shù)據(jù)類型,這樣才可以由編譯程序在編譯期間對(duì)所有的操作進(jìn)行數(shù)據(jù)類型相容性的檢查。Java支持的數(shù)據(jù)類型分為兩個(gè)類別:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型2.5Java程序的基本類型數(shù)據(jù)類型決定96Java的基本數(shù)據(jù)類型布爾類型:boolean字符類型:char整數(shù)類型:byte、short、int、long浮點(diǎn)類型:float、doubleJava的基本數(shù)據(jù)類型布爾類型:boolean97數(shù)據(jù)類型占用二進(jìn)制位數(shù)取值范圍默認(rèn)值boolean(布爾類型)8True或falsefalsechar(字符類型)16\u0000~\uFFFF(0~65535)\u0000byte(字節(jié)類型)8-128~127(-27~(27-1))0short(短整型)16-32768~32767(-215~(215-1))0int(整型)32-2147483648~2147483647(-231~(231-1))0long(長整型)64(-263~(263-1))0float(單精度浮點(diǎn)型)32+1.4E-45~+3.4028235E+380.0fdouble(雙精度浮點(diǎn)型)64+4.9E-324~+1.7976931348623157E+3080.0Java語言的基本數(shù)據(jù)類型在Java語言中,基本數(shù)據(jù)類型的數(shù)據(jù)所占用的二進(jìn)制位數(shù)是固定的,與具體的軟硬件環(huán)境無關(guān)。每一種數(shù)據(jù)類型都有一個(gè)默認(rèn)的初值。所有基本類型的關(guān)鍵詞都是小寫的。在把容量大的類型轉(zhuǎn)換為容量小的類型時(shí)必須使用強(qiáng)制類型轉(zhuǎn)換。數(shù)據(jù)類型占用二進(jìn)制位數(shù)取值范圍默認(rèn)值boolean8True98boolean只有“true”和“false”兩個(gè)取值,分別代表“真”和“假”。特點(diǎn):不能夠與任何其他類型進(jìn)行相互的類型轉(zhuǎn)換操作,不對(duì)應(yīng)于任何整數(shù)值,只能參與邏輯關(guān)系運(yùn)算。不能用1和0代表true和false。boolean只有“true”和“false”兩個(gè)取值,分別99charJava語言規(guī)定,字符采用Unicode編碼,每個(gè)字符占用兩個(gè)字節(jié)。ASCII字符集是Unicode字符集的一個(gè)子集,并且在這兩個(gè)字符集中,前128個(gè)編碼所對(duì)應(yīng)的字符完全相同,只是每個(gè)字符占用的二進(jìn)制位數(shù)不同。轉(zhuǎn)義符表示一個(gè)Unicode字符\uxxxxcharJava語言規(guī)定,字符采用Unicode編碼,每個(gè)字100byte、short、int、long上面4種數(shù)據(jù)類型都屬于整型數(shù)值類型。byte1個(gè)字節(jié)short2個(gè)字節(jié)int3個(gè)字節(jié)long4個(gè)字節(jié)Java語言中所有整數(shù)類型均為符號(hào)數(shù)byte、short、int、long上面4種數(shù)據(jù)類型都屬于101float、doublefloat單精度32位double雙精度64位Java語言中的浮點(diǎn)數(shù)值表示遵循IEEE754標(biāo)準(zhǔn)。它不僅包括正零(+0.0)、負(fù)零(-0.0)、正無窮大(Infinity)、負(fù)無窮大(-Infinity)和一個(gè)特別的值NaN(非法的浮點(diǎn)運(yùn)算結(jié)果)。float、doublefloat單精度1022.6標(biāo)識(shí)符、關(guān)鍵字、分隔符、常量、變量【標(biāo)識(shí)符】
Java的標(biāo)識(shí)符由字母、數(shù)字、_和$組成,長度不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為0到9。標(biāo)識(shí)符的第一個(gè)字符必須為字母、(_)或($)符號(hào)。標(biāo)識(shí)符區(qū)分大小寫。2.6標(biāo)識(shí)符、關(guān)鍵字、分隔符、常量、變量【標(biāo)識(shí)符】103標(biāo)識(shí)符用來命名變量、符號(hào)常量、數(shù)組、方法、類、對(duì)象、接口、包等。為了提高程序的可讀性,標(biāo)識(shí)符最好“見名知義”,而且規(guī)范大小寫的使用方式,標(biāo)識(shí)符命名規(guī)范見P42。合法的標(biāo)識(shí)符:IdentifieruserNameUser_Name_sys_value$changemy$Change非法的標(biāo)識(shí)符:2mailroom#class標(biāo)識(shí)符用來命名變量、符號(hào)常量、數(shù)組、方法、類、對(duì)象、接口、包104【關(guān)鍵字】又稱保留字,是Java語言規(guī)定了特定含義的標(biāo)識(shí)符。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。關(guān)鍵字一律用小寫字母表示。Java中的關(guān)鍵字有50個(gè),按用途劃分為:數(shù)據(jù)類型、語句、修飾、方法、類、接口、包,并保留了const和goto但并不使用。【關(guān)鍵字】又稱保留字,是Java語言規(guī)定了特定含義的標(biāo)識(shí)105數(shù)據(jù)和返回值類型:int,void,return……包/類/成員/接口:package,class,interface訪問控制:public,private,protected循環(huán)及循環(huán)控制:if,switch,break例外處理:throw,try,finally保留詞(無含義但不能使用):goto,const【關(guān)鍵字簡單分類】數(shù)據(jù)和返回值類型:int,void,return……【關(guān)106【分隔符】分隔符被用來區(qū)分Java源程序中的基本成分(標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符和常量),分隔符分為注釋、空白符和普通分隔符三種類別。【分隔符】分隔符被用來區(qū)分Java源程序中的基本成分(標(biāo)107注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫程序的良好習(xí)慣。Java中有三種形式的注釋:
/*注釋部分*/ //注釋部分/**注釋部分**/Java文檔注釋,可以通過javadoc生成類和接口的HTML格式的幫助文檔。注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可108第二種分隔符是空白符,包括空格、回車符、換行符和制表符(Tab鍵)等。各種Java基本成分之間的多個(gè)空白符與一個(gè)空白符的作用相同。第二種分隔符是空白符,包括空格、回車符、換行符和制表符(Ta109第三種是普通分隔符,具有確定的語法含義,必須按照特定的語法規(guī)定使用。它包括四種分隔符:{}大括號(hào),用來定義類體、方法體、復(fù)合語句或?qū)?shù)組進(jìn)行初始化。
;分號(hào),是語句結(jié)束的標(biāo)志。
,逗號(hào),分隔方法的參數(shù)或聲明的變量序列。
:冒號(hào),用于分隔語句標(biāo)號(hào)。第三種是普通分隔符,具有確定的語法含義,必須按照特定的語法規(guī)110【直接量】——基本數(shù)據(jù)類型和字符串類型的數(shù)值表示整型直接量:十、八、十六進(jìn)制實(shí)型直接量:double、float(185.2f)字符直接量:單引號(hào)括起來(‘\n’)布爾直接量:true和false字符串直接量:雙引號(hào)括起來【直接量】——基本數(shù)據(jù)類型和字符串類型的數(shù)值表示整型直接量:111【變量】在Java語言中,所有的變量必須先定義后使用。其格式為:數(shù)據(jù)類型
標(biāo)識(shí)符1[=初值],[標(biāo)識(shí)符2...];如果是基本數(shù)據(jù)類型,變量在聲明時(shí)就為其分配內(nèi)存空間;否則,還需要用new
為聲明的變量分配空間?;緮?shù)據(jù)類型包括布爾類型、字符類型和數(shù)值類型。【變量】在Java語言中,所有的變量必須先定義后使用。其112【常量】在Java語言中,可將變量聲明成final。final
floatPI=3.14159f;該類型變量在程序的運(yùn)行過程中只被賦值一次,其值不能被更改,但并不要求一定在定義的同時(shí)為其賦值?!境A俊吭贘ava語言中,可將變量聲明成final。1132.7Java程序的基本輸入輸出Applet應(yīng)用程序的輸入輸出輸入:利用圖形用戶界面的組件接收用戶信息輸出:以圖形或圖像的形式輸出結(jié)果Application應(yīng)用程序的輸入輸出字符界面:利用System.in.read輸入,System.out.print和System.out.println輸出圖形用戶界面:與Applet類似2.7Java程序的基本輸入輸出Applet應(yīng)用程序的114字符界面的輸入輸出importjava.io.*;publicclassSimpleCharInOut{publicstaticvoidmain(String[]args){charch=‘‘;
System.out.print(“Enteracharacterplease:”);try{ch=(char)System.in.read();
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紡織財(cái)務(wù)制度
- 管家財(cái)務(wù)制度
- 建筑企業(yè)沖賬財(cái)務(wù)制度
- 賓館保管寄存財(cái)務(wù)制度
- 菜鳥驛站財(cái)務(wù)制度
- 農(nóng)公副產(chǎn)品制度
- 公司?;诽幜P制度
- 養(yǎng)老院老人關(guān)愛服務(wù)制度
- 企業(yè)人事財(cái)務(wù)管理制度(3篇)
- 中餐餐飲品牌管理制度(3篇)
- (2025年)軍隊(duì)文職考試面試真題及答案
- DBJ50T-100-2022 建筑邊坡工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)
- 制造部年終總結(jié)
- DB51-T 192-2024 公園城市綠色景觀圍墻營建指南
- 《食品標(biāo)準(zhǔn)與法規(guī)》課件全套 第1-6章 緒論-食品生產(chǎn)經(jīng)營許可和認(rèn)證管理
- JBT 7562-2016 YEZX系列起重用錐形轉(zhuǎn)子制動(dòng)三相異步電動(dòng)機(jī) 技術(shù)條件
- 建筑工地安全形勢(shì)分析
- 【拼多多公司盈利能力探析11000字(論文)】
- 區(qū)域地質(zhì)調(diào)查及填圖方法
- 新生兒疫苗接種的注意事項(xiàng)與應(yīng)對(duì)措施
- 膿毒癥休克患者的麻醉管理
評(píng)論
0/150
提交評(píng)論