




已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Java語言程序設(shè)計(jì),清華大學(xué)出版社,第2章 Java基礎(chǔ),本章內(nèi)容提要,1、基本數(shù)據(jù)類型 2、表達(dá)式和運(yùn)算符 3、程序控制語句 4、數(shù)組 5、向量(簡介) 6、字符串,2.1 基本數(shù)據(jù)類型,程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語言工具和環(huán)境。 之所以有數(shù)據(jù)類型,就是因?yàn)橛?jì)算機(jī)存儲(chǔ)不同數(shù)據(jù)類型的方式和空間不同。,數(shù)據(jù)類型的分類,基本數(shù)據(jù)類型分類,Java定義了8個(gè)基本數(shù)據(jù)類型:字節(jié)型,短整型,整型,長整型,字符型,浮點(diǎn)型,雙精度型,布爾型。 它們分為4組: 整數(shù)型(byte,short,int,long) 浮點(diǎn)數(shù)型(float,double) 字符型(char) 布爾型(boolean),2.1.1 整數(shù)類型,【例2-1】計(jì)算二個(gè)整數(shù)的和,class Example2_1 public static void main(String args) int x,y,sum ; /變量聲明 x = 3 ; y = 5 ; sum =x+y ; /求和 System.out.println(“二數(shù)之和為:“ + sum) ; 在Java中,使用變量要遵守“先聲明后使用”的原則。,類型轉(zhuǎn)換,基本數(shù)據(jù)類型按精度從“低”到“高”的順序?yàn)椋?byte short int long float double,自動(dòng)轉(zhuǎn)換 需要滿足兩個(gè)條件: 1、類型相容; 2、目標(biāo)數(shù)據(jù)類型比原數(shù)據(jù)類型分配的內(nèi)存空間大(即由低到高)。,強(qiáng)制轉(zhuǎn)換 發(fā)生在相容數(shù)據(jù)類型之間(即精度由高到低) 。 語法形式:(目標(biāo)類型)值,2.2 表達(dá)式和運(yùn)算符,表達(dá)式是由運(yùn)算符、操作數(shù)和方法調(diào)用按照語言的語法構(gòu)造而成的符號(hào)序列。表達(dá)式可用于計(jì)算一個(gè)公式,為變量賦值以及幫助控制程序執(zhí)行流程。,2.2.1 表達(dá)式與運(yùn)算符,只有一個(gè)運(yùn)算對(duì)象的運(yùn)算符稱為一元運(yùn)算符。例如+x是一個(gè)一元運(yùn)算符,它是對(duì)運(yùn)算對(duì)象x自增加1。 +x,-x: 使用x之前,先使x的值加1(或減1) x+,x-: 使用x之后,再使x的值加1(或減1) 設(shè)x=5 則y=+x y的值為6 y=x+ y的值為5,而x為6,運(yùn)算符分類,算術(shù)運(yùn)算符 關(guān)系和條件運(yùn)算符 移位和邏輯運(yùn)算符 賦值運(yùn)算符 其他的運(yùn)算符,2.2.2 算術(shù)運(yùn)算符,Java 語言支持所有的浮點(diǎn)型和整型數(shù)進(jìn)行各種算術(shù)運(yùn)算。這些運(yùn)算符為+(加)、-(減)、*(乘)、/(除)以及%(取模)。 算術(shù)運(yùn)算符的使用基本上與加減乘除一樣,也是先乘除后加減,必要時(shí)加上括號(hào)表示運(yùn)算的先后順序。例如這個(gè)程序代碼會(huì)在命令行模式下顯示: System.out.println(1 + 2 * 3);,2.2.3 關(guān)系與邏輯運(yùn)算符,條件運(yùn)算符,2.2.4 位運(yùn)算符,位運(yùn)算符是對(duì)操作數(shù)以二進(jìn)制位為單位進(jìn)行的操作和運(yùn)算,其結(jié)果均為整型量。,移位和邏輯運(yùn)算符,位運(yùn)算符 示例,語句分為五類: 1、方法調(diào)用語句; 2、表達(dá)式語句; 3、復(fù)合語句; 4、控制語句; 5、package和import語句。,2.3 程序控制語句,通常語句在程序中都是按先后順序執(zhí)行,控制語句用于改變程序執(zhí)行的順序。 Java的控制語句有: if-else語句 switch語句 while do-while語句 for語句 跳轉(zhuǎn)語句 異常處理語句,2.3.2 控制語句,1、if 語句的一般形式 if(表達(dá)式) 語句塊 ,2.3.3 if條件語句,if語句例子,if(表達(dá)式) 語句塊1 else 語句塊2 ,if-else語句,if-else語句 例子,if-else if-else語句,if(表達(dá)式1) 語句塊1 else if(表達(dá)式2) 語句塊2 else 語句塊3 ,if語句的嵌套,if(表達(dá)式1) 語句塊1 else 語句塊2 ,if(表達(dá)式2) 語句塊3 else 語句塊4 ,2.3.4 switch語句,switch語句是一個(gè)多分支選擇語句,也叫開關(guān)語句。它可以根據(jù)一個(gè)整型表達(dá)式有條件地選擇一個(gè)語句執(zhí)行。 switch(變量名稱或表達(dá)式) case 符合數(shù)字或字符: 語句塊1; break; case 符合數(shù)字或字符: 語句塊2; break; default: 語句塊3; ,switch語句首先計(jì)算條件表達(dá)式的值,如果表達(dá)式的值和某個(gè)case后面的常量數(shù)值相同,就執(zhí)行該case里的若干條語句,直到break語句為止。若沒有一個(gè)常量與表達(dá)式的值相同,則執(zhí)行default后面的若干條語句。default是可有可無的,如果它不存在,并且所有的常量數(shù)值都和表達(dá)式的值不相同,那么switch語句就不進(jìn)行任何處理。,2.3.5 循環(huán)語句,while語句 do-while語句 for語句,while語句,while語句的語法結(jié)構(gòu): while(條件表達(dá)式) 循環(huán)體 ,do-while語句,do-while語句的語法結(jié)構(gòu): do 循環(huán)體 while(條件表達(dá)式);,for語句的語法結(jié)構(gòu): for(初始條件;終止條件;增量) 循環(huán)體 ,for語句,圖2.7 for語句的執(zhí)行過程,break語句 continue語句 return語句,跳轉(zhuǎn)語句,跳出switch語句 跳出循環(huán)語句 跳出標(biāo)號(hào)所示的語句塊,break語句,終止本次循環(huán),continue語句,退出當(dāng)前方法,返回到調(diào)用方法語句的下一條語句。,return語句,數(shù)組是一組相同類型變量的集合,可以使用共同的名字引用它。,2.4 數(shù)組,1、聲明數(shù)組 (1)聲明一維數(shù)組的格式: 數(shù)組元素的類型 數(shù)組的名字; (2)聲明二維數(shù)組的格式: 數(shù)組元素的類型 數(shù)組的名字;,2.4.1 創(chuàng)建和使用數(shù)組,一般來說,當(dāng)創(chuàng)建數(shù)組的時(shí)候,使用 new 操作符,后面跟著數(shù)組元素的數(shù)據(jù)結(jié)構(gòu)。然后將元素的數(shù)目用方括號(hào)括起來,其格式如下所示: 數(shù)組名字 = new 數(shù)組元素的類型數(shù)組元素的個(gè)數(shù) ; 例: a = new int10;,2、 創(chuàng)建數(shù)組,數(shù)組可以通過下標(biāo)訪問自己的元素: int a =new int10; for(int i=0;ia.length;i+) ai=i; System.out.print(ai+“); ,3、數(shù)組元素的使用,為了獲得數(shù)組的大小,可以使用下面的代碼: 數(shù)組名.length; 注意,不能在length后面加一個(gè)圓括號(hào)( ),否則造成錯(cuò)誤,因?yàn)閘ength不是一個(gè)方法。,4、確定數(shù)組的大小,在Java中,多維數(shù)組(multidimensional arrays)是由若干行和若干列組成數(shù)組。在人們工作生活與學(xué)習(xí)中,要使用二維表格、矩陣、行列式等,都可以表示成多維數(shù)組。例如: int D = new int34;,2.4.2 多維數(shù)組的應(yīng)用,該語句聲明并創(chuàng)建了一個(gè)3行4列的數(shù)組D。這個(gè)數(shù)組在邏輯上可以表示成一個(gè)int類型的矩陣。 也就是說,這個(gè)數(shù)組在邏輯上可以表示為: D00 D01 D02 D03 D10 D11 D12 D13 D20 D21 D22 D23,1、向量(Vector) 向量(Vector)是Java.util包(java.util包是專門保存各種常用工具類的類庫)提供的一個(gè)工具類。它有類似數(shù)組的順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),但是具有比數(shù)組更強(qiáng)大的功能。,2.5 向量,Vector類有三個(gè)構(gòu)造函數(shù): (1) Vector(): 構(gòu)造一個(gè)空向量。 (2) Vector(int i): 用指定的初始化容量構(gòu)造一個(gè)空向量。 (3) Vector(int i, int j): 用指定的初始化容量i和容量增量j構(gòu)造一個(gè)空向量。 下面的語句就利用構(gòu)造函數(shù)創(chuàng)建了一個(gè)向量序列: Vector v1 = new Vector(100,10);,2、創(chuàng)建向量對(duì)象,向量的常用方法,添加、插入向量 示例,1、字符串聲明與創(chuàng)建 下面是聲明并創(chuàng)建字符串的語句: String str ; str = “this is a Stirng. “; 也可以將上面二條語句合并為一條語句: String str = “this is a String. “;,2.6 字符串的簡單介紹,2、字符串操作,例: String str1 = “Hello! “; String str2 = “你身體好嗎?“; System.out.println(str1.length(); System.out.println(str2.length();,(1)求字符串的長度,String類中有三個(gè)方法可以比較兩個(gè)字符串是否相同。 public int compareTo(String str); public boolean equals(Object obj); public boolean equalsIgnoreCase(String str);,(2)比較兩個(gè)字符串,這里需要特別說明,比較二個(gè)數(shù)值x、y是否相等,我們使用x=y。而比較二個(gè)字符串相等則不能使用“=”來比較。請(qǐng)看下面的程序段:,字符串str轉(zhuǎn)換為整型: int x=Integer.paresInt(str); 字符串str轉(zhuǎn)換為float型: float n=Integer.paresFloat(str); 例如: String str = String.valueOf(123.4);,(3)字符串與數(shù)值的轉(zhuǎn)換,要將一個(gè)字符串轉(zhuǎn)化為字節(jié)數(shù)組,可用下列方法: byte d=字符串對(duì)象.getBytes(); 反之,要將一個(gè)字節(jié)數(shù)組轉(zhuǎn)化為字符串,則用字符串的構(gòu)造方法就能達(dá)到目的。 String(byte, int offset, int length),(4)字符串與字節(jié)數(shù)組的轉(zhuǎn)化,有時(shí)我們需要將字符串分解成可被獨(dú)立使用的單詞,這些單詞叫做語言符號(hào)。 當(dāng)我們分析一個(gè)字符串并將字符串分解成可被獨(dú)立使用的單詞時(shí),可以使用java.util包中的StringTokenizer類。StringTokenizer對(duì)象被稱為字符分析器。 其構(gòu)造方法為: StringTokenizer(String str, String delim) 將指定字符串str按字符delim為分隔符進(jìn)行分解。,3、使用StringTokenizer字符分析器,StringTokenizer類的常用方法: hasMoreTokens():檢測字符串中是否還有語言符號(hào),若有語言符號(hào)就返回true,否則返回false。 nextToken():逐個(gè)獲取字符串中的語言符號(hào)。 countTokens():計(jì)算調(diào)用了nextToken()方法的次數(shù),用于統(tǒng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 192-2025普通螺紋牙型
- GB/T 45641-2025開士哥拉毛
- 2024-2025學(xué)年魯教版(五四制)七年級(jí)數(shù)學(xué)下冊期末考試計(jì)算專練
- 2021-2026年中國電液執(zhí)行機(jī)構(gòu)行業(yè)投資分析及發(fā)展戰(zhàn)略咨詢報(bào)告
- 焦末項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 中國網(wǎng)絡(luò)整合營銷服務(wù)行業(yè)市場行情動(dòng)態(tài)分析及發(fā)展前景趨勢預(yù)測報(bào)告
- 2025年 興化市明德技工學(xué)校招聘考試筆試試題附答案
- 2025年 黑龍江煙草考試試題附答案
- 2024年中國丁二烯橡膠行業(yè)市場調(diào)查報(bào)告
- 2025年中國存儲(chǔ)部件行業(yè)市場深度分析及投資策略研究報(bào)告
- 2024年湖南省公安廳招聘警務(wù)輔助人員筆試真題
- 弘揚(yáng)中國精神的課件
- 2025年高考英語全國二卷試題含答案
- 2025江蘇揚(yáng)州寶應(yīng)縣“鄉(xiāng)村振興青年人才”招聘67人筆試備考題庫及完整答案詳解一套
- 云南省玉溪市2023-2024學(xué)年高二下學(xué)期期末教學(xué)質(zhì)量檢測語文試卷(含答案)
- 撫州市樂安縣招聘城市社區(qū)工作者筆試真題2024
- 網(wǎng)絡(luò)服務(wù)器配置與管理(微課版) 教案 項(xiàng)目02 虛擬化技術(shù)和VMware-2
- 2025年西式面點(diǎn)師(中級(jí))面包烘焙實(shí)操考試試卷
- T/CAPEC 3-2018汽輪機(jī)制造監(jiān)理技術(shù)要求
- 工程完工后的回訪與保修服務(wù)承諾
- 醫(yī)療質(zhì)量管理質(zhì)控科的未來發(fā)展趨勢與挑戰(zhàn)
評(píng)論
0/150
提交評(píng)論