第二章java語法基礎(chǔ)(4學(xué)時(shí))_第1頁
第二章java語法基礎(chǔ)(4學(xué)時(shí))_第2頁
第二章java語法基礎(chǔ)(4學(xué)時(shí))_第3頁
第二章java語法基礎(chǔ)(4學(xué)時(shí))_第4頁
第二章java語法基礎(chǔ)(4學(xué)時(shí))_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、面向?qū)ο竺嫦驅(qū)ο蟪绦蛟O(shè)計(jì)程序設(shè)計(jì)第二章第二章JavaJava語法基礎(chǔ)語法基礎(chǔ)目目 錄錄2.1 Java基本數(shù)據(jù)類型基本數(shù)據(jù)類型2.2 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.3 數(shù)組數(shù)組2.4 程序控制流程程序控制流程4學(xué)時(shí)學(xué)時(shí)2.1 java基本數(shù)據(jù)類型基本數(shù)據(jù)類型2.1.1 標(biāo)識(shí)符與關(guān)鍵字標(biāo)識(shí)符與關(guān)鍵字標(biāo)識(shí)符標(biāo)識(shí)符為程序中的各個(gè)元素進(jìn)行命名。為程序中的各個(gè)元素進(jìn)行命名。o標(biāo)識(shí)符的第一個(gè)字符必須是下列字符之一:標(biāo)識(shí)符的第一個(gè)字符必須是下列字符之一: 大寫字母大寫字母 (A-Z) 、小寫字母、小寫字母 (a-z) 、下劃線、下劃線(_)、 美元符號(hào)美元符號(hào) ($) o變量變量標(biāo)識(shí)符的第二個(gè)字符及后繼字

2、符必須是:標(biāo)識(shí)符的第二個(gè)字符及后繼字符必須是: 上述列表中的任意字符、數(shù)字字符上述列表中的任意字符、數(shù)字字符 (0-9) oJava語言使用語言使用Unicode字符集字符集(用(用16位二進(jìn)位二進(jìn)制表示一個(gè)字符,在制表示一個(gè)字符,在0255編碼區(qū)與通用的編碼區(qū)與通用的ASCII字符集兼容)字符集兼容)o標(biāo)識(shí)符是標(biāo)識(shí)符是大小寫敏感大小寫敏感的,沒有最大長度的限的,沒有最大長度的限制,不能和關(guān)鍵字相同制,不能和關(guān)鍵字相同 關(guān)鍵字關(guān)鍵字 所有的關(guān)鍵字都是小寫的所有的關(guān)鍵字都是小寫的。如果被大寫,。如果被大寫,就不是關(guān)鍵字了就不是關(guān)鍵字了 。o用于數(shù)據(jù)類型的關(guān)鍵字用于數(shù)據(jù)類型的關(guān)鍵字byte sho

3、rt int long float double char booleano用于流程控制語句的關(guān)鍵字用于流程控制語句的關(guān)鍵字if else switch case default do while for break continueo方法、類型、變量的修飾關(guān)鍵字方法、類型、變量的修飾關(guān)鍵字private public protected final static abstract synchronized volatileo異常處理關(guān)鍵字異常處理關(guān)鍵字try catch finally throw throwso對(duì)象相關(guān)關(guān)鍵字對(duì)象相關(guān)關(guān)鍵字new extends implements cla

4、ss interface instanceof this supero字面值常量關(guān)鍵字字面值常量關(guān)鍵字false true nullo方法相關(guān)關(guān)鍵字方法相關(guān)關(guān)鍵字return voido包相關(guān)關(guān)鍵字包相關(guān)關(guān)鍵字package importo單行注釋單行注釋單行注釋以單行注釋以“/”開頭,至該行結(jié)尾:開頭,至該行結(jié)尾:/注釋文本注釋文本o多行注釋多行注釋/* 注釋文本注釋文本 */o文檔注釋文檔注釋/*注釋文本注釋文本*注釋文本注釋文本*/注釋注釋o變量變量n一個(gè)由標(biāo)識(shí)符命名的項(xiàng);一個(gè)由標(biāo)識(shí)符命名的項(xiàng);n每個(gè)變量都有類型每個(gè)變量都有類型, 變量還有作用域;變量還有作用域;n變量的值可以被改變。變

5、量的值可以被改變。2.1.2 變量與常量變量與常量 修飾符修飾符 =, =.; nint i;nint j=5,k=4;nstatic int m=0;nprivate float ft; 按作用域變量可分為:按作用域變量可分為:局部變量局部變量、類成員變量類成員變量、方法參數(shù)方法參數(shù)、異常處理參數(shù)異常處理參數(shù)。 o局部變量是在方法內(nèi)部聲明的變量,它的作局部變量是在方法內(nèi)部聲明的變量,它的作用域?yàn)樗诘拇a塊,以用域?yàn)樗诘拇a塊,以“ ”為界。為界。 o類成員變量的作用域是整個(gè)類。可細(xì)分為靜類成員變量的作用域是整個(gè)類??杉?xì)分為靜態(tài)變量(類變量)和實(shí)例變量。態(tài)變量(類變量)和實(shí)例變量。o方

6、法參數(shù)的作用域,是它所在的方法方法參數(shù)的作用域,是它所在的方法 。o異常處理參數(shù)的作用域,是它所在的異常處異常處理參數(shù)的作用域,是它所在的異常處理部分理部分 。import java.io.*;public class SumR static int result=0; /用來存放計(jì)算結(jié)果用來存放計(jì)算結(jié)果 public static int sum(int n) if(n short int long , float double擴(kuò)展轉(zhuǎn)換不會(huì)丟失信息擴(kuò)展轉(zhuǎn)換不會(huì)丟失信息 自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換窄化轉(zhuǎn)換窄化轉(zhuǎn)換double float, long int short byte窄化轉(zhuǎn)換可能會(huì)丟失

7、信息窄化轉(zhuǎn)換可能會(huì)丟失信息 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換2.2 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.2.1 運(yùn)算符運(yùn)算符 1、算術(shù)運(yùn)算符、算術(shù)運(yùn)算符2、賦值運(yùn)算符、賦值運(yùn)算符3、關(guān)系運(yùn)算符、關(guān)系運(yùn)算符4、邏輯運(yùn)算符、邏輯運(yùn)算符5、條件運(yùn)算符、條件運(yùn)算符 6、位運(yùn)算符、位運(yùn)算符 1、算術(shù)運(yùn)算符、算術(shù)運(yùn)算符o對(duì)于二元運(yùn)算符,運(yùn)算結(jié)果的數(shù)據(jù)類型一對(duì)于二元運(yùn)算符,運(yùn)算結(jié)果的數(shù)據(jù)類型一般為兩個(gè)操作數(shù)中表達(dá)范圍較大的類型。般為兩個(gè)操作數(shù)中表達(dá)范圍較大的類型。例:求出下列表達(dá)式的值。例:求出下列表達(dá)式的值。a=3; b=a+;c=+a;o對(duì)于一元運(yùn)算符,運(yùn)算結(jié)果的類型與操作對(duì)于一元運(yùn)算符,運(yùn)算結(jié)果的類型與操作數(shù)類型

8、相同。數(shù)類型相同。o自增、自減運(yùn)算符有前綴和后綴兩種形式,自增、自減運(yùn)算符有前綴和后綴兩種形式,前綴形式對(duì)變量前綴形式對(duì)變量 “先運(yùn)算后使用先運(yùn)算后使用”; 后綴后綴形式對(duì)變量形式對(duì)變量 “先使用后運(yùn)算先使用后運(yùn)算”。2、賦值運(yùn)算符、賦值運(yùn)算符例:求出下列表達(dá)式的值。例:求出下列表達(dá)式的值。1) a=3; a+=a-=a*a;2) a=4; a =2; 簡單賦值運(yùn)算符簡單賦值運(yùn)算符: =復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符:*= /= %= += -= = =3、關(guān)系運(yùn)算符、關(guān)系運(yùn)算符 算術(shù)比較運(yùn)算符算術(shù)比較運(yùn)算符 :, , = , =, != 類型比較運(yùn)算符:類型比較運(yùn)算符: instanceof關(guān)

9、系表達(dá)式的類型是布爾類型(關(guān)系表達(dá)式的類型是布爾類型(boolean)4、邏輯運(yùn)算符、邏輯運(yùn)算符n“與與”運(yùn)算運(yùn)算 &o如果兩個(gè)操作數(shù)的值都為如果兩個(gè)操作數(shù)的值都為true運(yùn)算結(jié)運(yùn)算結(jié)果為果為true; 否則結(jié)果為否則結(jié)果為false。n“或或”運(yùn)算運(yùn)算 |o如果兩個(gè)操作數(shù)的值都為如果兩個(gè)操作數(shù)的值都為false運(yùn)算結(jié)運(yùn)算結(jié)果為果為false;否則結(jié)果否則結(jié)果true。n“非非”運(yùn)算符!運(yùn)算符!o如果操作數(shù)的結(jié)果為如果操作數(shù)的結(jié)果為 false,則表達(dá)式的則表達(dá)式的結(jié)果為結(jié)果為 true ,如果操作數(shù)的結(jié)果為如果操作數(shù)的結(jié)果為 true則表達(dá)式的結(jié)果為則表達(dá)式的結(jié)果為 false。5、

10、條件運(yùn)算符、條件運(yùn)算符 表達(dá)式表達(dá)式1?表達(dá)式?表達(dá)式2:表達(dá)式:表達(dá)式3 如果表達(dá)式如果表達(dá)式1的值為的值為 true, 則結(jié)果為表達(dá)式則結(jié)果為表達(dá)式2的值的值;如果表達(dá)式如果表達(dá)式1的值為的值為 false,則結(jié)果為則結(jié)果為表達(dá)式表達(dá)式3的值。的值。6、位運(yùn)算符、位運(yùn)算符 o表達(dá)式由一系列變量、運(yùn)算符、方法調(diào)表達(dá)式由一系列變量、運(yùn)算符、方法調(diào)用構(gòu)成,表達(dá)式可以計(jì)算出一個(gè)值來用構(gòu)成,表達(dá)式可以計(jì)算出一個(gè)值來;2.2.2 表達(dá)式表達(dá)式 o表達(dá)式運(yùn)算結(jié)果的類型就是表達(dá)式的類型表達(dá)式運(yùn)算結(jié)果的類型就是表達(dá)式的類型; o在對(duì)表達(dá)式進(jìn)行運(yùn)算時(shí),要按運(yùn)算符的優(yōu)在對(duì)表達(dá)式進(jìn)行運(yùn)算時(shí),要按運(yùn)算符的優(yōu)先級(jí)從高

11、到低進(jìn)行,同級(jí)的運(yùn)算符則按從先級(jí)從高到低進(jìn)行,同級(jí)的運(yùn)算符則按從左到右的方向進(jìn)行。左到右的方向進(jìn)行。運(yùn)算符優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)o.,()等運(yùn)算符的優(yōu)先級(jí)最高;等運(yùn)算符的優(yōu)先級(jí)最高;o一元運(yùn)算符的優(yōu)先級(jí)也比較高;一元運(yùn)算符的優(yōu)先級(jí)也比較高;o算術(shù)運(yùn)算符要比關(guān)系運(yùn)算符和二元邏輯運(yùn)算算術(shù)運(yùn)算符要比關(guān)系運(yùn)算符和二元邏輯運(yùn)算符的優(yōu)先級(jí)要高符的優(yōu)先級(jí)要高;o關(guān)系運(yùn)算符的優(yōu)先級(jí)比布爾邏輯運(yùn)算符的優(yōu)關(guān)系運(yùn)算符的優(yōu)先級(jí)比布爾邏輯運(yùn)算符的優(yōu)先級(jí)高;先級(jí)高;o賦值運(yùn)算符的優(yōu)先級(jí)最低,因?yàn)橘x值運(yùn)算符賦值運(yùn)算符的優(yōu)先級(jí)最低,因?yàn)橘x值運(yùn)算符要使用表達(dá)式的值。要使用表達(dá)式的值。o數(shù)組由同一類型的一連串對(duì)象或者數(shù)組由同一類型的

12、一連串對(duì)象或者基本數(shù)據(jù)組成,并封裝在同一個(gè)標(biāo)基本數(shù)據(jù)組成,并封裝在同一個(gè)標(biāo)識(shí)符(數(shù)組名稱)下。識(shí)符(數(shù)組名稱)下。o數(shù)組是對(duì)象數(shù)組是對(duì)象n動(dòng)態(tài)初始化動(dòng)態(tài)初始化n可以賦值給可以賦值給Object類型的變量類型的變量n在數(shù)組中可以調(diào)用類在數(shù)組中可以調(diào)用類Object 的的所有方法所有方法2.3 數(shù)組數(shù)組datao數(shù)組元素?cái)?shù)組元素n數(shù)組中的變量被稱作數(shù)組的元素;數(shù)組中的變量被稱作數(shù)組的元素;n元素沒有名字,通過數(shù)組名字和非負(fù)整元素沒有名字,通過數(shù)組名字和非負(fù)整數(shù)下標(biāo)值引用數(shù)組元素;數(shù)下標(biāo)值引用數(shù)組元素;n每個(gè)數(shù)組都有一個(gè)由每個(gè)數(shù)組都有一個(gè)由 public final 修飾的修飾的成員變量:成員變量:

13、length ,即數(shù)組含有元素的個(gè),即數(shù)組含有元素的個(gè)數(shù)(數(shù)(length可以是正數(shù)或零)。可以是正數(shù)或零)。2.3.1 數(shù)組的聲明數(shù)組的聲明 Type arrayName; Type arrayName ; 例如:例如:int intArray; int intArray; 聲明數(shù)組時(shí)無需指明數(shù)組元素的個(gè)數(shù),也不為數(shù)聲明數(shù)組時(shí)無需指明數(shù)組元素的個(gè)數(shù),也不為數(shù)組元素分配內(nèi)存空間;組元素分配內(nèi)存空間; 不能直接使用,必須經(jīng)過初始化分配內(nèi)存后才能不能直接使用,必須經(jīng)過初始化分配內(nèi)存后才能使用。使用。聲明方式:聲明方式:o用關(guān)鍵字用關(guān)鍵字new創(chuàng)建,元素個(gè)數(shù)可以是常量也可以創(chuàng)建,元素個(gè)數(shù)可以是常量也

14、可以是變量:是變量:2.3.2 數(shù)組的創(chuàng)建數(shù)組的創(chuàng)建 o基本類型數(shù)組的每個(gè)元素都是基本類型的變量;引基本類型數(shù)組的每個(gè)元素都是基本類型的變量;引用類型數(shù)組的每個(gè)元素都是對(duì)象的引用。用類型數(shù)組的每個(gè)元素都是對(duì)象的引用。 n或者或者可以將數(shù)組的聲明和創(chuàng)建一并執(zhí)行:可以將數(shù)組的聲明和創(chuàng)建一并執(zhí)行:int ai=new int10;n可以在一條聲明語句中創(chuàng)建多個(gè)數(shù)組:可以在一條聲明語句中創(chuàng)建多個(gè)數(shù)組: int a1=new int3, s2=new int8;n例如:例如: ai=new int10;o聲明數(shù)組名時(shí)如果給出了數(shù)組的初始值,程聲明數(shù)組名時(shí)如果給出了數(shù)組的初始值,程序便利用數(shù)組初始值創(chuàng)建數(shù)

15、組并對(duì)它的各個(gè)序便利用數(shù)組初始值創(chuàng)建數(shù)組并對(duì)它的各個(gè)元素進(jìn)行初始化。元素進(jìn)行初始化。2.3.3 數(shù)組元素的初始化數(shù)組元素的初始化 o創(chuàng)建數(shù)組的時(shí)如果沒有指定初始值,數(shù)組便創(chuàng)建數(shù)組的時(shí)如果沒有指定初始值,數(shù)組便被賦予默認(rèn)值初始值。被賦予默認(rèn)值初始值。 n基本類型數(shù)值數(shù)據(jù),默認(rèn)的初始值為基本類型數(shù)值數(shù)據(jù),默認(rèn)的初始值為0;nboolean類型數(shù)據(jù),默認(rèn)值為類型數(shù)據(jù),默認(rèn)值為false; n引用類型元素的默認(rèn)值為引用類型元素的默認(rèn)值為null。 inta=22, 33, 44, 55; o通過下面的表達(dá)式引用數(shù)組的一個(gè)元素:通過下面的表達(dá)式引用數(shù)組的一個(gè)元素:2.3.4 數(shù)組的引用數(shù)組的引用 o下標(biāo)

16、從零開始計(jì)數(shù),必須是下標(biāo)從零開始計(jì)數(shù),必須是 int , short, byte, 或者或者 char。arrayNameindexo元素的個(gè)數(shù)即為數(shù)組的長度,可以通過元素的個(gè)數(shù)即為數(shù)組的長度,可以通過 arryName.length引用。引用。int data = new int10;data -1 非法的非法的data 10 非法的非法的 data 1.5 非法的非法的 data 0 合法的合法的 data 9 合法的合法的 o元素下標(biāo)最大值為元素下標(biāo)最大值為 length 1,如果如果超過最大超過最大值,將會(huì)產(chǎn)生數(shù)組越界異常值,將會(huì)產(chǎn)生數(shù)組越界異常(ArrayIndexOutOfBoun

17、dsException) /聲明數(shù)組聲明數(shù)組 /創(chuàng)建數(shù)組創(chuàng)建數(shù)組 /證明數(shù)組元素默認(rèn)初始化為證明數(shù)組元素默認(rèn)初始化為0 /將產(chǎn)生數(shù)組越界異常將產(chǎn)生數(shù)組越界異常 例例2-2:數(shù)組的使用。數(shù)組的使用。gradeTable2.3.5 多維數(shù)組多維數(shù)組 gradeTable01 為為42gradeTable34 為為93gradeTable62 為為78o二維數(shù)組的聲明二維數(shù)組的聲明: int myArray ;o二維數(shù)組的聲明和創(chuàng)建二維數(shù)組的聲明和創(chuàng)建:int myArray = new int35 ;o建立一個(gè)數(shù)組并為每一個(gè)元素賦值:建立一個(gè)數(shù)組并為每一個(gè)元素賦值:int myArray = 8,

18、1,2,2,9, 1,9,4,0,3, 0,3,0,0,7 ;o二維數(shù)組的長度二維數(shù)組的長度public class MulArray public static void main(String arg) int uneven = 1,2,1,2,3,1,2,3,4; System.out.println(Length of unenen is: +uneven.length ); 例例2-3:多維數(shù)組長度。多維數(shù)組長度。o每行的長度:每行的長度:public class MulArray public static void main(String arg) int uneven = 1,

19、2,1,2,3,1,2,3,4; System.out.println(Length of unenen is: +uneven.length ); System.out.println(Length of unenen0 is: +uneven0.length ); System.out.println(Length of unenen1 is: +uneven1.length ); System.out.println(Length of unenen2 is: +uneven2.length ); 2.4 程序控制流程程序控制流程o順序結(jié)構(gòu)順序結(jié)構(gòu)o選擇結(jié)構(gòu)選擇結(jié)構(gòu)nif語句(二路選擇結(jié)

20、構(gòu))語句(二路選擇結(jié)構(gòu))nswitch語句(多路選擇結(jié)構(gòu))語句(多路選擇結(jié)構(gòu))o循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)nfor語句語句nwhile語句語句ndo-while語句語句o循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)nbreak語句語句ncontinue語句語句nreturn語句語句2.4.1 if選擇結(jié)構(gòu)選擇結(jié)構(gòu)o語法形式語法形式只有只有if分支,沒有分支,沒有else分支分支if (boolean-expression) / statement1; if-else語句語句if (boolean-expression) / statement1 ; else / statement2 ; if-else語句的特殊形式語句的特殊形式

21、if (boolean expression) /statement1;else if (boolean expression) /statement2; else if (boolean expression) /statement; else /statement; 例例2-4 :輸入一個(gè)年份,判斷它是不是閏年。輸入一個(gè)年份,判斷它是不是閏年。(閏年閏年: 能能被被4整除但不能被整除但不能被100整除,或者能被整除,或者能被400整除。整除。)public class ex2_4 public static void main(String args) int year; boolean

22、IsLeapYear;if(args.length0) year=Integer.parseInt(args0); IsLeapYear=(year%4=0 & year%100 != 0)|(year%400 = 0); if (IsLeapYear) System.out.println(year+ is a leap year); else System.out.println(year+ is not a leap year); 2.4.2 switch選擇結(jié)構(gòu)選擇結(jié)構(gòu)oswitch語句是多分支的選擇結(jié)構(gòu)語句是多分支的選擇結(jié)構(gòu)switch (switch-expression)

23、 case value1: statements for case1; break; case value2: statements for case2; break; . case valueN: statements for caseN; break; default: statements for default case; break; 注意問題:注意問題:nswitch-expression、常量值、常量值value1到到valueN必須為必須為byte,short,int或或char類型(數(shù)據(jù)類型長度小于類型(數(shù)據(jù)類型長度小于等于等于32位),在位),在JDK5.0中可以是用枚舉類

24、型中可以是用枚舉類型(enum););n每個(gè)每個(gè)case語句后的值語句后的值value必須是與表達(dá)式類型兼必須是與表達(dá)式類型兼容的特定的一個(gè)常量(它必須為一個(gè)常量,而不容的特定的一個(gè)常量(它必須為一個(gè)常量,而不是變量)。重復(fù)的是變量)。重復(fù)的case值是不允許的;值是不允許的;n如果表達(dá)式的值和某個(gè)如果表達(dá)式的值和某個(gè)case后面的值相同,則從后面的值相同,則從該該case之后開始執(zhí)行,直到之后開始執(zhí)行,直到break語句為止;語句為止;n如果沒有一個(gè)如果沒有一個(gè)case常量與表達(dá)式的值相匹配,則常量與表達(dá)式的值相匹配,則執(zhí)行執(zhí)行default語句。語句。例例2-5:輸入輸入06之間的某一個(gè)整

25、數(shù),然后把它轉(zhuǎn)之間的某一個(gè)整數(shù),然后把它轉(zhuǎn)換成星期輸出。換成星期輸出。(0對(duì)應(yīng)星期日)對(duì)應(yīng)星期日)public class ex2_5 public static void main(String args) int day; day=Integer.parseInt(args0); switch (day) case 0: System.out.println(The day is Sunday); break; case 1: System.out.println(The day is Monday); break; case 2: System.out.println(The day i

26、s Tuesday); break;case 3: System.out.println(The day is Wednesday); break;case 4: System.out.println(The day is Thursday); break;case 5: System.out.println(The day is Friday); break;case 6: System.out.println(The day is Saturday); break;default: System.out.println(The day is Day out of range Sunday

27、.Saturday); break; 例例2-6:用枚舉類型完成用枚舉類型完成switch語句。語句。enum WeekDay Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturdaypublic class ex2_6 public static void main(String args) WeekDay day=WeekDay.Sunday; switch (day) case Sunday: System.out.println(The day is Sunday); break;case Monday: System

28、.out.println(The day is Monday); break; case Tuesday: System.out.println(The day is Tuesday); break; case Wednesday: System.out.println(The day is Wednesday); break;case Thursday: System.out.println(The day is Thursday); break;case Friday: System.out.println(The day is Friday); break;case Saturday:

29、System.out.println(The day is Saturday); break;default: System.out.println(The day is Day out of range Sunday .Saturday); break; ofor循環(huán)結(jié)構(gòu)一般語法格式如下循環(huán)結(jié)構(gòu)一般語法格式如下:for (start-expression; check-expression; update-expression) /body of the loop; 2.4.3 for循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)n解釋解釋ostart-expression完成循環(huán)變量和其他變完成循環(huán)變量和其他變量的初始

30、化工作量的初始化工作;ocheck-expression是返回布爾值的條件表是返回布爾值的條件表達(dá)式,用于判斷循環(huán)是否繼續(xù)達(dá)式,用于判斷循環(huán)是否繼續(xù);oupdate-expression用來修整循環(huán)變量,用來修整循環(huán)變量,改變循環(huán)條件改變循環(huán)條件;o三個(gè)表達(dá)式之間用分號(hào)隔開。三個(gè)表達(dá)式之間用分號(hào)隔開。例例2-7:打印九九乘數(shù)表。打印九九乘數(shù)表。public class MultiTable public static void main(String args) for (int i=1; i=9;i+) for (int j=1; j=i;j+) System.out.print( +i+*

31、+j+=+i*j); System.out.println(); o運(yùn)行結(jié)果如下:運(yùn)行結(jié)果如下: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=1

32、8 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81for的其它用法的其它用法o在在for循環(huán)中使用逗號(hào)循環(huán)中使用逗號(hào) ofor-each (JDK5.0擴(kuò)充擴(kuò)充) 說明:說明: 該程序中,該程序中,“:”表示表示“in”的意思,的意思,for(int e:a)就是就是“for each int e in a”,即,即“對(duì)于數(shù)組對(duì)于數(shù)組a中的每個(gè)整數(shù)中的每個(gè)整數(shù)e”。通過定義一個(gè)整數(shù)變量。通過定義一個(gè)整數(shù)變量e表示數(shù)組中的每個(gè)元素。表示數(shù)組中的每個(gè)元素。for-each循環(huán)看上循環(huán)看上去比一般的去比一般的for循環(huán)漂亮的多,不需要使用下循環(huán)漂亮的

33、多,不需要使用下標(biāo)。標(biāo)。 owhile語句語句,實(shí)現(xiàn)實(shí)現(xiàn)“當(dāng)型當(dāng)型”循環(huán),其一般語法格式如下:循環(huán),其一般語法格式如下:while (check-expression) /body of the loop; 2.4.4 while循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)n解釋:解釋:o條件表達(dá)式條件表達(dá)式(check-expression)的返回值為布爾型的返回值為布爾型;o循環(huán)體可以是單個(gè)語句,也可以是復(fù)合語句塊。循環(huán)體可以是單個(gè)語句,也可以是復(fù)合語句塊。n執(zhí)行過程:執(zhí)行過程:o先判斷先判斷check-expression的值,為真則執(zhí)的值,為真則執(zhí)行循環(huán)體;行循環(huán)體;o循環(huán)體執(zhí)行完后再無條件轉(zhuǎn)向條件表達(dá)循環(huán)體執(zhí)行

34、完后再無條件轉(zhuǎn)向條件表達(dá)式;當(dāng)計(jì)算出條件表達(dá)式的值為假時(shí),式;當(dāng)計(jì)算出條件表達(dá)式的值為假時(shí),跳過循環(huán)體執(zhí)行跳過循環(huán)體執(zhí)行while語句后面的語句。語句后面的語句。若為真,則繼續(xù)執(zhí)行循環(huán)。若為真,則繼續(xù)執(zhí)行循環(huán)。例例2-9:循環(huán)接受并輸出從鍵盤輸入的字符,直到循環(huán)接受并輸出從鍵盤輸入的字符,直到輸入的字符為回車為止。輸入的字符為回車為止。import java.io.*;public class ex2_9 public static void main(String args) char ch=a; try while (ch!=n) System.out.println(ch); ch= (

35、char)System.in.read() ; / 接收鍵盤輸入接收鍵盤輸入 catch(IOException e)System.out.println(e); do-while語句實(shí)現(xiàn)語句實(shí)現(xiàn)“直到型直到型”循環(huán),語法如下:循環(huán),語法如下:do /body of the loop; while (check-expression);2.4.5 do-while循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)n其使用與其使用與while語句類似,不同的是它首先無條語句類似,不同的是它首先無條件執(zhí)行一遍循環(huán)體,再判斷條件表達(dá)式的值,件執(zhí)行一遍循環(huán)體,再判斷條件表達(dá)式的值,若表達(dá)式的值為真,則再運(yùn)行循環(huán)體,否則跳若表達(dá)式的值為

36、真,則再運(yùn)行循環(huán)體,否則跳出出do-while循環(huán)執(zhí)行下面的語句。循環(huán)執(zhí)行下面的語句。n特點(diǎn):它的循環(huán)體至少要執(zhí)行一次。特點(diǎn):它的循環(huán)體至少要執(zhí)行一次。while(i=10) sum+=i; i+; System.out.println(sum=+sum);do sum+=i; i+; while(i=10);System.out.println(sum=+sum);比較這兩段程序比較這兩段程序int i=0,sum=0;o功能:功能: 跳出循環(huán),不再執(zhí)行剩余部分。跳出循環(huán),不再執(zhí)行剩余部分。2.4.6 break語句語句o適用場合:適用場合:n在在switch 結(jié)構(gòu)中,用來終止結(jié)構(gòu)中,用來終止switch語句的執(zhí)行語句的執(zhí)行n在在for循環(huán)及循環(huán)及while循環(huán)結(jié)構(gòu)中,用于終止循環(huán)結(jié)構(gòu)中,用于終止break語語句所在的最內(nèi)層循環(huán);句所在的最內(nèi)層循環(huán);n也可用在代碼塊中,用于跳出它所指定的塊。也可用在代碼塊中,用于跳出它所指定的塊。o例例2-10:break應(yīng)用舉例。應(yīng)用舉例。public class BreakTest public static void main( String args ) Str

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論