Java編程語言基礎(chǔ)知識_第1頁
Java編程語言基礎(chǔ)知識_第2頁
Java編程語言基礎(chǔ)知識_第3頁
Java編程語言基礎(chǔ)知識_第4頁
Java編程語言基礎(chǔ)知識_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2. java編程語言基礎(chǔ)知識重慶大學計算機學院 楊瑞龍csc,chongqing university主要內(nèi)容o標識符和保留字o數(shù)據(jù)類型o類型轉(zhuǎn)換o運算符和表達式o控制語句csc,chongqing university標識符o 以字母,下劃線(_),美元符號($,或者其它貨幣符號)開始的一個字母序列;后續(xù)字符可以是字母,數(shù)字,下劃線,美元符,unicode字符集中大于0 xc0的所有符號,運算符除外。o 大小寫敏感,沒有最大長度限制o 不能與保留字重名o 實際編程序中,甚至標識符完全可以用中文,比如可以把一個變量的名字命名為nint 中文=1;csc,chongqing universit

2、y標識符舉例o 合法的標識符identifier username user_name _sys_val $changeo 不合法的標識符2mailroom# classcsc,chongqing university練習題which declarations of identifiers are legal? a. $personsb. twousersc. *pointd. thise. _endline csc,chongqing university保留字o 具有專門的意義和用途,不能當作一般的標識符使用,這些標識符稱為保留字(reserved word),也稱為關(guān)鍵字:o 都是小寫,

3、比如true,false,null等,不像c中都是大寫的。o 注意和c +的保留字的區(qū)別,增加了哪些,又去掉了哪些。o 比如在java中沒有sizeof運算符,因為數(shù)據(jù)類型的長度與平臺無關(guān)。csc,chongqing university保留字2-1o 用于數(shù)據(jù)類型的保留字byte short int long float double char booleano 用于流程控制語句的關(guān)鍵字if else switch case default do while for break continueo 方法、類型、變量的修飾關(guān)鍵字private public protected final st

4、atic abstract synchronized volatilecsc,chongqing university保留字2-2o異常處理關(guān)鍵字try catch finally throw throwso對象相關(guān)關(guān)鍵字new extends implements class instanceof this supero字面值常量關(guān)鍵字false true nullo方法相關(guān)關(guān)鍵字return voido包相關(guān)關(guān)鍵字package importcsc,chongqing university練習題which of the following are java keywords?1) null

5、 2) new 3) instanceof 4) wendcsc,chongqing university注釋o 單行注釋/ 注釋內(nèi)容o 多行注釋/* 注釋文本 */o 文件注釋文件注釋用來產(chǎn)生一個html文件,可以使用jdk提供的工具程序javadoc從源程序中提取這種注釋,為程序提供文檔說明。 javadoc能識別注釋中用標記標識的一些特殊變量。文件注釋以“/*”開頭,遇到“*/”結(jié)束,在注釋中每行以一個“*”開始。其格式如下。/*注釋文本*注釋文本* */csc,chongqing university數(shù)據(jù)類型劃分數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型引用類型引用類型數(shù)值類型數(shù)值類型字符類型字

6、符類型(char) 布爾類型(布爾類型(boolean)整數(shù)類型整數(shù)類型(byte,short,int,long)浮點類型浮點類型(float,double)類類(class)接口接口(interface)數(shù)組數(shù)組圖圖 2-1 java語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型csc,chongqing university數(shù)據(jù)類型o 數(shù)據(jù)類型的分類n 簡單數(shù)據(jù)類型,復雜數(shù)據(jù)類型n byte,short,int,long,float,doublen char,booleann class,interface,數(shù)組o 數(shù)的范圍,位長o 不支持c/c+中的指針類型,結(jié)構(gòu)類型(struct)、聯(lián)合類型(union

7、),枚舉類型(enum)csc,chongqing university常量,變量o 常量用文字串表示,比如 3,a等o 通過final定義常量,final typespecifier varname=value,varname=value;如 final int i0;o 變量是java中的基本存儲單元,包括變量名,類型,作用域等。 int i0,j1;o 局部變量,類變量,方法參數(shù),例外處理參數(shù)等。csc,chongqing university簡單數(shù)據(jù)類型boolean類型o布爾型數(shù)據(jù)只有兩個值true和false,且它們不對應(yīng)于任何整數(shù)值布爾型變量的定義如:boolean b=true

8、; boolean a=false;csc,chongqing university簡單數(shù)據(jù)類型字符類型charo 字符常量字符常量是用單引號括起來的一個字符,如a,a;o 字符型變量類型為char,使用unicode字符集它在機器中占16位,16位無符號型數(shù)據(jù),其范圍為065535。字符型變量的定義如:char c=a;/*指定變量c為char型,且賦初值為a*/o java也提供轉(zhuǎn)義字符,以反斜杠()開頭,p13,比如表示單引號,uxxxx,1到4位16進制表示的字符。 char c=u0061;o 如何從字符轉(zhuǎn)換到它的編碼,可以用jdk提供的工具native2ascii.exe程序。o

9、舉例,“中文”的unicode編碼是:“u4e2du6587”csc,chongqing university簡單數(shù)據(jù)類型字符類型char(續(xù))o java中的字符型數(shù)據(jù)不能用作整數(shù),因為java不提供無符號整數(shù)類型,但是同樣可以把他當作整數(shù)數(shù)據(jù)來操作(因為發(fā)生了類型轉(zhuǎn)換)。例如: int three=3; int one=1; char four=(char)(three+one);/four=4csc,chongqing university簡單數(shù)據(jù)類型整型數(shù)據(jù)數(shù)據(jù)類型所占位數(shù)數(shù)的范圍byte8-2727-1short16-215215-1int32-231231-1long64-2632

10、63-1在定義時,long型數(shù)據(jù)要加后綴l或者l。csc,chongqing university浮點型(實型)數(shù)據(jù)o 實型常量1. 十進制數(shù)形式由數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如0.123, .123, 123.,123.02. 科學計數(shù)法形式如:123e3或123e3,其中e或e之前必須有數(shù)字,且e或e后面的指數(shù)必須為整數(shù)。csc,chongqing university浮點型(實型)數(shù)據(jù)o 實型變量數(shù)據(jù)類型 所占位數(shù)數(shù)的范圍float 323.4e038 3.4e038double 641.7e308 1.7e308o 注意:定義float時,需加后綴f或fcsc,chongqing

11、 university使用舉例public class test byte b=21; short s=256; int i=100000; long l=0 xffl; double d=0.7e-3; boolean b=false;csc,chongqing university練習題which of the following are legal statements?1) float f=1/3; 2) int i=1/3; 3) float f=1.01; 4) double d=999d;csc,chongqing university類型轉(zhuǎn)換o自動類型轉(zhuǎn)換整型,實型,字符型數(shù)據(jù)

12、可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進行運算,轉(zhuǎn)換從低級到高級;低-高byte ,short ,char int long float doublecsc,chongqing university自動類型轉(zhuǎn)換規(guī)則o 操作數(shù)1類型 操作數(shù)2類型 轉(zhuǎn)換后的類型o byte、short、char intinto byte、short、char、intlong longo byte、short、char、int、long float floato byte、short、char、int、long、float double doubleo 注意:byte,short和char在一起

13、運算時,首先轉(zhuǎn)換為int類型進行運算。csc,chongqing university思考題思考題o 分析下面程序中的錯誤。byte b1=5;short s1=6;short s2 ;s2=b1+s1;o 答案:byte類型 和 short類型的數(shù)據(jù)進行運算時首先都轉(zhuǎn)換為int類型。在第四行中就會發(fā)生賦值類型不匹配的編譯錯誤。csc,chongqing university強制類型轉(zhuǎn)換o 高級數(shù)據(jù)要轉(zhuǎn)換成低級數(shù)據(jù),需用到強制類型轉(zhuǎn)換,如: int i;byte b=(byte)i; /*把int型變量i強制轉(zhuǎn)換為byte型*/o 提示:提示:已知一個字符的編碼,需要獲取對應(yīng)的字符時,一般可以

14、通過類型轉(zhuǎn)換實現(xiàn)。 int i65; char c; c=(char)i; csc,chongqing university運算符和表達式o 與我們學過的c+是相同的。o 注意運算符的類型o 優(yōu)先級o 參與計算的數(shù)的類型o 一些運算符的特殊用途。csc,chongqing university運算符(按照操作數(shù)區(qū)分)o一元運算符:,o二元運算符:,o三元運算符:?:注:只列出了部分。csc,chongqing university運算符(按照功能來分)1)算術(shù)運算符: +,*,/,%,+, 3+2; a-b; i+; -i;%求模運算的操作數(shù)可為浮點數(shù)求模運算的操作數(shù)可為浮點數(shù) 2)關(guān)系運算符

15、: ,=,3; i=0; n!=-1;3)布爾邏輯運算符: !,&,| flag=true; !(flag); flag&false; csc,chongqing university運算符(按照功能來分)4)位運算符: ,&,|, a=10011101; b=00111001; a3 =11110011 a3=00010011; a&b=00011001; a|b=10111101;a=01100010; ab=10100100; o 注意,132, 它們的值等于多少?csc,chongqing university運算符(按照功能來分)5)賦值運算符 =,及其擴展賦值運算符如+=,=,*=

16、,/=等。i=3; i+=3 等效于i=i+3 6)條件運算符 ? :result=(sum= =0 ? 1 : num/sum); csc,chongqing university運算符(按照功能來分)7)其它:包括分量運算符 ,下標運算符 ,實例運算符instanceof,內(nèi)存分配運算符new,強制類型轉(zhuǎn)換運算符 (類型),方法調(diào)用運算符 () 等。 system.out.println(“hello world”); int array1=new int4;csc,chongqing university練習題which of the following will compile wit

17、hout error? 1)char c=1; system.out.println(c1);2)integer i=integer(1); system.out.println(i1);3)int i=1; system.out.println(i1);4)int i=1; system.out.println(i = = =csc,chongqing university運算符的優(yōu)先次序o = = !=!=o & &o o | |o &o |o ?:?:o = = += -= += -= * *= /= %= = /= %= =o &= |= = =&= |= = =csc,chongqi

18、ng university運算符的優(yōu)先次序:特點o 賦值運算符的優(yōu)先級最低,因為賦值運算符要使用表達式的值;o 關(guān)系運算符的優(yōu)先級比布爾邏輯運算符的優(yōu)先級高;o .,()等運算符的優(yōu)先級最高。o 一元運算符的優(yōu)先級也比較高。 o 算術(shù)元算符要比關(guān)系運算符和二元邏輯運算符的優(yōu)先級要高。csc,chongqing university運算符的優(yōu)先次序示例o resutl=sum=0?1:num/sum; 第1步:result=sum=0?1:(num/sum) 第2步:result=(sum=0)?1:(num/sum) 第3步:result=(sum=0)?1:(num/sum) 第4步:res

19、ult=o 注:可以用括號()顯式的標明運算次序。csc,chongqing university練習題o which of the following are java key words?1) double2) switch3) then4) instanceofcsc,chongqing university練習題o which of the following are not java keywords?1)volatile2)sizeof3)goto4)trycsc,chongqing university練習題given the following variables which

20、of the following lines will compile without error? string s = hello; long l = 99; double d = 1.11; int i = 1; int j = 0;1) j= i s; 2) j= ij; 3) j=id; 4)j=i1); 1) 02) -13) 14) 2147483647csc,chongqing university練習題o what will be output by the following statement? system.out.println(1 32); 1) 12) -13)

21、324)-2147483648csc,chongqing university控制語句o 分支語句,if else,switcho 循環(huán)語句,for ,while,do whileo 其他相關(guān)語句 break,continue,returno 例外處理語句,try.catch.finally,throwo 注釋語句/,/*/,/*/csc,chongqing university分支語句-ifo 條件語句 if-elseif(boolean-expression)statement1;else statement2;注意:1.布爾表達式是任何一個返回布爾型數(shù)據(jù)的表達式。2.每一個語句后面必須有

22、分號;3。if語句可以嵌套使用。csc,chongqing university練習題o 寫出輸出結(jié)果int output=20;boolean b1=false;if(b1=true)&(output+=10)=30)system.out.println(“we are equal :”+output);elsesystem.out.println(“not equal:”+output);csc,chongqing university分支語句switcho多分支語句 switchswitch (expression)case value1 : statement1;break;case

23、value2 : statement2;break; case valuen : statemendn;break;default : defaultstatement; csc,chongqing universityswitcho 表達式expression的返回值類型必須是這幾種類型之一:int,byte,char,short。o case子句中的值valuen必須是常量,而且所有case子句中的值應(yīng)是不同的。csc,chongqing universityswitcho default子句是可選的。o break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語句,即終止sw

24、itch語句的執(zhí)行。o case語句只是起到一個標號作用,用來查找匹配的入口并從此處開始執(zhí)行其后的語句序列,對后面的case子句不再進行匹配。csc,chongqing universityswitch試題o 寫出輸出結(jié)果 int i = 9;switch (i) default:system.out.println(default);case 0:system.out.println(zero);break;case 1:system.out.println(one);case 2:system.out.println(two);csc,chongqing university循環(huán)語句o w

25、hile語句o do-while語句o for語句csc,chongqing universitywhile語句initializationwhile (termination)body;iteration;o 先計算終止條件csc,chongqing universitydo-while語句initializationdo body;iteration; while (termination);o 先執(zhí)行循環(huán)體,后計算終止條件,若結(jié)果為true,則繼續(xù)執(zhí)行循環(huán)體。o 循環(huán)體,至少執(zhí)行一次。csc,chongqing universityfor語句for (initialization; te

26、rmination; iteration)body;o for語句執(zhí)行時,首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。csc,chongqing universityfor語句o 初始化、終止以及迭代部分都可以為空語句(但分號不能省),三者均為空的時候,相當于一個無限循環(huán)。o 在初始化部分和迭代部分可以使用逗號語句,來進行多個操作。逗號語句是用逗號分隔的語句序列。for( i=0, j=10; ij; i+, j-)csc,chongqing university與程序轉(zhuǎn)移有關(guān)的其它語句o break語句o

27、continue語句o 返回語句returno 注意break語句和continue語句的區(qū)別o 如果break和continue后面都跟了標號,又有什么區(qū)別csc,chongqing universitybreak語句o 在switch語中,break語句用來終止switch語句的執(zhí)行。使程序從switch語句后的第一個語句開始執(zhí)行。o 在java中,可以為每個代碼塊加一個括號,一個代碼塊通常是用大括號括起來的一段代碼。加標號的格式如下:blocklabel: codeblock break語句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊的第一條語句處執(zhí)行。break blocklab

28、el;csc,chongqing universitybreak語句a: /標記代碼塊a b: /標記代碼塊b c: /標記代碼塊c break b; /will not be executed /will not be executed /execute from here csc,chongqing universitybreak語句o 如果一個break后所指定的標號不是一個代碼塊的標號,而是一個語句,則這時break完全實現(xiàn)goto的功能。o 應(yīng)該避免這種方式的使用csc,chongqing universitycontinue語句o continue語句用來結(jié)束本次循環(huán),跳過循環(huán)體中

29、下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對于for語句,在進行終止條件的判斷前,還要先執(zhí)行迭代語句。它的格式為:continue;o 也可以用continue跳轉(zhuǎn)到括號指明的外層循環(huán)中,這時的格式為continue outerlable;csc,chongqing universitycontinue語句outer: for( int i=0; i10; i+ ) /外層循外層循環(huán)環(huán)inner:for( int j=0; j10; j+ )/內(nèi)層循環(huán)內(nèi)層循環(huán)if( ij )continue outer; csc,chongqing university返回語句retur

30、no return語句從當前方法中退出,返回到調(diào)用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)程序的執(zhí)行。返回語句有兩種格式:return expression return return語句通常用在一個方法體的最后,否則會產(chǎn)生編譯錯誤,除非用在if-else語句中csc,chongqing university例外處理語句o 包括 try . catch( exceptioncalss e ) . finally . throw語句; 與c/c+相比,是java特有的語句.csc,chongqing university試題1o what will happen when you attempt to compile and run the following code? public class myif boolean b; public static void main(string argv) myif mi = new myif(); myif() if(b) system.out.println(the value of b was true); else system.out.println(the value of b was false); csc,ch

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論