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

下載本文檔

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

文檔簡介

1、2021/3/10講解:XX1 第三講. Java編程語言基礎(chǔ)知 識(shí) 2021/3/10講解:XX2 主要內(nèi)容 n標(biāo)識(shí)符和保留字 n數(shù)據(jù)類型 n類型轉(zhuǎn)換 n運(yùn)算符和表達(dá)式 n控制語句 2021/3/10講解:XX3 標(biāo)識(shí)符(課本第40頁) n以字母,下劃線(_),美元符號(hào)($)開始的一個(gè)字 母序列;后續(xù)字符可以是字母,數(shù)字,下劃線,美元 符等 n大小寫敏感,沒有最大長度限制 n不能與保留字重名 n中間不能有空格和連字符 n實(shí)際編程序中,甚至標(biāo)識(shí)符完全可以用中文,比如可 以把一個(gè)變量的名字命名為 nint 中文=1; 2021/3/10講解:XX4 標(biāo)識(shí)符舉例 n合法的標(biāo)識(shí)符 identifie

2、r userName User_Name _sys_val $change n不合法的標(biāo)識(shí)符 2mailmy+room class 2021/3/10講解:XX5 練習(xí)題 Which declarations of identifiers are legal? $persons TwoUsers *point this _endline 2021/3/10講解:XX6 保留字 n具有專門的意義和用途,不能當(dāng)作一般的標(biāo)識(shí) 符使用,這些標(biāo)識(shí)符稱為保留字(reserved word),也稱為關(guān)鍵字: n都是小寫,比如true,false,null等,不像c 中都是大寫的。 n注意在java中沒有si

3、zeof運(yùn)算符,因?yàn)閿?shù)據(jù)類 型的長度與平臺(tái)無關(guān)。 2021/3/10講解:XX7 保留字 abstract break byte boolean catch case class char continue default double do else extends false final float for finally if import implements int interface instanceof long length native new null package private protected public final return switch synchron

4、ized short static super try true this throw throws threadsafe transient void while 等 2021/3/10講解:XX8 練習(xí)題 Which of the following are Java keywords? 1) NULL 2) new 3) instanceOf 4) wend 2021/3/10講解:XX9 數(shù)據(jù)類型 n數(shù)據(jù)類型的分類 q簡單數(shù)據(jù)類型,復(fù)雜數(shù)據(jù)類型 qbyte,short,int,long,float,double qchar,boolean qclass,interface,數(shù)組 n數(shù)的

5、范圍,位長 n不支持c/C+中的指針類型,結(jié)構(gòu)類型 (struct)、聯(lián)合類型(union),枚舉類型 (enum) 2021/3/10講解:XX10 常量,變量 n常量用文字串表示,比如 3,a等 n通過final定義常量, final typeSpecifier varName=value,varName=value; 如 final int i0; n變量是java中的基本存儲(chǔ)單元,包括變量名, 類型,作用域等。 int i0,j1; n局部變量,類變量,方法參數(shù),例外處理參數(shù) 等。 2021/3/10講解:XX11 簡單數(shù)據(jù)類型boolean類型 n布爾型數(shù)據(jù)只有兩個(gè)值true和fal

6、se,且它 們不對(duì)應(yīng)于任何整數(shù)值 布爾型變量的定義如: boolean b=true; boolean a=false; 2021/3/10講解:XX12 簡單數(shù)據(jù)類型字符類型char n字符常量 字符常量是用單引號(hào)括起來的一個(gè)字符,如a,A; n字符型變量 類型為char,它在機(jī)器中占16位,16位無符號(hào)型數(shù)據(jù),其范圍為 065535。字符型變量的定義如: char c=a;/*指定變量c為char型,且賦初值為a*/ nJava也提供轉(zhuǎn)義字符,以反斜杠()開頭,比如表示單 引號(hào),uxxxx,1到4位16進(jìn)制表示的字符。 n舉例,“中文”的unicode編碼是:“u4e2du6587” 20

7、21/3/10講解:XX13 簡單數(shù)據(jù)類型字符類型char(續(xù)) nJava中的字符型數(shù)據(jù)不能用作整數(shù),因?yàn)閖ava 不提供無符號(hào)整數(shù)類型,但是同樣可以把他當(dāng) 作整數(shù)數(shù)據(jù)來操作。例如: int three=3; int one=1; char four=(char)(three+one);/four= ? 2021/3/10講解:XX14 簡單數(shù)據(jù)類型整型數(shù)據(jù) 數(shù)據(jù)類型所占位數(shù)數(shù)的范圍 byte8-2727-1 short16-215215-1 int32-231231-1 long64-263263-1 在定義時(shí),long型數(shù)據(jù)要加后綴l或者L。 2021/3/10講解:XX15 浮點(diǎn)型(實(shí)

8、型)數(shù)據(jù) n實(shí)型常量 1. 十進(jìn)制數(shù)形式 由 數(shù) 字 和 小 數(shù) 點(diǎn) 組 成 , 且 必 須 有 小 數(shù) 點(diǎn) , 如 0.123, .123, 123.,123.0 2. 科學(xué)計(jì)數(shù)法形式 如:123e3或123E3,其中e或E之前必須有數(shù)字,且 e或E后面的指數(shù)必須為整數(shù)。 2021/3/10講解:XX16 浮點(diǎn)型(實(shí)型)數(shù)據(jù) n實(shí)型變量 數(shù)據(jù)類型 所占位數(shù)數(shù)的范圍 float 323.4e038 3.4e038 double 641.7e308 1.7e308 n注意:定義float時(shí),需加后綴f或F 2021/3/10講解:XX17 使用舉例 public class Test byte

9、b=21; short s=256; int i=100000; long l=0 xffL; double d=0.7e-3; boolean b=false; 2021/3/10講解:XX18 練習(xí)題 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; 2021/3/10講解:XX19 類型轉(zhuǎn)換 n自動(dòng)類型轉(zhuǎn)換 整型,實(shí)型,字符型數(shù)據(jù)可以混合運(yùn)算。運(yùn)算中,不同 類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進(jìn)行運(yùn)算,轉(zhuǎn)換 從低級(jí)到高級(jí);

10、低-高 byte ,short ,char int long float double 2021/3/10講解:XX20 自動(dòng)類型轉(zhuǎn)換規(guī)則 n操作數(shù)1類型 操作數(shù)2類型 轉(zhuǎn)換后的類型 nbyte、short、char intint nbyte、short、char、int long long nbyte、short、char、int、long float float nbyte、short、char、int、long、float double double 2021/3/10講解:XX21 強(qiáng)制類型轉(zhuǎn)換 n高級(jí)數(shù)據(jù)要轉(zhuǎn)換成低級(jí)數(shù)據(jù),需用到強(qiáng)制類型 轉(zhuǎn)換,如: int i; byte b=(by

11、te)i; /*把int型變量i強(qiáng)制轉(zhuǎn)換為 byte型*/ 2021/3/10講解:XX22 運(yùn)算符和表達(dá)式 n與我們學(xué)過的C+是相同的。 n注意運(yùn)算符的類型 n優(yōu)先級(jí) n參與計(jì)算的數(shù)的類型 n一些運(yùn)算符的特殊用途。 2021/3/10講解:XX23 運(yùn)算符(按照操作數(shù)區(qū)分) n一元運(yùn)算符:, n二元運(yùn)算符:, n三元運(yùn)算符:?: 注:只列出了部分。 2021/3/10講解:XX24 運(yùn)算符(按照功能來分) 1)算術(shù)運(yùn)算符: +,*,/,%,+, 3+2; a-b; i+; -i; 2)關(guān)系運(yùn)算符: ,=,3; i=0; n!=-1; 3)布爾邏輯運(yùn)算符: !, !(flag); flag 2

12、021/3/10講解:XX25 運(yùn)算符(按照功能來分) 4)位運(yùn)算符: , b=00111001; a3 =11110011 a3=00010011; a a|b=10111101; a=01100010; ab=10100100; n注意,132, 它們的值等于多 少? 2021/3/10講解:XX26 運(yùn)算符(按照功能來分) 5)賦值運(yùn)算符 =,及其擴(kuò)展賦值運(yùn)算符如+=, =,*=,/=等。 i=3; i+=3 等效于i=i+3 6)條件運(yùn)算符 ? : result=(sum= =0 ? 1 : num/sum); 2021/3/10講解:XX27 運(yùn)算符(按照功能來分) 7)其它:包括分

13、量運(yùn)算符 ,下標(biāo)運(yùn)算符 ,實(shí) 例運(yùn)算符instanceof,內(nèi)存分配運(yùn)算符new, 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型),方法調(diào)用運(yùn)算符 () 等。 System.out.println(“hello world”); int array1=new int4; 2021/3/10講解:XX28 表達(dá)式的類型 n表達(dá)式的類型由運(yùn)算以及參與運(yùn)算的操作數(shù)的 類型決定,可以是簡單類型,也可以是復(fù)合類 型: 布爾型表達(dá)式: x 整型表達(dá)式: num1+num2 2021/3/10講解:XX29 練習(xí)題 Given the following class public class ZeroPrint public

14、 static void main(String argv) int i =0; /Here 2021/3/10講解:XX30 Which of the following lines if placed after the comment /Here will print out 0. 1) System.out.println(i+); 2) System.out.println(i+0); 3) System.out.println(i); 4) System.out.println(i-); 2021/3/10講解:XX31 運(yùn)算符的優(yōu)先次序 n表達(dá)式的運(yùn)算按照運(yùn)算符的優(yōu)先順序從高到低

15、進(jìn)行, 同級(jí)運(yùn)算符從左到右進(jìn)行: n. . () () n+ - - ! ! instanceofinstanceof nnew (type)new (type) n* * / / % % n+ + - - n = = = 2021/3/10講解:XX32 運(yùn)算符的優(yōu)先次序 n= = !=!= n 第1步:result=sum=0?1:(num/sum) 第2步:result=(sum=0)?1:(num/sum) 第3步:result=(sum=0)?1:(num/sum) 第4步:result= n注:可以用括號(hào)()顯式的標(biāo)明運(yùn)算次序。 2021/3/10講解:XX34 控制語句 n分支語

16、句,if else,switch n循環(huán)語句,for ,while,do while n其他相關(guān)語句 break,continue,return n例外處理語句,try.catch.finally,throw n注釋語句/,/*/,/*/ 2021/3/10講解:XX35 分支語句-if n條件語句 if-else if(boolean-expression) statement1; else statement2; 注意: 1.布爾表達(dá)式是任何一個(gè)返回布爾型數(shù)據(jù)的表達(dá)式。 2.每一個(gè)語句后面必須有分號(hào); 3。If語句可以嵌套使用。 2021/3/10講解:XX36 練習(xí)題 n寫出輸出結(jié)果 i

17、nt output=20; boolean b1=false; if(b1=true) else System.out.println(“Not equal:”+output); 2021/3/10講解:XX37 分支語句switch n多分支語句 switch switch (expression) case value1 : statement1; break; case value2 : statement2; break; 2021/3/10講解:XX38 switch case valueN : statemendN; break; default : defaultStatemen

18、t; n表達(dá)式expression的返回值類型必須是這幾種類 型之一:int,byte,char,short。 ncase子句中的值valueN必須是常量,而且所有 case子句中的值應(yīng)是不同的。 2021/3/10講解:XX39 switch ndefault子句是可選的。 nbreak語句用來在執(zhí)行完一個(gè)case分支后,使 程序跳出switch語句,即終止switch語句的執(zhí) 行。 ncase語句只是起到一個(gè)標(biāo)號(hào)作用,用來查找匹 配的入口并從此處開始執(zhí)行其后的語句序列, 對(duì)后面的case子句不再進(jìn)行匹配。 2021/3/10講解:XX40 switch試題 n寫出輸出結(jié)果 int i =

19、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); 2021/3/10講解:XX41 循環(huán)語句 nwhile語句 ndo-while語句 nfor語句 2021/3/10講解:XX42 While語句 initialization while (termination) body; iteration; n先計(jì)算終止條件 2021/

20、3/10講解:XX43 Do-while語句 initialization do body; iteration; while (termination); n先執(zhí)行循環(huán)體,后計(jì)算終止條件,若結(jié)果為true,則 繼續(xù)執(zhí)行循環(huán)體。 n循環(huán)體,至少執(zhí)行一次。 2021/3/10講解:XX44 For語句 for (initialization; termination; iteration) body; nfor語句執(zhí)行時(shí),首先執(zhí)行初始化操作,然后判斷終止 條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語句, 最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止 條件。 2021/3/10講解:XX45 Fo

21、r語句 n初始化、終止以及迭代部分都可以為空語句(但分號(hào) 不能省),三者均為空的時(shí)候,相當(dāng)于一個(gè)無限循環(huán)。 n在初始化部分和迭代部分可以使用逗號(hào)語句,來進(jìn)行 多個(gè)操作。逗號(hào)語句是用逗號(hào)分隔的語句序列。 for( i=0, j=10; ij; i+, j-) 2021/3/10講解:XX46 與程序轉(zhuǎn)移有關(guān)的其它語句 nbreak語句 ncontinue語句 n返回語句return n注意break語句和continue語句的區(qū)別 n如果break和continue后面都跟了標(biāo)號(hào),又有 什么區(qū)別 2021/3/10講解:XX47 break語句 n在switch語中,break語句用來終止swi

22、tch語句的執(zhí) 行。使程序從switch語句后的第一個(gè)語句開始執(zhí)行。 n在Java中,可以為每個(gè)代碼塊加一個(gè)括號(hào),一個(gè)代 碼塊通常是用大括號(hào)括起來的一段代碼。加標(biāo)號(hào) 的格式如下: BlockLabel: codeBlock break語句的第二種使用情況就是跳出它所指定的 塊,并從緊跟該塊的第一條語句處執(zhí)行。 break BlockLabel; 2021/3/10講解:XX48 break語句 a: /標(biāo)記代碼塊a b: /標(biāo)記代碼塊b c: /標(biāo)記代碼塊c break b; /will not be executed /will not be executed /execute from h

23、ere 2021/3/10講解:XX49 break語句 n如果一個(gè)break后所指定的標(biāo)號(hào)不是一個(gè)代碼 塊的標(biāo)號(hào),而是一個(gè)語句,則這時(shí)break完全 實(shí)現(xiàn)goto的功能。 n因改避免這種方式的使用 2021/3/10講解:XX50 continue語句 ncontinue語句用來結(jié)束本次循環(huán),跳過循環(huán)體中下 面尚未執(zhí)行的語句,接著進(jìn)行終止條件的判斷,以 決定是否繼續(xù)循環(huán)。對(duì)于for語句,在進(jìn)行終止條件 的判斷前,還要先執(zhí)行迭代語句。它的格式為: continue; n也可以用continue跳轉(zhuǎn)到括號(hào)指明的外層循環(huán)中, 這時(shí)的格式為 continue outerLable; 2021/3/1

24、0講解:XX51 continue語句 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; 2021/3/10講解:XX52 返回語句return nreturn語句從當(dāng)前方法中退出,返回到調(diào)用該方法 的語句處,并從緊跟該語句的下一條語句繼續(xù)程序 的執(zhí)行。返回語句有兩種格式: return expression return return語句通常用在一個(gè)方法體的最后,否則會(huì)產(chǎn)生 編譯錯(cuò)誤,除非用在if-else語句中 2021/3/10講解

25、:XX53 例外處理語句 n包括 try . catch( ExceptionCalss e ) . finally . throw語句; 與c/c+相比,是Java特有的語句. 2021/3/10講解:XX54 注釋語句 n/ 用于單行注釋。注釋從/開始,終止于行尾。 n/* */ 用于多行注釋。注釋從/*開始,到*/結(jié)束,且 這種注釋不能互相嵌套。 n/* */ 是Java所特有的doc注釋。它以/*開始,到*/ 結(jié)束。這種注釋主要是為支持JDK工具javadoc而采 用的。javadoc能識(shí)別注釋中用標(biāo)記標(biāo)識(shí)的一些特 殊變量,并把doc注釋加入它所生成的HTML文件。 2021/3/10

26、講解:XX55 試題1 nWhat 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); 2021/3/10講解:XX56 Compile time error variable b was not initialised 2) Compile time error the parameter to the if operator must evaluate to a boolean 3) Compile time error, c

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論