java02(第2章java基礎(chǔ))
《java02(第2章java基礎(chǔ))》由會員分享,可在線閱讀,更多相關(guān)《java02(第2章java基礎(chǔ))(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Java語言程序設(shè)計清華大學出版社第第2 2章章 javajava基礎(chǔ)基礎(chǔ)本章內(nèi)容提要本章內(nèi)容提要1、基本數(shù)據(jù)類型、基本數(shù)據(jù)類型2、表達式和運算符、表達式和運算符3、程序控制語句、程序控制語句4、數(shù)組、數(shù)組5、向量(簡介)、向量(簡介)6、字符串、字符串2.12.1數(shù)據(jù)類型數(shù)據(jù)類型程序程序= =算法算法+ +數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+ +程序設(shè)計方法程序設(shè)計方法+ +語言工具和環(huán)境。語言工具和環(huán)境。之所以有數(shù)據(jù)類型,就是因之所以有數(shù)據(jù)類型,就是因為計算機存儲不同數(shù)據(jù)類型的方為計算機存儲不同數(shù)據(jù)類型的方式和空間不同。式和空間不同。 數(shù)據(jù)類型分類數(shù)據(jù)類型分類 Java定義了定義了8個基本數(shù)據(jù)類型:字節(jié)個基
2、本數(shù)據(jù)類型:字節(jié)型,短整型,整型,長整型,字符型,型,短整型,整型,長整型,字符型,浮點型,雙精度型,布爾型。浮點型,雙精度型,布爾型。它們分為它們分為4組:組: 整數(shù)型(整數(shù)型(byte,short,int,long) 浮點數(shù)型(浮點數(shù)型(float,double)字符型(字符型(char)布爾型(布爾型(boolean)數(shù)據(jù)類型數(shù)據(jù)類型的分類的分類【例例2-1】計算二個整數(shù)的和:計算二個整數(shù)的和: class Example2_1 public static void main(String args) int x,y,sum ; /變量聲明變量聲明 x = 3 ; y = 5 ; sum
3、 =x+y ; /求和求和 System.out.println(二數(shù)之和為:二數(shù)之和為: + sum) ; 在在Java中,使用變量要遵守中,使用變量要遵守“先聲明后使用先聲明后使用”的原的原則。則。 類型轉(zhuǎn)換類型轉(zhuǎn)換自動轉(zhuǎn)換自動轉(zhuǎn)換需要滿足兩個條件:需要滿足兩個條件:1 1、類型相容;、類型相容; 2 2、目標數(shù)據(jù)類型比原、目標數(shù)據(jù)類型比原數(shù)據(jù)類型分配的內(nèi)存空間數(shù)據(jù)類型分配的內(nèi)存空間大大( (即由低到高即由低到高) )。強制轉(zhuǎn)換強制轉(zhuǎn)換發(fā)生在相容數(shù)據(jù)類型發(fā)生在相容數(shù)據(jù)類型之間之間( (即精度由高到低即精度由高到低) ) 。語法形式:語法形式: ( (目標類型目標類型) )值值基本數(shù)據(jù)類型按
4、精度從基本數(shù)據(jù)類型按精度從“低低”到到“高高”的順序為:的順序為:byte short int long float double2.2 2.2 表達式和運算符表達式和運算符表達式是由運算符、操作數(shù)和方法調(diào)用按照語言的語法構(gòu)造而成的符號序列。表達式可用于計算一個公式,為變量賦值以及幫助控制程序執(zhí)行流程。2.2.1 表達式與運算符表達式與運算符 只有一個運算對象的運算符稱為一元運算符。例如+x是一個一元運算符,它是對運算對象x自增加1。 +x,-x: 使用使用X之前,先使之前,先使X的值加的值加1(或減或減1);X+,X-:使用使用X之后,再使之后,再使X的值加的值加1(或減或減1) 設(shè)設(shè)X=5
5、 則則 Y=+X Y的值為的值為6; Y=X+ Y的值為的值為5,而而X為為6。我們可以將運算符分成以下幾類:我們可以將運算符分成以下幾類:算術(shù)運算符;算術(shù)運算符;關(guān)系和條件運算符;關(guān)系和條件運算符;移位和邏輯運算符;移位和邏輯運算符;賦值運算符;賦值運算符;其他的運算符。其他的運算符。2.2.2 算術(shù)運算符算術(shù)運算符Java 語言支持所有的浮點型和整型數(shù)進行各種算術(shù)運算。這些運算符為+(加)、-(減)、*(乘)、/(除)以及%(取模)。 算術(shù)運算符的使用基本上與加減乘除一樣,也是先乘除后加減,必要時加上括號表示運算的先后順序。例如這個程序代碼會在命令行模式下顯示: System.out.pr
6、intln(1 + 2 * 3); 2.2.3 關(guān)系與邏輯運算符關(guān)系與邏輯運算符運算符運算符運算運算用法用法返回返回truetrue的情況的情況 大于大于x1 x2x1 x2x1x1大于大于x2x2=不小不小于于x1 = x2x1 = x2x1 x1 大于或等于大于或等于x2x2 小于小于x1 x2x1 x2x1x1小于小于 x2x2=不大不大于于x1 = x2x1 右移x n將x各位右移n位,左邊按符號補0或補111110101左移x 無符號右移x n將x右移n位(無符號的) ,左邊補000110101&與x & y將x,y按位與操作01010000|或x | y將x,y按位或操作11011
7、111異或x y將x,y按位異或操作10001111位反 x將x各比特位按位取反00101001右移運算符“”將一個數(shù)的二進制位序列右移若干位,移出右端的低位被舍棄,最高位則移入原來高位的值。例如:a=00110111,則 a2 = 00001101 b=11010011,則 b2 = 11110100左移運算符“”將一個數(shù)的二進制位序列左移若干位,高位左移后溢出舍棄,不起作用。當移位運算符通過對運算對象左移位或者右移位來對數(shù)據(jù)執(zhí)行位操作時,一個數(shù)每左移1位,相當于這個數(shù)乘以2,每右移1位,相當于除以2。例如,設(shè)x=8,則x 1表示左移1位,相當于作x21的運算,其結(jié)果為16。 x 1表示右移
8、1位,相當于作x21的運算,其結(jié)果為4,x 2表示右移2位,相當于作x22的運算,其結(jié)果為2。一般地:x n表示右移n位,相當于作x2n的運算。邏輯右移運算符“”將一個數(shù)的二進制位右移若干位,右端移出的低位被舍棄,最高位也是補0,這點與“”不同。當運算對象為數(shù)字的時候,“&”運算符為每一個運算對象的每位執(zhí)行按位與功能。它在兩個運算對象的對應(yīng)位為1時結(jié)果才為1,反之結(jié)果都為0。即:0 & 0 = 0 、0 & 1 = 0 、1 & 0 = 0 、1 & 1 = 1 “ | ”運算符執(zhí)行或操作。當兩個操作對象都是數(shù)字的時候,或操作只要有一個運算對象為1結(jié)果就為1。即:0 | 0 = 0、 0 |
9、1 = 1、1 | 0 = 1、1 | 1 = 1“”運算符執(zhí)行異或操作。異或是指當運算對象不同時結(jié)果才為1,否則結(jié)果為0。即:0 0 = 0、0 1 = 1、1 0 = 1、1 1 = 0如果c = a b那么a = c b即用同一個數(shù)b對數(shù)a進行二次異或運算的結(jié)果仍是數(shù)a。2.32.3程序控制語句程序控制語句語句分為五類:語句分為五類:1、方法調(diào)用語句;、方法調(diào)用語句;2、表達式語句;、表達式語句;3、復合語句;、復合語句;4、控制語句;、控制語句;5、package和和import語句。語句。2.3.2 控制語句控制語句通常語句在程序中都是按先后順序執(zhí)行,通常語句在程序中都是按先后順序執(zhí)
10、行,控制語句用于改變程序執(zhí)行的順序??刂普Z句用于改變程序執(zhí)行的順序。Java的控制語句有:的控制語句有:if-else語句語句switch語句語句while do-while語句語句for語句語句跳轉(zhuǎn)語句跳轉(zhuǎn)語句異常處理語句異常處理語句2.3.3if條件語句條件語句1、if 語句的一般形式語句的一般形式 if(表達式)(表達式) 若干語句;若干語句; 2.3.4 switch語句語句switch語句是一個多分支選擇語句,也叫開關(guān)語句。它可以根據(jù)一個整型表達式有條件地選擇一個語句執(zhí)行。 switch(變量名稱或表達式) case 符合數(shù)字或字符: 語句塊1; break; case 符合數(shù)字或字
11、符: 語句塊2; break; default: 語句塊3; switch語句首先計算條件表達式的值,如果表達式的值和某個case后面的常量數(shù)值相同,就執(zhí)行該case里的若干條語句,直到break語句為止。若沒有一個常量與表達式的值相同,則執(zhí)行default后面的若干條語句。default是可有可無的,如果它不存在,并且所有的常量數(shù)值都和表達式的值不相同,那么switch語句就不進行任何處理。2.3.5 循環(huán)語句循環(huán)語句1、for循環(huán)語句循環(huán)語句for循環(huán)語句的語法結(jié)構(gòu)如下:循環(huán)語句的語法結(jié)構(gòu)如下: for(初始條件;終止條件;增量)(初始條件;終止條件;增量) 循環(huán)體循環(huán)體; 圖圖2.7 循
12、環(huán)語句的執(zhí)行過程循環(huán)語句的執(zhí)行過程2.4 數(shù)組數(shù)組數(shù)組是一組相同類型變量的集合,可以使用共同的名字引用它。 2.4.1 創(chuàng)建和使用數(shù)組創(chuàng)建和使用數(shù)組 1、聲明數(shù)組 (1)聲明一維數(shù)組的格式: 數(shù)組元素的類型 數(shù)組的名字;(2)聲明二維數(shù)組的格式: 數(shù)組元素的類型 數(shù)組的名字;2、 創(chuàng)建數(shù)組創(chuàng)建數(shù)組 一般來說,當創(chuàng)建數(shù)組的時候,使用 new 操作符,后面跟著數(shù)組元素的數(shù)據(jù)結(jié)構(gòu)。然后將元素的數(shù)目用方括號括起來,其格式如下所示: 數(shù)組名字數(shù)組名字= new 數(shù)組元素的類型數(shù)組元素的類型數(shù)組數(shù)組元素的個數(shù)元素的個數(shù) ;例:例: a = new int10; 3、數(shù)組元素的使用、數(shù)組元素的使用數(shù)組可以通
13、過下標訪問自己的元素:int a =new int10; for(int i=0;ia.length;i+) ai=i; System.out.print(ai+); 4、確定數(shù)組的大小、確定數(shù)組的大小為了獲得數(shù)組的大小,可以使用下面的代碼: 數(shù)組名.length; 注意,不能在length后面加一個圓括號( ),否則造成錯誤,因為length不是一個方法。 2.4.2 多維數(shù)組的應(yīng)用多維數(shù)組的應(yīng)用 在Java中,多維數(shù)組(multidimensional arrays)是由若干行和若干列組成數(shù)組。在人們工作生活與學習中,要使用二維表格、矩陣、行列式等,都可以表示成多維數(shù)組。例如: int D
14、 = new int34; 該語句聲明并創(chuàng)建了一個3行4列的數(shù)組D。這個數(shù)組在邏輯上可以表示成一個int類型的矩陣。 也就是說,這個數(shù)組在邏輯上可以表示為: D00 D01 D02 D03 D10 D11 D12 D13 D20 D21 D22 D232.5 向量向量1、向量(Vector) 向量(Vector)是Java.util包(java.util包是專門保存各種常用工具類的類庫)提供的一個工具類。它有類似數(shù)組的順序存儲的數(shù)據(jù)結(jié)構(gòu),但是具有比數(shù)組更強大的功能。 2、創(chuàng)建向量對象、創(chuàng)建向量對象Vector類有三個構(gòu)造函數(shù):(1) Vector(): 構(gòu)造一個空向量。 (2) Vector(
15、int i): 用指定的初始化容量構(gòu)造一個空向量。 (3) Vector(int i, int j): 用指定的初始化容量i和容量增量j構(gòu)造一個空向量。 下面的語句就利用構(gòu)造函數(shù)創(chuàng)建了一個向量序列: Vector v1 = new Vector(100,10);向量的常用方法向量的常用方法 方方 法法說說 明明addElement(Object obj)addElement(Object obj)在向量尾部添加指定組件,并在向量尾部添加指定組件,并且長度加一。且長度加一。 capacity()capacity()返回該向量的當前容量。返回該向量的當前容量。copyInto(Objectcopy
16、Into(ObjectanArray)anArray) 把該向量的元素復制到指定數(shù)把該向量的元素復制到指定數(shù)組中。組中。elementAt(int index)elementAt(int index)返回指定下標處的組件。返回指定下標處的組件。firstElement()firstElement()返回該向量的第一個元素。返回該向量的第一個元素。lastElement()lastElement()返回向量的最后一個元素。返回向量的最后一個元素。size()size()返回該向量的元素數(shù)。返回該向量的元素數(shù)。insertElementAt(Object insertElementAt(Objec
17、t obj,int index)obj,int index)在指定的在指定的 index index 處插入作為處插入作為該向量元素的指定對象。該向量元素的指定對象。 2.6 字符串的簡單介紹字符串的簡單介紹 1、字符串聲明與創(chuàng)建下面是聲明并創(chuàng)建字符串的語句:String str ; str = this is a Stirng. ; 也可以將上面二條語句合并為一條語句: String str = this is a String. ; 2、字符串操作、字符串操作方法說明length()取得字符串的字符長度equals()判斷兩個字符串中的字符是否等于toLowerCase()轉(zhuǎn)換字符串中的英
18、文字符為小寫toUpperCase()轉(zhuǎn)換字符串中的英文字符為大寫(1)求字符串的長度)求字符串的長度例:String str1 = Hello! ;String str2 = 你身體好嗎?;System.out.println(str1.length();System.out.println(str2.length(); (2)比較兩個字符串)比較兩個字符串 String類中有三個方法可以比較兩個字符串是否相同。public int compareTo(String str);public boolean equals(Object obj);public boolean equalsIgn
19、oreCase(String str); 這里需要特別說明,比較二個數(shù)值這里需要特別說明,比較二個數(shù)值x、y是否相等,是否相等,我們使用我們使用x=y。而比較二個字符串相等則不能使用。而比較二個字符串相等則不能使用“=”來比較。請看下面的程序段:來比較。請看下面的程序段: (3)字符串與數(shù)值的轉(zhuǎn)換)字符串與數(shù)值的轉(zhuǎn)換字符串str轉(zhuǎn)換為整型:int x=Integer.paresInt(str);字符串str轉(zhuǎn)換為float型:float n=Integer.paresFloat(str); 例如:String str = String.valueOf(123.4);(4)字符串與字節(jié)數(shù)組的轉(zhuǎn)化
20、)字符串與字節(jié)數(shù)組的轉(zhuǎn)化 要將一個字符串轉(zhuǎn)化為字節(jié)數(shù)組,可用下列方法:byte d=字符串對象.getBytes();反之,要將一個字節(jié)數(shù)組轉(zhuǎn)化為字符串,則用字符串的構(gòu)造方法就能達到目的。String(byte, int offset, int length) 3、使用、使用StringTokenizer字符分析器字符分析器 有時我們需要將字符串分解成可被獨立使用的單詞,這些單詞叫做語言符號。 當我們分析一個字符串并將字符串分解成可被獨立使用的單詞時,可以使用java.util包中的StringTokenizer類。StringTokenizer對象被稱為字符分析器。其構(gòu)造方法為:String
21、Tokenizer(String str, String delim) 將指定字符串str按字符delim為分隔符進行分解。 StringTokenizer類的常用方法:hasMoreTokens():檢測字符串中是否還有語言符號,若有語言符號就返回true,否則返回false。nextToken():逐個獲取字符串中的語言符號。countTokens():計算調(diào)用了nextToken()方法的次數(shù),用于統(tǒng)計字符串中的語言符號的個數(shù)。4、main()方法中的參數(shù)方法中的參數(shù) 在Java應(yīng)用程序中必須要有public static void main(String args)主方法。Main()方法中的參數(shù)是一個字符串數(shù)組args,這個數(shù)組的元素args0,args1,argsn的值都是字符串。args是命令行參數(shù),其功能是接收運行程序時通過命令行輸入的參數(shù)。其一般形式為:java 類文件名字符串1字符串2 字符串n其中,類文件名和各字符串間用空格分隔。 本章結(jié)束本章結(jié)束!
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學習《中華人民共和國科學技術(shù)普及法》推進實現(xiàn)高水平科技自立自強推動經(jīng)濟發(fā)展和社會進步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設(shè)夯實廉政思想根基培育風清氣正的政治生態(tài)
- 深入學習2024《突發(fā)事件應(yīng)對法》全文提高突發(fā)事件預防和應(yīng)對能力規(guī)范突發(fā)事件應(yīng)對活動保護人民生命財產(chǎn)安全
- 2023年四年級數(shù)學上冊第一輪單元滾動復習第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊第14單元階段性綜合復習作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊四分數(shù)的意義和性質(zhì)第10課時異分母分數(shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊六折線統(tǒng)計圖單元復習卡作業(yè)課件西師大版
- 2023年四年級數(shù)學上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版