張思民java語言程序設計pptwzkj.ppt_第1頁
張思民java語言程序設計pptwzkj.ppt_第2頁
張思民java語言程序設計pptwzkj.ppt_第3頁
張思民java語言程序設計pptwzkj.ppt_第4頁
張思民java語言程序設計pptwzkj.ppt_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java語言程序設計,第2章 Java基礎,編著:張思民,本章內容提要,1、基本數(shù)據(jù)類型 2、表達式和運算符 3、程序控制語句 4、數(shù)組 5、向量(簡介) 6、字符串,2.1 數(shù)據(jù)類型,程序=算法+數(shù)據(jù)結構+程序設計方法+語言工具和環(huán)境。 之所以有數(shù)據(jù)類型,就是因為計算機存儲不同數(shù)據(jù)類型的方式和空間不同。,數(shù)據(jù)類型分類,Java定義了8個基本數(shù)據(jù)類型:字節(jié)型,短整型,整型,長整型,字符型,浮點型,雙精度型,布爾型。 它們分為4組: 整數(shù)型(byte,short,int,long) 浮點數(shù)型(float,double) 字符型(char) 布爾型(boolean),數(shù)據(jù)類型的分類,【例2-1】計算二個整數(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中,使用變量要遵守“先聲明后使用”的原則。,類型轉換,自動轉換 需要滿足兩個條件:1、類型相容; 2、目標數(shù)據(jù)類型比原數(shù)據(jù)類型分配的內存空間大(即由低到高)。,強制轉換 發(fā)生在相容數(shù)據(jù)類型之間(即精度由高到低) 。 語法形式: (目標類型)值,基本數(shù)據(jù)類型按精度從“低”到“高”的順序為: byte short int long float double,2.2 表達式和運算符,表達式是由運算符、操作數(shù)和方法調用按照語言的語法構造而成的符號序列。表達式可用于計算一個公式,為變量賦值以及幫助控制程序執(zhí)行流程。,2.2.1 表達式與運算符,只有一個運算對象的運算符稱為一元運算符。例如+x是一個一元運算符,它是對運算對象x自增加1。 +x,-x: 使用X之前,先使X的值加1(或減1); X+,X-:使用X之后,再使X的值加1(或減1) 設X=5 則 Y=+X Y的值為6; Y=X+ Y的值為5,而X為6。,我們可以將運算符分成以下幾類: 算術運算符; 關系和條件運算符; 移位和邏輯運算符; 賦值運算符; 其他的運算符。,2.2.2 算術運算符,Java 語言支持所有的浮點型和整型數(shù)進行各種算術運算。這些運算符為+(加)、-(減)、*(乘)、/(除)以及%(取模)。 算術運算符的使用基本上與加減乘除一樣,也是先乘除后加減,必要時加上括號表示運算的先后順序。例如這個程序代碼會在命令行模式下顯示: System.out.println(1 + 2 * 3);,2.2.3 關系與邏輯運算符,條件運算符,2.2.4 位運算符,位運算符是對操作數(shù)以二進制位為單位進行的操作和運算,其結果均為整型量。,移位和邏輯運算符,右移運算符“”將一個數(shù)的二進制位序列右移若干位,移出右端的低位被舍棄,最高位則移入原來高位的值。 例如: a=00110111,則 a2 = 00001101 b=11010011,則 b2 = 11110100 左移運算符“”將一個數(shù)的二進制位序列左移若干位,高位左移后溢出舍棄,不起作用。,當移位運算符通過對運算對象左移位或者右移位來對數(shù)據(jù)執(zhí)行位操作時,一個數(shù)每左移1位,相當于這個數(shù)乘以2,每右移1位,相當于除以2。 例如,設x=8, 則 x 1表示右移1位,相當于作x21的運算,其結果為4, x 2表示右移2位,相當于作x22的運算,其結果為2。 一般地: x n表示右移n位,相當于作x2n的運算。 邏輯右移運算符“”將一個數(shù)的二進制位右移若干位,右端移出的低位被舍棄,最高位也是補0,這點與“”不同。 當運算對象為數(shù)字的時候,“&”運算符為每一個運算對象的每位執(zhí)行按位與功能。它在兩個運算對象的對應位為1時結果才為1,反之結果都為0。 即: 0 & 0 = 0 、0 & 1 = 0 、1 & 0 = 0 、1 & 1 = 1,“ | ”運算符執(zhí)行或操作。當兩個操作對象都是數(shù)字的時候,或操作只要有一個運算對象為1結果就為1。 即: 0 | 0 = 0 、 0 | 1 = 1 、1 | 0 = 1 、1 | 1 = 1 “”運算符執(zhí)行異或操作。異或是指當運算對象不同時結果才為1,否則結果為0。 即: 0 0 = 0 、0 1 = 1 、1 0 = 1 、1 1 = 0,如果 c = a b 那么 a = c b 即用同一個數(shù)b對數(shù)a進行二次異或運算的結果仍是數(shù)a。,2.3 程序控制語句,語句分為五類: 1、方法調用語句; 2、表達式語句; 3、復合語句; 4、控制語句; 5、package和import語句。,2.3.2 控制語句,通常語句在程序中都是按先后順序執(zhí)行,控制語句用于改變程序執(zhí)行的順序。 Java的控制語句有: if-else語句 switch語句 while do-while語句 for語句 跳轉語句 異常處理語句,2.3.3 if條件語句,1、if 語句的一般形式 if(表達式) 若干語句; ,2.3.4 switch語句,switch語句是一個多分支選擇語句,也叫開關語句。它可以根據(jù)一個整型表達式有條件地選擇一個語句執(zhí)行。 switch(變量名稱或表達式) case 符合數(shù)字或字符: 語句塊1; break; case 符合數(shù)字或字符: 語句塊2; break; default: 語句塊3; ,switch語句首先計算條件表達式的值,如果表達式的值和某個case后面的常量數(shù)值相同,就執(zhí)行該case里的若干條語句,直到break語句為止。若沒有一個常量與表達式的值相同,則執(zhí)行default后面的若干條語句。default是可有可無的,如果它不存在,并且所有的常量數(shù)值都和表達式的值不相同,那么switch語句就不進行任何處理。,2.3.5 循環(huán)語句,1、for循環(huán)語句 for循環(huán)語句的語法結構如下: for(初始條件;終止條件;增量) 循環(huán)體; ,圖2.7 循環(huán)語句的執(zhí)行過程,2.4 數(shù)組,數(shù)組是一組相同類型變量的集合,可以使用共同的名字引用它。,2.4.1 創(chuàng)建和使用數(shù)組,1、聲明數(shù)組 (1)聲明一維數(shù)組的格式: 數(shù)組元素的類型 數(shù)組的名字; (2)聲明二維數(shù)組的格式: 數(shù)組元素的類型 數(shù)組的名字;,2、 創(chuàng)建數(shù)組,一般來說,當創(chuàng)建數(shù)組的時候,使用 new 操作符,后面跟著數(shù)組元素的數(shù)據(jù)結構。然后將元素的數(shù)目用方括號括起來,其格式如下所示: 數(shù)組名字 = new 數(shù)組元素的類型數(shù)組元素的個數(shù) ; 例: a = new int10;,3、數(shù)組元素的使用,數(shù)組可以通過下標訪問自己的元素: int a =new int10; for(int i=0;ia.length;i+) ai=i; System.out.print(ai+“); ,4、確定數(shù)組的大小,為了獲得數(shù)組的大小,可以使用下面的代碼: 數(shù)組名.length; 注意,不能在length后面加一個圓括號( ),否則造成錯誤,因為length不是一個方法。,2.4.2 多維數(shù)組的應用,在Java中,多維數(shù)組(multidimensional arrays)是由若干行和若干列組成數(shù)組。在人們工作生活與學習中,要使用二維表格、矩陣、行列式等,都可以表示成多維數(shù)組。例如: int D = new int34;,該語句聲明并創(chuàng)建了一個3行4列的數(shù)組D。這個數(shù)組在邏輯上可以表示成一個int類型的矩陣。 也就是說,這個數(shù)組在邏輯上可以表示為: D00 D01 D02 D03 D10 D11 D12 D13 D20 D21 D22 D23,2.5 向量,1、向量(Vector) 向量(Vector)是Java.util包(java.util包是專門保存各種常用工具類的類庫)提供的一個工具類。它有類似數(shù)組的順序存儲的數(shù)據(jù)結構,但是具有比數(shù)組更強大的功能。,2、創(chuàng)建向量對象,Vector類有三個構造函數(shù): (1) Vector(): 構造一個空向量。 (2) Vector(int i): 用指定的初始化容量構造一個空向量。 (3) Vector(int i, int j): 用指定的初始化容量i和容量增量j構造一個空向量。 下面的語句就利用構造函數(shù)創(chuàng)建了一個向量序列: Vector v1 = new Vector(100,10);,向量的常用方法,2.6 字符串的簡單介紹,1、字符串聲明與創(chuàng)建 下面是聲明并創(chuàng)建字符串的語句: String str ; str = “this is a Stirng. “; 也可以將上面二條語句合并為一條語句: String str = “this is a String. “;,2、字符串操作,(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 equalsIgnoreCase(String str);,這里需要特別說明,比較二個數(shù)值x、y是否相等,我們使用x=y。而比較二個字符串相等則不能使用“=”來比較。請看下面的程序段:,(3)字符串與數(shù)值的轉換,字符串str轉換為整型: int x=Integer.paresInt(str); 字符串str轉換為float型: float n=Integer.paresFloat(str); 例如: String str = String.valueOf(123.4);,(4)字符串與字節(jié)數(shù)組的轉化,要將一個字符串轉化為字節(jié)數(shù)組,可用下列方法: byte d=字符串對象.getBytes(); 反之,要將一個字節(jié)數(shù)組轉化為字符串,則用字符串的構造方法就能達到目的。 String(byte, int offset, int length),3、使用StringTokenizer字符分析器,有時我們需要將字符串分解成可被獨立使用的單詞,這些單詞叫做語言符號。 當我們分析一個字符串并將字符串分解成可被獨立使用的單詞時,可以使用java.util包中的StringTokenizer類。StringTokenizer對象被稱為字符分析器。 其構造方法為: StringTokenizer(String str, String delim) 將指定字符串str按字符delim為分隔符進行分解。,StringTokenizer類的常用方法: hasMoreTokens():檢測字符串中是否還有語言符號,若有語言符號就返回true,否則返回false。 nextToken():逐個獲取字符串中的語言符號。 countTokens():計算調用了nextToken()方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論