第02章Java語言基礎(chǔ)
《第02章Java語言基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《第02章Java語言基礎(chǔ)(68頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.1 語言成分2.1.1 標(biāo)識(shí)符與關(guān)鍵字標(biāo)識(shí)符與關(guān)鍵字2.1.2 基本數(shù)據(jù)類型基本數(shù)據(jù)類型2.1.3 變量與常量變量與常量2.1.4 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.1.1 標(biāo)識(shí)符與關(guān)鍵字 JavaJava采用采用USC-2USC-2字符集,即字符集,即1616位位UnicodeUnicode字符編字符編碼,前碼,前128128個(gè)字符與個(gè)字符與ASCIIASCII字符集完全一致,后字符集完全一致,后面的是其它語言文字。面的是其它語言文字。 關(guān)鍵字:關(guān)鍵字: 關(guān)鍵字是由關(guān)鍵字是由JavaJava語言定義的、
2、具有特定含語言定義的、具有特定含義的單詞。例如義的單詞。例如:public:public、classclass、voidvoid等等。等等。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)標(biāo) 識(shí) 符 Java中標(biāo)識(shí)符的命名必須滿足以下原則:p標(biāo)識(shí)符必須以字母、下劃線(_)或美元符($)開頭,后面可以跟字母、數(shù)字、下劃線或美元符p標(biāo)識(shí)符可以包含數(shù)字,但不能以數(shù)字開頭p除下劃線“_”和“$”符號(hào)外,標(biāo)識(shí)符中不包含任何特殊字符,如空格p標(biāo)識(shí)符區(qū)分大小寫,比如,“abc”和“Abc”是兩個(gè)不同的標(biāo)識(shí)符p對(duì)于標(biāo)識(shí)符的長(zhǎng)度沒有限制p不能使用Java關(guān)鍵字作為標(biāo)識(shí)符計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)分
3、隔符 Java中分隔符分為兩類: 沒有意義的空白符沒有意義的空白符 擁有確定含義的普通分隔符擁有確定含義的普通分隔符 包括空格、回車、換行和制包括空格、回車、換行和制表符(表符(Tab) 普通分隔符普通分隔符名稱名稱功能說明功能說明大括號(hào)大括號(hào) 用來定義程序塊,類,方法以及局部范圍用來定義程序塊,類,方法以及局部范圍中括號(hào)中括號(hào)用來進(jìn)行數(shù)組的聲明,也可用來表示撤銷對(duì)數(shù)組的引用用來進(jìn)行數(shù)組的聲明,也可用來表示撤銷對(duì)數(shù)組的引用() 小括號(hào)小括號(hào)在定義和調(diào)用方法時(shí)用來容納參數(shù)表,在控制語句或強(qiáng)制在定義和調(diào)用方法時(shí)用來容納參數(shù)表,在控制語句或強(qiáng)制類型轉(zhuǎn)換組成的表達(dá)式中用來表示執(zhí)行或計(jì)算的優(yōu)先級(jí)類型轉(zhuǎn)換
4、組成的表達(dá)式中用來表示執(zhí)行或計(jì)算的優(yōu)先級(jí) ;分號(hào)分號(hào)用來表示一條語句的結(jié)束用來表示一條語句的結(jié)束 ,逗號(hào)逗號(hào)在變量聲明中,用于分割變量表中的各個(gè)變量。在在變量聲明中,用于分割變量表中的各個(gè)變量。在for控制控制語句中用來將圓括號(hào)內(nèi)的語法連接起來語句中用來將圓括號(hào)內(nèi)的語法連接起來 :冒號(hào)冒號(hào)說明語句標(biāo)號(hào)。例如在三元運(yùn)算符中使用說明語句標(biāo)號(hào)。例如在三元運(yùn)算符中使用 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)注釋 注釋增加代碼的清晰度,尤其是復(fù)雜的程序中,注釋增加代碼的清晰度,尤其是復(fù)雜的程序中,加注釋可增加程序的可讀性,也有利于程序的加注釋可增加程序的可讀性,也有利于程序的修改、調(diào)試和交流,注釋
5、可出現(xiàn)在程序中任何修改、調(diào)試和交流,注釋可出現(xiàn)在程序中任何出現(xiàn)分隔符的地方。出現(xiàn)分隔符的地方。 JavaJava中的注釋可分為行注釋、塊注釋和文檔注中的注釋可分為行注釋、塊注釋和文檔注釋。釋。 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)注釋 單行注釋單行注釋 單行注釋使用單行注釋使用“/”/”進(jìn)行標(biāo)記,用于對(duì)進(jìn)行標(biāo)記,用于對(duì)某行代碼進(jìn)行注釋??晌搽S在某行代碼后,也某行代碼進(jìn)行注釋??晌搽S在某行代碼后,也可以單獨(dú)成一行??梢詥为?dú)成一行。 int i = 0;/ 定義變量i /定義變量jint j = 0;計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 塊注釋塊注釋 塊注釋使用塊注釋使用“/ /*
6、 * */”/”進(jìn)行標(biāo)記,通常用于注釋多進(jìn)行標(biāo)記,通常用于注釋多行代碼或用于說明文件、方法、數(shù)據(jù)結(jié)構(gòu)等的意義與用途。行代碼或用于說明文件、方法、數(shù)據(jù)結(jié)構(gòu)等的意義與用途。 /* main方法負(fù)責(zé)輸入hello */public static void main(String args) /代碼省略注釋計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 文檔注釋文檔注釋 文檔注釋使用文檔注釋使用“/ /* * * */”/”進(jìn)行標(biāo)記,并寫入進(jìn)行標(biāo)記,并寫入javadocjavadoc文檔。注釋文檔將用來生成文檔。注釋文檔將用來生成HTMLHTML格式的代碼報(bào)告,所以注格式的代碼報(bào)告,所以注釋文檔必須書寫
7、在類、域、構(gòu)造函數(shù)、方法,以及字段釋文檔必須書寫在類、域、構(gòu)造函數(shù)、方法,以及字段(fieldfield)定義之前。)定義之前。 /* main方法負(fù)責(zé)輸出Hello * param args* return*/public static void main(String args) int i = 0;/ 定義變量i/其余代碼省略注釋計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.1.2 基本數(shù)據(jù)類型 什么是數(shù)據(jù)類型什么是數(shù)據(jù)類型: :數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì),取值范圍數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì),取值范圍以及對(duì)數(shù)據(jù)所能進(jìn)行的運(yùn)算和操作。以及對(duì)數(shù)據(jù)所能進(jìn)行的運(yùn)算和操作。 JavaJava的數(shù)據(jù)類
8、型分為兩大類:基本數(shù)據(jù)類型和引用類型的數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型和引用類型基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(a
9、nnotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byt
10、e,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型: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浮點(diǎn)類型:float,do
11、uble字符類型:char布爾類型:boolean基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)基本數(shù)據(jù)類型基本數(shù)據(jù)類型整數(shù)類型:byte,short, int,long浮點(diǎn)類型:float,double字符類型:char布爾類型:boolean引用類型引用類型類(class)接口(interface)數(shù)組(如int )枚舉(enum)注解(annotation)計(jì)算機(jī)與通
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(長(zhǎng)整型)(長(zhǎng)整型)6464-2-263632 26363-1-1doubledouble(雙精度)(雙精度)32323.4e-383.4e-383.4e+383.4e+38floatfloat(浮點(diǎn)型)(浮點(diǎn)型
13、)64641.7e-381.7e-381.7e+381.7e+38booleanboolean(布爾型)(布爾型) 1 1true / falsetrue / falsecharchar(字符型)(字符型)1616u0000uFFFFu0000uFFFF2.1.2 基本數(shù)據(jù)類型計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 引用類型引用類型類型類型說明說明數(shù)組數(shù)組具有相同數(shù)據(jù)類型的變量的集合具有相同數(shù)據(jù)類型的變量的集合 類類(class)(class)變量和方法的集合。如變量和方法的集合。如EmployeeEmployee類包含了員類包含了員工的詳細(xì)信息和操作這些信息的方法工的詳細(xì)信息和操作這些
14、信息的方法接口接口(interface)(interface)是一系列方法的聲明,方法特征的集合??墒且幌盗蟹椒ǖ穆暶?,方法特征的集合??梢詫?shí)現(xiàn)以實(shí)現(xiàn)JavaJava中的多重繼承中的多重繼承枚舉枚舉( (enumenum) )枚舉類型是一種獨(dú)特的值類型,它用于聲明枚舉類型是一種獨(dú)特的值類型,它用于聲明一組命名的常數(shù)一組命名的常數(shù)注解注解(annotation)(annotation)AnnotationAnnotation提供一種機(jī)制,將程序的元素如提供一種機(jī)制,將程序的元素如: :類類, ,方法方法, ,屬性屬性, ,參數(shù)參數(shù), ,本地變量本地變量, ,包和元數(shù)據(jù)聯(lián)包和元數(shù)據(jù)聯(lián)系起來系起來2
15、.1.2 基本數(shù)據(jù)類型計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義ddd1到3位8進(jìn)制數(shù)所表示的字符uxxxx1到4位16進(jìn)制數(shù)所表示的字符單引號(hào)”雙引號(hào)反斜杠b退格r回車n換行t制表符2.1.2 基本數(shù)據(jù)類型計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.1.3 變量與常量1.1.變量:變量:名字、類型、值和作用域名字、類型、值和作用域(1 1) 變量聲明變量聲明變量必須先聲明后使用。變量必須先聲明后使用。 修飾符修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 變量變量 = = 表達(dá)式表達(dá)式 , , 變量變量= = 表達(dá)式表達(dá)式 int count = 10; /聲明了一個(gè)int
16、型的變量,初始值為10int i,j,k;/聲明了三個(gè)int型變量,沒有賦初始值(2)變量參與的運(yùn)算和操作)變量參與的運(yùn)算和操作計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)(3)變量的初始化 變量在使用之前必須被初始化,也就是至少被賦值一次。變量在使用之前必須被初始化,也就是至少被賦值一次。 可以聲明的同時(shí)賦值:可以聲明的同時(shí)賦值:int i = 10;String s = “abcd”;也可以聲明以后再賦值:也可以聲明以后再賦值:int i;String s;i = 99;s = “xyz”;計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.常量 Java中用final關(guān)鍵字來定義常量,常量被
17、設(shè)定后,不允許再進(jìn)行更改。 常量定義的格式如下所示:final var_name=var_value; 關(guān)鍵字關(guān)鍵字final表示這表示這個(gè)變量只能賦值一個(gè)變量只能賦值一次次 Java語言的任意數(shù)語言的任意數(shù)據(jù)類型之一據(jù)類型之一常量名,要符合常量名,要符合標(biāo)識(shí)符命名規(guī)則,標(biāo)識(shí)符命名規(guī)則,一般常量全部大一般常量全部大寫,用下劃線分寫,用下劃線分隔多個(gè)單詞隔多個(gè)單詞常量值常量值 示例final double PI = 3.1416; /聲明了一個(gè)double型的常量,值為3.1415計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.1.4 運(yùn)算符與表達(dá)式 JavaJava中的語句有很多種形式,表達(dá)式
18、是其中一種中的語句有很多種形式,表達(dá)式是其中一種語句。表達(dá)式是由操作數(shù)與運(yùn)算符所組成;操作數(shù)可以語句。表達(dá)式是由操作數(shù)與運(yùn)算符所組成;操作數(shù)可以是常量、變量甚至是函數(shù),而運(yùn)算符就是數(shù)學(xué)上的運(yùn)算是常量、變量甚至是函數(shù),而運(yùn)算符就是數(shù)學(xué)上的運(yùn)算符號(hào),如符號(hào),如“+”+”、“-”-”、“* *”、“/”/”等。以下面的表等。以下面的表達(dá)式(達(dá)式(a+10a+10)為例,)為例,a a與與1010都是操作數(shù),而都是操作數(shù),而+ +則為運(yùn)算符。則為運(yùn)算符。 運(yùn)算符運(yùn)算符表達(dá)式表達(dá)式操作數(shù)操作數(shù)操作數(shù)操作數(shù)a a+ + 10 10計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符p算術(shù)運(yùn)算符算術(shù)運(yùn)算符p關(guān)
19、系運(yùn)算符關(guān)系運(yùn)算符p位運(yùn)算符位運(yùn)算符p邏輯運(yùn)算符邏輯運(yùn)算符p強(qiáng)制類型轉(zhuǎn)換符強(qiáng)制類型轉(zhuǎn)換符p條件運(yùn)算符條件運(yùn)算符p括號(hào)運(yùn)算符括號(hào)運(yùn)算符:()、p字符串連接運(yùn)算符:字符串連接運(yùn)算符:+ +p賦值運(yùn)算符賦值運(yùn)算符p點(diǎn)運(yùn)算符點(diǎn)運(yùn)算符p對(duì)象運(yùn)算符對(duì)象運(yùn)算符p逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符pnewnew運(yùn)算符運(yùn)算符在在Java語言中,運(yùn)算符分為下面幾類:語言中,運(yùn)算符分為下面幾類:計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符-1 算術(shù)運(yùn)算符 運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例+ 加a+b%取模a%b-減或負(fù)號(hào)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計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符-2 關(guān)系運(yùn)算符 運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例大于ab=大
21、于等于a=b小于ab=小于等于ab = + (a b); System.out.println(ab = + (a b); 輸出:輸出: true false計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符-3 邏輯運(yùn)算符 運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義示例示例!非!a&與a&b|或a|b 示例 例2.2 判斷一個(gè)月份是否為閏年。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符-4 位運(yùn)算符 運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義說明說明示例示例 按位非(NOT)按位非也叫做補(bǔ),一元運(yùn)算符NOT“”是對(duì)其運(yùn)算數(shù)的每一位取反。 00101010= 11010101 &按位與(AND) 按位與運(yùn)算符“&”
22、,如果兩個(gè)運(yùn)算數(shù)都是1,則結(jié)果為1。其他情況下,結(jié)果均為零。 00101010 & 00001111 = 00001010 |按位或(OR) 按位或運(yùn)算符“|”,任何一個(gè)運(yùn)算數(shù)為1,則結(jié)果為1。 00101010 | 00001111 = 00101111 按位異或(XOR) 按位異或運(yùn)算符“”,只有在兩個(gè)比較的位不同時(shí)其結(jié)果是1。 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符運(yùn)算符數(shù)學(xué)含義數(shù)學(xué)含義說明說明示例示例左移 value num。左移運(yùn)算符使指定值的所有位都左移num位。每左移一個(gè)位,高階位都被移出(并且丟棄),并用0填充右邊。 11111000 1 = 11110000 1右
23、移 右移運(yùn)算符使指定值的所有位都右移num位。當(dāng)值中的某些位被“移出”時(shí),這些位的值將丟棄。右移時(shí),被移走的最高位(最左邊的位)由原來最高位的數(shù)字補(bǔ)充。 11111000 1 = 11111100 -82 =-2無符號(hào)右移無符號(hào)右移運(yùn)算符使指定值的所有位都右移num位。當(dāng)值中的某些位被“移出”時(shí),這些位的值將丟棄。右移時(shí),被移走的最高位(最左邊的位)固定由0補(bǔ)充。11111000 1 = 01111100 -130=3運(yùn)算符-4 位運(yùn)算符 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符-5 賦值運(yùn)算符賦值運(yùn)算符 賦值運(yùn)算符為一個(gè)單獨(dú)的等于號(hào)賦值運(yùn)算符為一個(gè)單獨(dú)的等于號(hào)“=”,它將值賦給變量
24、,它將值賦給變量 。如:如: int i = 3; 此外賦值運(yùn)算符可以與算術(shù)運(yùn)算符結(jié)合成一個(gè)運(yùn)算符。此外賦值運(yùn)算符可以與算術(shù)運(yùn)算符結(jié)合成一個(gè)運(yùn)算符。如:如: i+=3; / 等效于i=i+3運(yùn)算符運(yùn)算符示例示例運(yùn)算符運(yùn)算符示例示例+=a += b /=a /= b -=a -= b %=a %= b*=a *= b 類似的賦值運(yùn)算符如下表所示: 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符-6 條件運(yùn)算符條件運(yùn)算符 條件運(yùn)算符是三元運(yùn)算符,語法格式為條件運(yùn)算符是三元運(yùn)算符,語法格式為 : ?e1:e2 表達(dá)式值的類型為布爾類型,若表達(dá)式的值為真,則返回e1的值;表達(dá)式的值為假,則返回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 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 強(qiáng)制類型轉(zhuǎn)換符強(qiáng)制類型轉(zhuǎn)換符 “()”將一個(gè)表達(dá)式的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為指定數(shù)據(jù)類型。將一個(gè)表達(dá)式的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為指定數(shù)據(jù)類型。 格式:格式: (數(shù)據(jù)類型)表達(dá)式(數(shù)據(jù)類型)表達(dá)式運(yùn)算符-7 括
26、號(hào)運(yùn)算符括號(hào)運(yùn)算符 圓括號(hào)圓括號(hào)“( )”用于改變表達(dá)式中運(yùn)算符的優(yōu)先級(jí)。用于改變表達(dá)式中運(yùn)算符的優(yōu)先級(jí)。 方括號(hào)方括號(hào)“ ”用于表示數(shù)組元素。用于表示數(shù)組元素。 字符串連接運(yùn)算符字符串連接運(yùn)算符 “+”用于連接兩個(gè)字符串。當(dāng)用用于連接兩個(gè)字符串。當(dāng)用“+”連接一個(gè)字符串與一個(gè)連接一個(gè)字符串與一個(gè)操作數(shù)時(shí),操作數(shù)時(shí),Java自動(dòng)將操作數(shù)的值轉(zhuǎn)換為字符串。自動(dòng)將操作數(shù)的值轉(zhuǎn)換為字符串。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 點(diǎn)運(yùn)算符點(diǎn)運(yùn)算符 “.”用于分隔包、子包、類及類中成員。用于分隔包、子包、類及類中成員。 運(yùn)算符-8 對(duì)象運(yùn)算符對(duì)象運(yùn)算符 instanceof判斷一個(gè)對(duì)象是否屬于指定
27、類及其子類,運(yùn)算結(jié)判斷一個(gè)對(duì)象是否屬于指定類及其子類,運(yùn)算結(jié)果是布爾類型。果是布爾類型。 逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 “,”用于分隔子表達(dá)式。用于分隔子表達(dá)式。 new運(yùn)算符運(yùn)算符 new運(yùn)算符用于申請(qǐng)數(shù)組和創(chuàng)建對(duì)象。運(yùn)算符用于申請(qǐng)數(shù)組和創(chuàng)建對(duì)象。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)運(yùn)算符優(yōu)先級(jí)優(yōu)先次優(yōu)先次序序運(yùn)算符運(yùn)算符結(jié)合性結(jié)合性優(yōu)先次序優(yōu)先次序運(yùn)算符運(yùn)算符結(jié)合性結(jié)合性1. () 左9&左2+ - ! instanceof右10左3new (type)右11| 左4* / % 左12&左5+ - 左13|左6 = = 左15= += -= *= /= %= =右8= != 左16&= |
28、= = = 右 優(yōu)先級(jí)是指同一表達(dá)式中多個(gè)運(yùn)算符被執(zhí)行的次序,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)由高到低的次序執(zhí)行。Java中運(yùn)算符優(yōu)先級(jí)如下表所示。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.1.4 運(yùn)算符與表達(dá)式 表達(dá)式書寫的注意事項(xiàng)表達(dá)式書寫的注意事項(xiàng) : 1.乘法運(yùn)算符乘法運(yùn)算符“*”不能省略;不能省略; 2.數(shù)學(xué)運(yùn)算的數(shù)學(xué)運(yùn)算的 必須寫成!必須寫成!=、=、=100) & (n=100) if (n=999)【習(xí)題習(xí)題】 將將3個(gè)整數(shù)按從小到大的順序輸出。個(gè)整數(shù)按從小到大的順序輸出。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2. switch語句switch (表達(dá)式表達(dá)式)
29、case 常量表達(dá)式常量表達(dá)式1: 語句序列語句序列1; break; case 常量表達(dá)式常量表達(dá)式2: 語句序列語句序列2; break; default: 語句序列語句序列;【例例2.4】 求一個(gè)日期(年月日)對(duì)應(yīng)的是星期幾。求一個(gè)日期(年月日)對(duì)應(yīng)的是星期幾。表達(dá)式和常量表達(dá)式的數(shù)據(jù)類型必須是整數(shù)或字符類型。表達(dá)式和常量表達(dá)式的數(shù)據(jù)類型必須是整數(shù)或字符類型。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.2.4 循環(huán)語句 while語句語句 while語句語法語句語法while (布爾表達(dá)式布爾表達(dá)式) 語句語句;【例例2.5】 用用while語句求語句求1n的累加和。的累加和。 wh
30、ile語句循環(huán)執(zhí)行次數(shù)問題討論語句循環(huán)執(zhí)行次數(shù)問題討論【例例2.6】 用輾轉(zhuǎn)相除法求兩個(gè)整數(shù)的最大公因數(shù)。用輾轉(zhuǎn)相除法求兩個(gè)整數(shù)的最大公因數(shù)。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2. do-while語句 do-while語句語法語句語法do 語句語句; while (布爾表達(dá)式布爾表達(dá)式); do-while語句循環(huán)執(zhí)行次數(shù)問題討論語句循環(huán)執(zhí)行次數(shù)問題討論【例例2.7】 計(jì)算計(jì)算Fibonacci序列。序列。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)圖2.5 while與do-while語句執(zhí)行流程 語句布爾表達(dá)式?truefalse(a) while語句先判斷后執(zhí)行語句布爾表達(dá)式
31、?truefalse(b) do-while語句先執(zhí)行后判斷計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)3. for語句 for語句語法語句語法for (表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2; 表達(dá)式表達(dá)式3 ) 語句語句;【例例2.8】 用用for語句求累加和并顯示計(jì)算公式。語句求累加和并顯示計(jì)算公式。 for語句循環(huán)執(zhí)行次數(shù)問題討論語句循環(huán)執(zhí)行次數(shù)問題討論 使用使用for語句需要注意的問題語句需要注意的問題計(jì)算機(jī)與通信工程學(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、的素?cái)?shù)。以內(nèi)的素?cái)?shù)。演示演示while與與do-while語句構(gòu)成的二重循環(huán)結(jié)構(gòu)。語句構(gòu)成的二重循環(huán)結(jié)構(gòu)。 計(jì)算機(jī)與通信工程學(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)計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.3 數(shù)組 2.3.1 一維數(shù)組一維數(shù)組 2.3.2 二維數(shù)組二維數(shù)組計(jì)算機(jī)與通信工程學(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ù)類型長(zhǎng)度長(zhǎng)度a = new int5;int a = new int5; 數(shù)組長(zhǎng)度數(shù)組長(zhǎng)度length數(shù)組數(shù)組.length計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.3.1 一維數(shù)組4.數(shù)組元素的表示及運(yùn)算數(shù)組元素的表示及運(yùn)算數(shù)組數(shù)組下標(biāo)下標(biāo)a0,a1,a2,a3,a4 ai = ai-2+ai-1;/數(shù)組元素能夠參加運(yùn)算數(shù)組元素能夠參加運(yùn)算 數(shù)組聲明時(shí)賦初值數(shù)組聲明時(shí)賦初值int a =1,2,3,4,5;6.數(shù)組元素的初始化數(shù)組元素的初始化【例例2.10
34、】 用一維數(shù)組計(jì)算用一維數(shù)組計(jì)算Fibonacci序列值。序列值?!玖?xí)題習(xí)題】 “篩選法篩選法”求素?cái)?shù)。求素?cái)?shù)。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)圖2.8 一維數(shù)組 計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)7. 數(shù)組的引用模型 基本數(shù)據(jù)類型變量的傳值賦值計(jì)算機(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重新申請(qǐng)數(shù)組空間,a=b結(jié)果為falsenull b=null; (d)
35、釋放數(shù)組占用的存儲(chǔ)空間12345aab110345b1103450000bba計(jì)算機(jī)與通信工程學(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重新申請(qǐng)數(shù)組空間,a=b結(jié)果為falsenull b=null; (d) 釋放數(shù)組占用的存儲(chǔ)空間12345aab110345b1103450000bba計(jì)算機(jī)與通信工程學(xué)院2011-2012(1) 數(shù)組的復(fù)制是指將源數(shù)組的元素一一做副本,賦值到目標(biāo)數(shù)組的對(duì)應(yīng)位置。常用的數(shù)組復(fù)制方法
36、有如下三種。 (1) (1) 使用循環(huán)語句進(jìn)行復(fù)制使用循環(huán)語句進(jìn)行復(fù)制 使用循環(huán)語句遍歷源數(shù)組每個(gè)元素,賦值給目標(biāo)數(shù)組對(duì)應(yīng)位置。使用循環(huán)語句遍歷源數(shù)組每個(gè)元素,賦值給目標(biāo)數(shù)組對(duì)應(yīng)位置。(2) (2) 使用使用clone()clone()方法方法在在JavaJava中,中,ObjectObject類是所有類的父類,其類是所有類的父類,其clone()clone()方法一般用于創(chuàng)建并返回此對(duì)象方法一般用于創(chuàng)建并返回此對(duì)象一個(gè)副本,一個(gè)副本,JavaJava中認(rèn)為一切都是中認(rèn)為一切都是“對(duì)象對(duì)象”,所以使用該方法也可以實(shí)現(xiàn)數(shù)組的復(fù)制。,所以使用該方法也可以實(shí)現(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ù)組計(jì)算機(jī)與通信工程學(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個(gè)元素復(fù)制到個(gè)元素復(fù)制到b數(shù)組中數(shù)組中(3) 使用使用System.arraycopy方法方法 arraycopy()方法是方法是System類的一個(gè)靜態(tài)方法(并且是本類的一個(gè)靜態(tài)方法(并且是本地方法,效率非常高),其可以方便的實(shí)現(xiàn)數(shù)組拷貝功能,地方法,效率非常高),其可以方便的實(shí)現(xiàn)數(shù)組拷貝功能,System.arraycopy()方法的結(jié)構(gòu)如下:方法的結(jié)構(gòu)如下:計(jì)算機(jī)與通信工程學(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ù)組元素計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2. 二維數(shù)組的引用模型計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)【例2.11】 幻方816357492計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)3. 不規(guī)則的二維數(shù)組圖圖2.15 多次申請(qǐng)二維數(shù)組存儲(chǔ)空間多次申請(qǐng)二維數(shù)組存儲(chǔ)空間 (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計(jì)算機(jī)與通信工程學(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 遞歸方法遞歸方法計(jì)算機(jī)與通信工程學(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)的素?cái)?shù)。輸出指定范圍內(nèi)的素?cái)?shù)。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.4.2 參數(shù)傳遞方法調(diào)用時(shí)的參數(shù)傳遞原則方法調(diào)用時(shí)的參數(shù)傳遞原則 基本數(shù)據(jù)類型參數(shù)傳遞值;基本數(shù)據(jù)類型參數(shù)傳遞值; 引用數(shù)據(jù)類型參數(shù)傳遞引用。引用數(shù)據(jù)類型參數(shù)傳遞引用。 【例例2.13】 交換兩個(gè)變量值問題討論。
42、交換兩個(gè)變量值問題討論。【例例2.14】 合并兩組數(shù)。合并兩組數(shù)。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)【例2.15】 楊輝三角。計(jì)算機(jī)與通信工程學(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)計(jì)算機(jī)與通信工程學(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計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)【例2.17】 求Fibonacci數(shù)列第n項(xiàng)的遞歸方法。0,1,1,2,3,5,8,2)2() 1(1 , 0)(nnfibnfibnnnfib計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.5 字符串2.5.1 字符串的基本數(shù)據(jù)類型特性字符串的基本數(shù)據(jù)類型特性 字符串常量字符
44、串常量 “abc” 字符串變量及運(yùn)算字符串變量及運(yùn)算 賦值運(yùn)算賦值運(yùn)算String str = abc;String str2 = str; 連接運(yùn)算連接運(yùn)算str = abc + xyz; /str的值為的值為abcxyz 3. 字符串不是字符數(shù)組字符串不是字符數(shù)組計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)2.5.2 字符串的類特性字符串變量字符串變量.方法方法(參數(shù)列表參數(shù)列表)String類的主要方法類的主要方法,例如:例如:String str = abc;int n = str.length(); /n獲得獲得str的長(zhǎng)度的長(zhǎng)度char ch = str.charAt(0); /ch獲得獲得str的第的第1個(gè)字符個(gè)字符a【例例2.18】 判斷標(biāo)識(shí)符。判斷標(biāo)識(shí)符。計(jì)算機(jī)與通信工程學(xué)院2011-2012(1)實(shí)驗(yàn)2 Java程序設(shè)計(jì)基礎(chǔ)n目的:目的:掌握掌握J(rèn)ava語言的基本語法。語言的基本語法。 要求:要求:掌握使用掌握使用流程控制語句、流程控制語句、數(shù)組、靜態(tài)數(shù)組、靜態(tài)方法和方法和字符串。掌握字符串。掌握Eclipse的程序調(diào)試技術(shù)。的程序調(diào)試技術(shù)。 重點(diǎn):重點(diǎn):數(shù)組的引用模型,數(shù)組的引用模型,基本類型和引用類基本類型和引用類型作為方法參數(shù)和返回值的傳遞規(guī)則。型作為方法參數(shù)和返回值的傳遞規(guī)則。 難點(diǎn):難點(diǎn):Eclipse的程序調(diào)試技術(shù)。的程序調(diào)試技術(shù)。
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學(xué)習(xí)《中華人民共和國(guó)科學(xué)技術(shù)普及法》推進(jìn)實(shí)現(xiàn)高水平科技自立自強(qiáng)推動(dòng)經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步
- 激揚(yáng)正氣淬煉本色踐行使命廉潔從政黨課
- 加強(qiáng)廉潔文化建設(shè)夯實(shí)廉政思想根基培育風(fēng)清氣正的政治生態(tài)
- 深入學(xué)習(xí)2024《突發(fā)事件應(yīng)對(duì)法》全文提高突發(fā)事件預(yù)防和應(yīng)對(duì)能力規(guī)范突發(fā)事件應(yīng)對(duì)活動(dòng)保護(hù)人民生命財(cái)產(chǎn)安全
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)第一輪單元滾動(dòng)復(fù)習(xí)第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)第14單元階段性綜合復(fù)習(xí)作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十五課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單七課件西師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)易錯(cuò)清單六作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)易錯(cuò)清單二作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)四分?jǐn)?shù)的意義和性質(zhì)第10課時(shí)異分母分?jǐn)?shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)周周練四作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)六折線統(tǒng)計(jì)圖單元復(fù)習(xí)卡作業(yè)課件西師大版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)6除數(shù)是兩位數(shù)的除法單元易錯(cuò)集錦一作業(yè)課件新人教版