第02章Java語言基礎(chǔ)
《第02章Java語言基礎(chǔ)》由會員分享,可在線閱讀,更多相關(guān)《第02章Java語言基礎(chǔ)(68頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、計算機與通信工程學(xué)院2011-2012(1)2.1 語言成分2.1.1 標(biāo)識符與關(guān)鍵字標(biāo)識符與關(guān)鍵字2.1.2 基本數(shù)據(jù)類型基本數(shù)據(jù)類型2.1.3 變量與常量變量與常量2.1.4 運算符與表達式運算符與表達式計算機與通信工程學(xué)院2011-2012(1)2.1.1 標(biāo)識符與關(guān)鍵字 JavaJava采用采用USC-2USC-2字符集,即字符集,即1616位位UnicodeUnicode字符編字符編碼,前碼,前128128個字符與個字符與ASCIIASCII字符集完全一致,后字符集完全一致,后面的是其它語言文字。面的是其它語言文字。 關(guān)鍵字:關(guān)鍵字: 關(guān)鍵字是由關(guān)鍵字是由JavaJava語言定義的、
2、具有特定含語言定義的、具有特定含義的單詞。例如義的單詞。例如:public:public、classclass、voidvoid等等。等等。計算機與通信工程學(xué)院2011-2012(1)標(biāo) 識 符 Java中標(biāo)識符的命名必須滿足以下原則:p標(biāo)識符必須以字母、下劃線(_)或美元符($)開頭,后面可以跟字母、數(shù)字、下劃線或美元符p標(biāo)識符可以包含數(shù)字,但不能以數(shù)字開頭p除下劃線“_”和“$”符號外,標(biāo)識符中不包含任何特殊字符,如空格p標(biāo)識符區(qū)分大小寫,比如,“abc”和“Abc”是兩個不同的標(biāo)識符p對于標(biāo)識符的長度沒有限制p不能使用Java關(guān)鍵字作為標(biāo)識符計算機與通信工程學(xué)院2011-2012(1)分
3、隔符 Java中分隔符分為兩類: 沒有意義的空白符沒有意義的空白符 擁有確定含義的普通分隔符擁有確定含義的普通分隔符 包括空格、回車、換行和制包括空格、回車、換行和制表符(表符(Tab) 普通分隔符普通分隔符名稱名稱功能說明功能說明大括號大括號 用來定義程序塊,類,方法以及局部范圍用來定義程序塊,類,方法以及局部范圍中括號中括號用來進行數(shù)組的聲明,也可用來表示撤銷對數(shù)組的引用用來進行數(shù)組的聲明,也可用來表示撤銷對數(shù)組的引用() 小括號小括號在定義和調(diào)用方法時用來容納參數(shù)表,在控制語句或強制在定義和調(diào)用方法時用來容納參數(shù)表,在控制語句或強制類型轉(zhuǎn)換組成的表達式中用來表示執(zhí)行或計算的優(yōu)先級類型轉(zhuǎn)換
4、組成的表達式中用來表示執(zhí)行或計算的優(yōu)先級 ;分號分號用來表示一條語句的結(jié)束用來表示一條語句的結(jié)束 ,逗號逗號在變量聲明中,用于分割變量表中的各個變量。在在變量聲明中,用于分割變量表中的各個變量。在for控制控制語句中用來將圓括號內(nèi)的語法連接起來語句中用來將圓括號內(nèi)的語法連接起來 :冒號冒號說明語句標(biāo)號。例如在三元運算符中使用說明語句標(biāo)號。例如在三元運算符中使用 計算機與通信工程學(xué)院2011-2012(1)注釋 注釋增加代碼的清晰度,尤其是復(fù)雜的程序中,注釋增加代碼的清晰度,尤其是復(fù)雜的程序中,加注釋可增加程序的可讀性,也有利于程序的加注釋可增加程序的可讀性,也有利于程序的修改、調(diào)試和交流,注釋
5、可出現(xiàn)在程序中任何修改、調(diào)試和交流,注釋可出現(xiàn)在程序中任何出現(xiàn)分隔符的地方。出現(xiàn)分隔符的地方。 JavaJava中的注釋可分為行注釋、塊注釋和文檔注中的注釋可分為行注釋、塊注釋和文檔注釋。釋。 計算機與通信工程學(xué)院2011-2012(1)注釋 單行注釋單行注釋 單行注釋使用單行注釋使用“/”/”進行標(biāo)記,用于對進行標(biāo)記,用于對某行代碼進行注釋??晌搽S在某行代碼后,也某行代碼進行注釋??晌搽S在某行代碼后,也可以單獨成一行??梢詥为毘梢恍小?int i = 0;/ 定義變量i /定義變量jint j = 0;計算機與通信工程學(xué)院2011-2012(1) 塊注釋塊注釋 塊注釋使用塊注釋使用“/ /*
6、 * */”/”進行標(biāo)記,通常用于注釋多進行標(biāo)記,通常用于注釋多行代碼或用于說明文件、方法、數(shù)據(jù)結(jié)構(gòu)等的意義與用途。行代碼或用于說明文件、方法、數(shù)據(jù)結(jié)構(gòu)等的意義與用途。 /* main方法負責(zé)輸入hello */public static void main(String args) /代碼省略注釋計算機與通信工程學(xué)院2011-2012(1) 文檔注釋文檔注釋 文檔注釋使用文檔注釋使用“/ /* * * */”/”進行標(biāo)記,并寫入進行標(biāo)記,并寫入javadocjavadoc文檔。注釋文檔將用來生成文檔。注釋文檔將用來生成HTMLHTML格式的代碼報告,所以注格式的代碼報告,所以注釋文檔必須書寫
7、在類、域、構(gòu)造函數(shù)、方法,以及字段釋文檔必須書寫在類、域、構(gòu)造函數(shù)、方法,以及字段(fieldfield)定義之前。)定義之前。 /* main方法負責(zé)輸出Hello * param args* return*/public static void main(String args) int i = 0;/ 定義變量i/其余代碼省略注釋計算機與通信工程學(xué)院2011-2012(1)2.1.2 基本數(shù)據(jù)類型 什么是數(shù)據(jù)類型什么是數(shù)據(jù)類型: :數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì),取值范圍數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì),取值范圍以及對數(shù)據(jù)所能進行的運算和操作。以及對數(shù)據(jù)所能進行的運算和操作。 JavaJava的數(shù)據(jù)類
8、型分為兩大類:基本數(shù)據(jù)類型和引用類型的數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型和引用類型基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(a
9、nnotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byt
10、e,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,do
11、uble字符類型:char布爾類型:boolean基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)計算機與通
12、信工程學(xué)院2011-2012(1) 基本數(shù)據(jù)類型容納的值及其范圍基本數(shù)據(jù)類型容納的值及其范圍類型類型大?。ㄎ唬┐笮。ㄎ唬┤≈捣秶≈捣秶鷅ytebyte(字節(jié)型)(字節(jié)型)8 8-2-27 72 27 7-1-1shortshort(短整型)(短整型)1616-2-215152 21515-1-1intint(整型)(整型)3232-2-231312 23131-1-1longlong(長整型)(長整型)6464-2-263632 26363-1-1doubledouble(雙精度)(雙精度)32323.4e-383.4e-383.4e+383.4e+38floatfloat(浮點型)(浮點型
13、)64641.7e-381.7e-381.7e+381.7e+38booleanboolean(布爾型)(布爾型) 1 1true / falsetrue / falsecharchar(字符型)(字符型)1616u0000uFFFFu0000uFFFF2.1.2 基本數(shù)據(jù)類型計算機與通信工程學(xué)院2011-2012(1) 引用類型引用類型類型類型說明說明數(shù)組數(shù)組具有相同數(shù)據(jù)類型的變量的集合具有相同數(shù)據(jù)類型的變量的集合 類類(class)(class)變量和方法的集合。如變量和方法的集合。如EmployeeEmployee類包含了員類包含了員工的詳細信息和操作這些信息的方法工的詳細信息和操作這些
14、信息的方法接口接口(interface)(interface)是一系列方法的聲明,方法特征的集合。可是一系列方法的聲明,方法特征的集合??梢詫崿F(xiàn)以實現(xiàn)JavaJava中的多重繼承中的多重繼承枚舉枚舉( (enumenum) )枚舉類型是一種獨特的值類型,它用于聲明枚舉類型是一種獨特的值類型,它用于聲明一組命名的常數(shù)一組命名的常數(shù)注解注解(annotation)(annotation)AnnotationAnnotation提供一種機制,將程序的元素如提供一種機制,將程序的元素如: :類類, ,方法方法, ,屬性屬性, ,參數(shù)參數(shù), ,本地變量本地變量, ,包和元數(shù)據(jù)聯(lián)包和元數(shù)據(jù)聯(lián)系起來系起來2
15、.1.2 基本數(shù)據(jù)類型計算機與通信工程學(xué)院2011-2012(1) 轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義ddd1到3位8進制數(shù)所表示的字符uxxxx1到4位16進制數(shù)所表示的字符單引號”雙引號反斜杠b退格r回車n換行t制表符2.1.2 基本數(shù)據(jù)類型計算機與通信工程學(xué)院2011-2012(1)2.1.3 變量與常量1.1.變量:變量:名字、類型、值和作用域名字、類型、值和作用域(1 1) 變量聲明變量聲明變量必須先聲明后使用。變量必須先聲明后使用。 修飾符修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 變量變量 = = 表達式表達式 , , 變量變量= = 表達式表達式 int count = 10; /聲明了一個int
16、型的變量,初始值為10int i,j,k;/聲明了三個int型變量,沒有賦初始值(2)變量參與的運算和操作)變量參與的運算和操作計算機與通信工程學(xué)院2011-2012(1)(3)變量的初始化 變量在使用之前必須被初始化,也就是至少被賦值一次。變量在使用之前必須被初始化,也就是至少被賦值一次。 可以聲明的同時賦值:可以聲明的同時賦值:int i = 10;String s = “abcd”;也可以聲明以后再賦值:也可以聲明以后再賦值:int i;String s;i = 99;s = “xyz”;計算機與通信工程學(xué)院2011-2012(1)2.常量 Java中用final關(guān)鍵字來定義常量,常量被
17、設(shè)定后,不允許再進行更改。 常量定義的格式如下所示:final var_name=var_value; 關(guān)鍵字關(guān)鍵字final表示這表示這個變量只能賦值一個變量只能賦值一次次 Java語言的任意數(shù)語言的任意數(shù)據(jù)類型之一據(jù)類型之一常量名,要符合常量名,要符合標(biāo)識符命名規(guī)則,標(biāo)識符命名規(guī)則,一般常量全部大一般常量全部大寫,用下劃線分寫,用下劃線分隔多個單詞隔多個單詞常量值常量值 示例final double PI = 3.1416; /聲明了一個double型的常量,值為3.1415計算機與通信工程學(xué)院2011-2012(1)2.1.4 運算符與表達式 JavaJava中的語句有很多種形式,表達式
18、是其中一種中的語句有很多種形式,表達式是其中一種語句。表達式是由操作數(shù)與運算符所組成;操作數(shù)可以語句。表達式是由操作數(shù)與運算符所組成;操作數(shù)可以是常量、變量甚至是函數(shù),而運算符就是數(shù)學(xué)上的運算是常量、變量甚至是函數(shù),而運算符就是數(shù)學(xué)上的運算符號,如符號,如“+”+”、“-”-”、“* *”、“/”/”等。以下面的表等。以下面的表達式(達式(a+10a+10)為例,)為例,a a與與1010都是操作數(shù),而都是操作數(shù),而+ +則為運算符。則為運算符。 運算符運算符表達式表達式操作數(shù)操作數(shù)操作數(shù)操作數(shù)a a+ + 10 10計算機與通信工程學(xué)院2011-2012(1)運算符p算術(shù)運算符算術(shù)運算符p關(guān)
19、系運算符關(guān)系運算符p位運算符位運算符p邏輯運算符邏輯運算符p強制類型轉(zhuǎn)換符強制類型轉(zhuǎn)換符p條件運算符條件運算符p括號運算符括號運算符:()、p字符串連接運算符:字符串連接運算符:+ +p賦值運算符賦值運算符p點運算符點運算符p對象運算符對象運算符p逗號運算符逗號運算符pnewnew運算符運算符在在Java語言中,運算符分為下面幾類:語言中,運算符分為下面幾類:計算機與通信工程學(xué)院2011-2012(1)運算符-1 算術(shù)運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例+ 加a+b%取模a%b-減或負號a-b,-b+自增a+,+a*乘a*b-自減a-,-a/除a/b
20、 示例 public class MathOP public static void main(String args) int a = 13; / 聲明int變量a,并賦值為13 int b = 4; / 聲明int變量b,并賦值為4 System.out.println(a+b= + (a + b); / 輸出a/b的值 System.out.println(a-b= + (a - b); / 輸出a/b的值 程序輸出:程序輸出: 17 9計算機與通信工程學(xué)院2011-2012(1)運算符-2 關(guān)系運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例大于ab=大
21、于等于a=b小于ab=小于等于ab = + (a b); System.out.println(ab = + (a b); 輸出:輸出: true false計算機與通信工程學(xué)院2011-2012(1)運算符-3 邏輯運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例!非!a&與a&b|或a|b 示例 例2.2 判斷一個月份是否為閏年。計算機與通信工程學(xué)院2011-2012(1)運算符-4 位運算符 運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義說明說明示例示例 按位非(NOT)按位非也叫做補,一元運算符NOT“”是對其運算數(shù)的每一位取反。 00101010= 11010101 &按位與(AND) 按位與運算符“&”
22、,如果兩個運算數(shù)都是1,則結(jié)果為1。其他情況下,結(jié)果均為零。 00101010 & 00001111 = 00001010 |按位或(OR) 按位或運算符“|”,任何一個運算數(shù)為1,則結(jié)果為1。 00101010 | 00001111 = 00101111 按位異或(XOR) 按位異或運算符“”,只有在兩個比較的位不同時其結(jié)果是1。 計算機與通信工程學(xué)院2011-2012(1)運算符運算符數(shù)學(xué)含義數(shù)學(xué)含義說明說明示例示例左移 value num。左移運算符使指定值的所有位都左移num位。每左移一個位,高階位都被移出(并且丟棄),并用0填充右邊。 11111000 1 = 11110000 1右
23、移 右移運算符使指定值的所有位都右移num位。當(dāng)值中的某些位被“移出”時,這些位的值將丟棄。右移時,被移走的最高位(最左邊的位)由原來最高位的數(shù)字補充。 11111000 1 = 11111100 -82 =-2無符號右移無符號右移運算符使指定值的所有位都右移num位。當(dāng)值中的某些位被“移出”時,這些位的值將丟棄。右移時,被移走的最高位(最左邊的位)固定由0補充。11111000 1 = 01111100 -130=3運算符-4 位運算符 計算機與通信工程學(xué)院2011-2012(1)運算符-5 賦值運算符賦值運算符 賦值運算符為一個單獨的等于號賦值運算符為一個單獨的等于號“=”,它將值賦給變量
24、,它將值賦給變量 。如:如: int i = 3; 此外賦值運算符可以與算術(shù)運算符結(jié)合成一個運算符。此外賦值運算符可以與算術(shù)運算符結(jié)合成一個運算符。如:如: i+=3; / 等效于i=i+3運算符運算符示例示例運算符運算符示例示例+=a += b /=a /= b -=a -= b %=a %= b*=a *= b 類似的賦值運算符如下表所示: 計算機與通信工程學(xué)院2011-2012(1)運算符-6 條件運算符條件運算符 條件運算符是三元運算符,語法格式為條件運算符是三元運算符,語法格式為 : ?e1:e2 表達式值的類型為布爾類型,若表達式的值為真,則返回e1的值;表達式的值為假,則返回e2
25、的值。 示例 public class ThreeOP public static void main(String args) int num1 = 3, num2 = 6; boolean result = (num1 num2) ? true : false; System.out.println(result); 演示結(jié)果:演示結(jié)果: false 計算機與通信工程學(xué)院2011-2012(1) 強制類型轉(zhuǎn)換符強制類型轉(zhuǎn)換符 “()”將一個表達式的數(shù)據(jù)類型強制轉(zhuǎn)換為指定數(shù)據(jù)類型。將一個表達式的數(shù)據(jù)類型強制轉(zhuǎn)換為指定數(shù)據(jù)類型。 格式:格式: (數(shù)據(jù)類型)表達式(數(shù)據(jù)類型)表達式運算符-7 括
26、號運算符括號運算符 圓括號圓括號“( )”用于改變表達式中運算符的優(yōu)先級。用于改變表達式中運算符的優(yōu)先級。 方括號方括號“ ”用于表示數(shù)組元素。用于表示數(shù)組元素。 字符串連接運算符字符串連接運算符 “+”用于連接兩個字符串。當(dāng)用用于連接兩個字符串。當(dāng)用“+”連接一個字符串與一個連接一個字符串與一個操作數(shù)時,操作數(shù)時,Java自動將操作數(shù)的值轉(zhuǎn)換為字符串。自動將操作數(shù)的值轉(zhuǎn)換為字符串。計算機與通信工程學(xué)院2011-2012(1) 點運算符點運算符 “.”用于分隔包、子包、類及類中成員。用于分隔包、子包、類及類中成員。 運算符-8 對象運算符對象運算符 instanceof判斷一個對象是否屬于指定
27、類及其子類,運算結(jié)判斷一個對象是否屬于指定類及其子類,運算結(jié)果是布爾類型。果是布爾類型。 逗號運算符逗號運算符 “,”用于分隔子表達式。用于分隔子表達式。 new運算符運算符 new運算符用于申請數(shù)組和創(chuàng)建對象。運算符用于申請數(shù)組和創(chuàng)建對象。計算機與通信工程學(xué)院2011-2012(1)運算符優(yōu)先級優(yōu)先次優(yōu)先次序序運算符運算符結(jié)合性結(jié)合性優(yōu)先次序優(yōu)先次序運算符運算符結(jié)合性結(jié)合性1. () 左9&左2+ - ! instanceof右10左3new (type)右11| 左4* / % 左12&左5+ - 左13|左6 = = 左15= += -= *= /= %= =右8= != 左16&= |
28、= = = 右 優(yōu)先級是指同一表達式中多個運算符被執(zhí)行的次序,在表達式求值時,先按運算符的優(yōu)先級由高到低的次序執(zhí)行。Java中運算符優(yōu)先級如下表所示。計算機與通信工程學(xué)院2011-2012(1)2.1.4 運算符與表達式 表達式書寫的注意事項表達式書寫的注意事項 : 1.乘法運算符乘法運算符“*”不能省略;不能省略; 2.數(shù)學(xué)運算的數(shù)學(xué)運算的 必須寫成!必須寫成!=、=、=100) & (n=100) if (n=999)【習(xí)題習(xí)題】 將將3個整數(shù)按從小到大的順序輸出。個整數(shù)按從小到大的順序輸出。計算機與通信工程學(xué)院2011-2012(1)2. switch語句switch (表達式表達式)
29、case 常量表達式常量表達式1: 語句序列語句序列1; break; case 常量表達式常量表達式2: 語句序列語句序列2; break; default: 語句序列語句序列;【例例2.4】 求一個日期(年月日)對應(yīng)的是星期幾。求一個日期(年月日)對應(yīng)的是星期幾。表達式和常量表達式的數(shù)據(jù)類型必須是整數(shù)或字符類型。表達式和常量表達式的數(shù)據(jù)類型必須是整數(shù)或字符類型。計算機與通信工程學(xué)院2011-2012(1)2.2.4 循環(huán)語句 while語句語句 while語句語法語句語法while (布爾表達式布爾表達式) 語句語句;【例例2.5】 用用while語句求語句求1n的累加和。的累加和。 wh
30、ile語句循環(huán)執(zhí)行次數(shù)問題討論語句循環(huán)執(zhí)行次數(shù)問題討論【例例2.6】 用輾轉(zhuǎn)相除法求兩個整數(shù)的最大公因數(shù)。用輾轉(zhuǎn)相除法求兩個整數(shù)的最大公因數(shù)。計算機與通信工程學(xué)院2011-2012(1)2. do-while語句 do-while語句語法語句語法do 語句語句; while (布爾表達式布爾表達式); do-while語句循環(huán)執(zhí)行次數(shù)問題討論語句循環(huán)執(zhí)行次數(shù)問題討論【例例2.7】 計算計算Fibonacci序列。序列。計算機與通信工程學(xué)院2011-2012(1)圖2.5 while與do-while語句執(zhí)行流程 語句布爾表達式?truefalse(a) while語句先判斷后執(zhí)行語句布爾表達式
31、?truefalse(b) do-while語句先執(zhí)行后判斷計算機與通信工程學(xué)院2011-2012(1)3. for語句 for語句語法語句語法for (表達式表達式1; 表達式表達式2; 表達式表達式3 ) 語句語句;【例例2.8】 用用for語句求累加和并顯示計算公式。語句求累加和并顯示計算公式。 for語句循環(huán)執(zhí)行次數(shù)問題討論語句循環(huán)執(zhí)行次數(shù)問題討論 使用使用for語句需要注意的問題語句需要注意的問題計算機與通信工程學(xué)院2011-2012(1)4. 多重循環(huán)【例例2.9】 輸出九九乘法表。輸出九九乘法表。演示演示for-for的兩重循環(huán)結(jié)構(gòu)。的兩重循環(huán)結(jié)構(gòu)。 【習(xí)題習(xí)題】 求求100以內(nèi)
32、的素數(shù)。以內(nèi)的素數(shù)。演示演示while與與do-while語句構(gòu)成的二重循環(huán)結(jié)構(gòu)。語句構(gòu)成的二重循環(huán)結(jié)構(gòu)。 計算機與通信工程學(xué)院2011-2012(1)2.2.5 轉(zhuǎn)移語句 return語句語句return 返回值返回值; break語句和語句和continue語句語句 break; /退出循環(huán)退出循環(huán) continue; /繼續(xù)循環(huán)繼續(xù)循環(huán)計算機與通信工程學(xué)院2011-2012(1)2.3 數(shù)組 2.3.1 一維數(shù)組一維數(shù)組 2.3.2 二維數(shù)組二維數(shù)組計算機與通信工程學(xué)院2011-2012(1)2.3.1 一維數(shù)組 聲明一維數(shù)組變量聲明一維數(shù)組變量數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組數(shù)組 或或 數(shù)據(jù)類型
33、數(shù)據(jù)類型 數(shù)組數(shù)組 int a ; 或或 int a; 使用使用new為數(shù)組分配空間為數(shù)組分配空間數(shù)組數(shù)組 = new 數(shù)據(jù)類型數(shù)據(jù)類型長度長度a = new int5;int a = new int5; 數(shù)組長度數(shù)組長度length數(shù)組數(shù)組.length計算機與通信工程學(xué)院2011-2012(1)2.3.1 一維數(shù)組4.數(shù)組元素的表示及運算數(shù)組元素的表示及運算數(shù)組數(shù)組下標(biāo)下標(biāo)a0,a1,a2,a3,a4 ai = ai-2+ai-1;/數(shù)組元素能夠參加運算數(shù)組元素能夠參加運算 數(shù)組聲明時賦初值數(shù)組聲明時賦初值int a =1,2,3,4,5;6.數(shù)組元素的初始化數(shù)組元素的初始化【例例2.10
34、】 用一維數(shù)組計算用一維數(shù)組計算Fibonacci序列值。序列值?!玖?xí)題習(xí)題】 “篩選法篩選法”求素數(shù)。求素數(shù)。計算機與通信工程學(xué)院2011-2012(1)圖2.8 一維數(shù)組 計算機與通信工程學(xué)院2011-2012(1)7. 數(shù)組的引用模型 基本數(shù)據(jù)類型變量的傳值賦值計算機與通信工程學(xué)院2011-2012(1)數(shù)組變量的引用賦值未初始化(a) int a=1,2,3,4,5, b; b=a; /引用賦值 b1=10; (b) 數(shù)組變量賦值,傳遞引用, a=b結(jié)果為true,a1=10 b=new int 4; (c) b重新申請數(shù)組空間,a=b結(jié)果為falsenull b=null; (d)
35、釋放數(shù)組占用的存儲空間12345aab110345b1103450000bba計算機與通信工程學(xué)院2011-2012(1)未初始化(a) int a=1,2,3,4,5, b; b=a; /引用賦值 b1=10; (b) 數(shù)組變量賦值,傳遞引用, a=b結(jié)果為true,a1=10 b=new int 4; (c) b重新申請數(shù)組空間,a=b結(jié)果為falsenull b=null; (d) 釋放數(shù)組占用的存儲空間12345aab110345b1103450000bba計算機與通信工程學(xué)院2011-2012(1) 數(shù)組的復(fù)制是指將源數(shù)組的元素一一做副本,賦值到目標(biāo)數(shù)組的對應(yīng)位置。常用的數(shù)組復(fù)制方法
36、有如下三種。 (1) (1) 使用循環(huán)語句進行復(fù)制使用循環(huán)語句進行復(fù)制 使用循環(huán)語句遍歷源數(shù)組每個元素,賦值給目標(biāo)數(shù)組對應(yīng)位置。使用循環(huán)語句遍歷源數(shù)組每個元素,賦值給目標(biāo)數(shù)組對應(yīng)位置。(2) (2) 使用使用clone()clone()方法方法在在JavaJava中,中,ObjectObject類是所有類的父類,其類是所有類的父類,其clone()clone()方法一般用于創(chuàng)建并返回此對象方法一般用于創(chuàng)建并返回此對象一個副本,一個副本,JavaJava中認為一切都是中認為一切都是“對象對象”,所以使用該方法也可以實現(xiàn)數(shù)組的復(fù)制。,所以使用該方法也可以實現(xiàn)數(shù)組的復(fù)制。public class A
37、rrayCopyClone public static void main(String args) int array1 = 1, 2, 3, 4, 5 ; /復(fù)制 int array2 = array1.clone(); /輸出array2結(jié)果 for (int i = 0; i array2.length; i+) System.out.print(array2i+,); 演示結(jié)果:演示結(jié)果: 1,2,3,4,5, 8. 復(fù)制數(shù)組計算機與通信工程學(xué)院2011-2012(1)8. 復(fù)制數(shù)組public static void arraycopy(Object src, int srcPos
38、, Object dest,int destPos,int length)例如:例如:int a =1,2,3,4,5;int b ;arraycopy(a,0,b,1,4); /將將a數(shù)組的前數(shù)組的前4個元素復(fù)制到個元素復(fù)制到b數(shù)組中數(shù)組中(3) 使用使用System.arraycopy方法方法 arraycopy()方法是方法是System類的一個靜態(tài)方法(并且是本類的一個靜態(tài)方法(并且是本地方法,效率非常高),其可以方便的實現(xiàn)數(shù)組拷貝功能,地方法,效率非常高),其可以方便的實現(xiàn)數(shù)組拷貝功能,System.arraycopy()方法的結(jié)構(gòu)如下:方法的結(jié)構(gòu)如下:計算機與通信工程學(xué)院2011-
39、2012(1)2.3.2 二維數(shù)組 聲明二維數(shù)組聲明二維數(shù)組int mat = new int 34; int mat = 1,2,3,4,5,6 ;二維數(shù)組元素表示格式如下:二維數(shù)組元素表示格式如下:二維數(shù)組二維數(shù)組下標(biāo)下標(biāo)1下標(biāo)下標(biāo)2matij /表示第表示第i行第行第j列的數(shù)組元素列的數(shù)組元素計算機與通信工程學(xué)院2011-2012(1)2. 二維數(shù)組的引用模型計算機與通信工程學(xué)院2011-2012(1)【例2.11】 幻方816357492計算機與通信工程學(xué)院2011-2012(1)3. 不規(guī)則的二維數(shù)組圖圖2.15 多次申請二維數(shù)組存儲空間多次申請二維數(shù)組存儲空間 (a) int ma
40、t;(b) mat=new int 2;(c) mat0=new int 2; mat1=new int 3;matmatmatmat0mat1mat0mat1(a) int mat;(b) mat=new int 2;(c) mat0=new int 2; mat1=new int 3;matmatmatmat0mat1mat0mat1計算機與通信工程學(xué)院2011-2012(1)2.4 靜態(tài)方法 2.4.1 方法聲明與調(diào)用方法聲明與調(diào)用 2.4.2 參數(shù)傳遞參數(shù)傳遞 2.4.3 方法重載方法重載 2.4.4 遞歸方法遞歸方法計算機與通信工程學(xué)院2011-2012(1)2.4.1 方法聲明與調(diào)
41、用 方法聲明方法聲明修飾符修飾符 返回值類型返回值類型 方法方法(參數(shù)列表參數(shù)列表) 語句序列語句序列; return 返回值返回值; 方法調(diào)用方法調(diào)用方法方法(參數(shù)列表參數(shù)列表) 聲明聲明main方法方法public static void main(String args)【例例2.12】 輸出指定范圍內(nèi)的素數(shù)。輸出指定范圍內(nèi)的素數(shù)。計算機與通信工程學(xué)院2011-2012(1)2.4.2 參數(shù)傳遞方法調(diào)用時的參數(shù)傳遞原則方法調(diào)用時的參數(shù)傳遞原則 基本數(shù)據(jù)類型參數(shù)傳遞值;基本數(shù)據(jù)類型參數(shù)傳遞值; 引用數(shù)據(jù)類型參數(shù)傳遞引用。引用數(shù)據(jù)類型參數(shù)傳遞引用。 【例例2.13】 交換兩個變量值問題討論。
42、交換兩個變量值問題討論?!纠?.14】 合并兩組數(shù)。合并兩組數(shù)。計算機與通信工程學(xué)院2011-2012(1)【例2.15】 楊輝三角。計算機與通信工程學(xué)院2011-2012(1)2.4.3 方法重載void print(boolean b)void print(char c)void print(int i)void print(double d)重載的含義,重載的含義,Math.abs()方法聲明有方法聲明有4種:種: int abs(int a) long abs(long a) float abs(float a) double abs(double a)計算機與通信工程學(xué)院2011-
43、2012(1)2.4.4 遞歸方法 遞歸定義遞歸定義 遞歸算法遞歸算法【例例2.16】 求求n!的遞歸方法。的遞歸方法。f(n) = n*f(n-1)5!=5*4*3*2*1=5*4!0! = 1 或或 1! = 1n! = n*(n-1)!2)!1(1 , 01!nnnnn計算機與通信工程學(xué)院2011-2012(1)【例2.17】 求Fibonacci數(shù)列第n項的遞歸方法。0,1,1,2,3,5,8,2)2() 1(1 , 0)(nnfibnfibnnnfib計算機與通信工程學(xué)院2011-2012(1)2.5 字符串2.5.1 字符串的基本數(shù)據(jù)類型特性字符串的基本數(shù)據(jù)類型特性 字符串常量字符
44、串常量 “abc” 字符串變量及運算字符串變量及運算 賦值運算賦值運算String str = abc;String str2 = str; 連接運算連接運算str = abc + xyz; /str的值為的值為abcxyz 3. 字符串不是字符數(shù)組字符串不是字符數(shù)組計算機與通信工程學(xué)院2011-2012(1)2.5.2 字符串的類特性字符串變量字符串變量.方法方法(參數(shù)列表參數(shù)列表)String類的主要方法類的主要方法,例如:例如:String str = abc;int n = str.length(); /n獲得獲得str的長度的長度char ch = str.charAt(0); /ch獲得獲得str的第的第1個字符個字符a【例例2.18】 判斷標(biāo)識符。判斷標(biāo)識符。計算機與通信工程學(xué)院2011-2012(1)實驗2 Java程序設(shè)計基礎(chǔ)n目的:目的:掌握掌握Java語言的基本語法。語言的基本語法。 要求:要求:掌握使用掌握使用流程控制語句、流程控制語句、數(shù)組、靜態(tài)數(shù)組、靜態(tài)方法和方法和字符串。掌握字符串。掌握Eclipse的程序調(diào)試技術(shù)。的程序調(diào)試技術(shù)。 重點:重點:數(shù)組的引用模型,數(shù)組的引用模型,基本類型和引用類基本類型和引用類型作為方法參數(shù)和返回值的傳遞規(guī)則。型作為方法參數(shù)和返回值的傳遞規(guī)則。 難點:難點:Eclipse的程序調(diào)試技術(shù)。的程序調(diào)試技術(shù)。
- 溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案