ch3java語(yǔ)言基礎(chǔ)-p標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型_第1頁(yè)
ch3java語(yǔ)言基礎(chǔ)-p標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型_第2頁(yè)
ch3java語(yǔ)言基礎(chǔ)-p標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型_第3頁(yè)
ch3java語(yǔ)言基礎(chǔ)-p標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型_第4頁(yè)
ch3java語(yǔ)言基礎(chǔ)-p標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型_第5頁(yè)
已閱讀5頁(yè),還剩136頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型表達(dá)式與程序流控制數(shù)組主要內(nèi)容2020/11/2112020/11/212標(biāo)識(shí)符標(biāo)識(shí)符包括:類名變量名方法(函數(shù))名以字母,“_”或“$”開(kāi)頭字符序列大小寫(xiě)敏感,且長(zhǎng)度沒(méi)有限定如:

usernameuser_name標(biāo)識(shí)符風(fēng)格約定:_,$

變量名,方法名開(kāi)頭變量名、方法名首單詞小寫(xiě),其余單詞只有首字母大寫(xiě)如anyVariableWorld接口名、類名首單詞第一個(gè)字母大寫(xiě)。常量:完全大寫(xiě)注釋:///*

*/注釋一行注釋一行或多行/**

可用javadoc命令轉(zhuǎn)化為HTML文件*/2020/11/2132020/14關(guān)鍵字*當(dāng)前不使用**

為Java

2增加的2020/11/215數(shù)據(jù)類型類型分類類型名稱程序中使用的名稱基本數(shù)據(jù)類型布爾型(Boolean)布爾型:boolean字符型(Char)字符型:char整數(shù)型(Integer)字節(jié)型:byte短整型:short整型

:int長(zhǎng)整型:long實(shí)(浮點(diǎn))型(Float)單精度型:float雙精度型:double復(fù)合數(shù)據(jù)類型類(Class)類:class接口(Interface)接口:interface數(shù)組(Array)2020/11/216Java

基本數(shù)據(jù)類型邏輯型(布爾型)文字型整數(shù)類型浮點(diǎn)型2020/11/217邏輯型邏輯型:boolean取值:true

,

false例如:boolean

truth=true;2020/11/218文字型文字型:char

、Stringchar:16位的unicode(國(guó)際碼)字符。如

char

mychar=‘Q’;unicode字符集是一套字符編碼系統(tǒng),可以支持各類文字的字符,達(dá)34168個(gè)字符。定義形式:‘a(chǎn)’;‘\t’;‘\u’String是類,String

greeting=“Good

Morning!\n”;2020/11/219整數(shù)類型整數(shù)類型:byte,

short,

int

和long類型長(zhǎng)度取值范圍byte8位-27

~27-1short16位-215

~215-1int32位-231~231-1long64位-263

~263-12020/11/2110整數(shù)類型Java中缺省整型是int可有3種形式:十進(jìn)制、八進(jìn)制、十六進(jìn)制十進(jìn)制int

24long

24L八進(jìn)制07710771L十六進(jìn)制0XAB070XAB07L2020/11/2111浮點(diǎn)型浮點(diǎn)型:float

double長(zhǎng)度:float:

32位double:64位缺省是double

類型,如3.14

(double

型)表達(dá)方法:E或e-科學(xué)記數(shù)法,6.02e23F或f-表示float類型,6.02e23FD或d-表示double

型,2.718D變量類型初始值變量類型

初始值byte0double

0.0Dshort0char

‘\u0000’int0boolean

falselong0所有

類型

null(類、接口、數(shù)組)float2020/11/21012各種類型變量的初始值運(yùn)算符與表達(dá)式與C不同之處:Java是強(qiáng)類型語(yǔ)言,類型限制比C嚴(yán)格,運(yùn)算符的操作對(duì)象的類型會(huì)受到

限制。Java不提供指針運(yùn)算符,增加了對(duì)象操作符instanceof,字符串運(yùn)算符+和零填充的右移>>>等。2020/11/21132020/11/2114運(yùn)算符算術(shù)運(yùn)算操作符:+,-,*,/,

%,

++,

--關(guān)系操作符:>,

>=,

<,

<=,

==,

!=2020/11/2115運(yùn)算符位操作符:>>,<<,>>>,&,|,^(逐位異或),~(按位取反)邏輯操作符:&,

|,!,^(異或),&&,

||2020/11/2116運(yùn)算符賦值操作符:=,

+=,

-=,

*=,

/=,

%=,&=,

|=,

^=,<<=,

>>=,

>>>=其它操作符:?:

,

[],

.

,

(

),(type),

new,

instanceof賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符“=”例如:a1=3;再看下面的語(yǔ)句:a1=a1+1;則本語(yǔ)句執(zhí)行后,a1的值將變?yōu)?。有時(shí)還經(jīng)常使用這樣的語(yǔ)句:j

=

i

=

3

;2020/11/2117算術(shù)運(yùn)算符與算術(shù)表達(dá)式1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符大多用于數(shù)對(duì)象數(shù)名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象表達(dá)式實(shí)例運(yùn)行結(jié)果一元正+取原值整型(或)實(shí)型+3+3負(fù)—取負(fù)值-4-4二元加+加法4+59減—減法8-53乘*乘法整型(或)實(shí)型4*936除/除法7.0

/23.5模%整除取余整形8

%

32算。如下表所示:2020/11/2118例1:算術(shù)運(yùn)算符在程序中的使用publicclass

MathOperator

{public

static

void

main(String

args[]){int

a=15;intb=4;////int變量a,并賦值為13

int變量b,并賦值為4System.out.println("a="+a+",b="+b);System.out.println("a+b="+(a+b));System.out.println("a-b="+(a-b));System.out.println("a*b="+(a*b));System.out.println("a/b="+(a/b));//輸出a與b//輸出a+b的值//輸出a-b的值//輸出a*b//輸出a/b的值System.out.println("a/b="+(float)(a/b));//輸出(float)a/b的實(shí)型數(shù)值System.out.println(a+"%"+b+"="+(a%b));System.out.println(b+"%"+a+"="+(b%a));//輸出a%b的值//輸出b%a的值}}

2020/11/2119例1:算術(shù)運(yùn)算符在程序中的使用publicclass

MathOperator

{public

static

void

main(String

args[]){int

a=15;intb=4;////int變量a,并賦值為13

int變量b,并賦值為4System.out.println("a="+a+",b="+b);System.out.println("a+b="+(a+b));System.out.println("a-b="+(a-b));System.out.println("a*b="+(a*b));System.out.println("a/b="+(a/b));//輸出a與b//輸出a+b的值//輸出a-b的值//輸出a*b//輸出a/b的值System.out.println("a/b="+((float)a/b));//輸出(float)a/b的實(shí)型數(shù)值System.out.println(a+"%"+b+"="+(a%b));System.out.println(b+"%"+a+"="+(b%a));//輸出a%b的值//輸出b%a的值}}

2020/11/21202020/11/21212.遞增和遞減運(yùn)算符遞增和遞減運(yùn)算符:“++”和“--”。如果在程序中定義了變量i,在程序運(yùn)行時(shí)想讓它的值增1,可使用語(yǔ)句:i

=i

+1;等同與下面的語(yǔ)句:i++

;對(duì)象數(shù)名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象一元增1(前置)增1(后置)減1(前置)減1(后置)++++――――先加1,后使用先使用,后加1先減1,后使用先使用,后減1整型、字符型例如對(duì)如下的語(yǔ)句塊:inti=3;System.out.println(i++);此時(shí)的輸出結(jié)果為3,待輸出結(jié)束后,i才增值為4。++i的執(zhí)行原則則相反:是先增1,后

。如對(duì)如下的語(yǔ)句塊:int

i=3;System.out.println(++i);此時(shí)的輸出結(jié)果為4,i先增值為4,然后輸出結(jié)果。2020/11/2122關(guān)系運(yùn)算符與關(guān)系表達(dá)式2020/11/2123名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象表達(dá)式實(shí)例運(yùn)行結(jié)果小于<滿足則為真不滿足則為假整型(或)實(shí)型(或)字符型等2<3true小于或等于<=6<=6true大于>‘a(chǎn)’>’b’false大于或等于>=7.8>=5.6true等于==9==9true不等于!=8!=8false邏輯運(yùn)算符與邏輯表達(dá)式對(duì)象數(shù)名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象一元邏輯非!參看下表邏輯型二元邏輯與&&邏輯或||對(duì)象1

a對(duì)象2

b!aa&&ba||bfalsefalsetruefalsefalsefalsetruefalsetruetruefalsefalsefalsetruetruetruetruetrue表1:邏輯運(yùn)算符使用說(shuō)明表2:邏輯運(yùn)算符運(yùn)算規(guī)則2020/11/2124}2020/11/2125邏輯表達(dá)式往往可用于表示比較復(fù)雜的條件,例如要判別某一年year是否是閏年,閏年的判別條件是:能被4整除但不能被100整除,或者能被400整除。可以用一個(gè)邏輯表達(dá)式來(lái)表示:(year

%

4=

=0

&&

year

%

100

!=0)

||year

%

400

==

0當(dāng)year為某一整數(shù)值時(shí),上述表達(dá)式值為true,則year年為閏年,否則為非閏年。例2:關(guān)系運(yùn)算符與邏輯運(yùn)算符在程序中的使用:public

class

CLoperation{public static

void

main(String

args[]){int

a=58;boolean

k=((a>0)

&&

(a<100));System.out.println(k);}2020/11/2126在Java中,運(yùn)算符&&和||的運(yùn)算規(guī)則遵循一種在電工學(xué)中稱為“短路”的執(zhí)行方式,即對(duì)于邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的結(jié)果時(shí),才執(zhí)行該運(yùn)算符。運(yùn)算符&&和||例如:a&&b&&c:如果a非真,則不再判別b和c,直接輸出表達(dá)式的值為false;若a為真,則判別b,若b非真,則不再判別c,直接輸出表達(dá)式的值為false;當(dāng)a、b同時(shí)為

判別c的真假。運(yùn)算符&&和||2020/11/2127例如:a||b||c:如果a為真,則不再判別b和c,直接輸出表達(dá)式的值為true;若a非真,則判別b,若b為真,則不再判別c,直接輸出表達(dá)式的值為true;當(dāng)a、b同時(shí)非

判別c的真假。運(yùn)算符&&和||2020/11/2128復(fù)合賦值運(yùn)算符2020/11/2129復(fù)合賦值運(yùn)算符是一種將算術(shù)運(yùn)算符與賦值運(yùn)算符相結(jié)合的一種運(yùn)算符,這些運(yùn)算符的說(shuō)明及使用方式如下表所示:運(yùn)算符用法舉例說(shuō)明意義+=a+=ba+b的值存放到a中a=a+b-=a-=ba-b的值存放到a中a=a-b*=a*=ba*b的值存放到a中a=a*b/=a/=ba/b的值存放到a中a=a/b%=a%=ba%b的值存放到a中a=a%b2020/11/2130例3:復(fù)合賦值運(yùn)算符在程序中的簡(jiǎn)單使用:publicclass

CompOperating{public

static

void

main(String

args[])

{inta=5,b=8;System.out.println("Before

calculate:

a="+a+",b="+b);a+=b; //

計(jì)算a+=b的值System.out.println("After

+=

calculate:

a="+a+",b="+b);a-=b; //計(jì)算a-=b的值System.out.println("After

-=

calculate:

a="+a+",b="+b);a*=b; //

計(jì)算a*=b的值System.out.println("After

*=

calculate:

a="+a+",b="+b);a/=b; //

計(jì)算a/=b的值System.out.println("After

/=

calculate:

a="+a+",b="+b);}}其它運(yùn)算符2020/11/21311.位運(yùn)算符運(yùn)算符說(shuō)明用法舉例&轉(zhuǎn)換為二進(jìn)制數(shù)字進(jìn)行與運(yùn)算1&1=1,1&0=0,

0&1=0,

0&0=0|轉(zhuǎn)換為二進(jìn)制數(shù)字進(jìn)行或運(yùn)算1|1=1,

1|0=1,

0|1=1,

0|0=0^轉(zhuǎn)換為二進(jìn)制數(shù)字進(jìn)行異或運(yùn)算1^1=0,

1^0=1,

0^1=1,

0^0=0~進(jìn)行數(shù)值的相反數(shù)減1運(yùn)算~100=-100-1=

-101>>向右移位15>>1=7<<向左移位15<<1=30>>>向右移位15>>>1=7<<=左移賦值運(yùn)算符n<<=3等于n=n<<3>>=右移賦值運(yùn)算符n>>=3等于n=n>>3>>>=無(wú)符號(hào)右移賦值運(yùn)算符n>>>=3等于n=n>>>32020/11/2132右移操作符>>和>>>>>:帶符號(hào)右移1010

>>

2

111010...>>>:無(wú)符號(hào)右移,以0

填充1010

>>>

2

001010

...2020/11/21332.條件運(yùn)算符:?:語(yǔ)法形式為:<表達(dá)式>?e1:e2其中表達(dá)式值的類型為邏輯型,若表達(dá)式的值為真,則返回e1的值;表達(dá)式值為非真,返回e2的值。設(shè)有下列代碼語(yǔ)句:int a

=3

,

b

=6

,

c

;c

= (a>b)?

1

:2

;則執(zhí)行后c的值為2。運(yùn)算符的優(yōu)先級(jí)與結(jié)合性2020/11/2134Java語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)與結(jié)合性。在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別由高到低的次序執(zhí)行例如,算術(shù)運(yùn)算符中采用“先乘除后加減”。運(yùn)算符的優(yōu)先級(jí)與結(jié)合性2020/11/2135如果在一個(gè)運(yùn)算對(duì)象兩側(cè)的優(yōu)先級(jí)別相同,則按規(guī)定的“結(jié)合方向”處理,稱為運(yùn)算符的“結(jié)合性”。Java規(guī)定了各種運(yùn)算符的結(jié)合性,如算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇?,即先左后右。Java中也有一些運(yùn)算符的結(jié)合性是“自右至左”的。運(yùn)算符的優(yōu)先級(jí)與結(jié)合性2020/11/2136例如:當(dāng)a=3;b=4時(shí)若 k

=

a

5

+

b

,則

k

=

2(先計(jì)算a-5,再計(jì)算-2+b)若 k

=

a

+

=b

-=

2,則

k

=

5(先計(jì)算b-=2,再計(jì)算a+=2)37優(yōu)先級(jí)運(yùn)算符類結(jié)合性1(

)括號(hào)運(yùn)算符自左至右1[

]方括號(hào)運(yùn)算符自左至右2!、+(正號(hào))、-(負(fù)號(hào))一元運(yùn)算符自右至左2~位邏輯運(yùn)算符自右至左2++、--遞增、遞減運(yùn)算符自右至左3*、/、%算術(shù)運(yùn)算符自左至右4+、-算術(shù)運(yùn)算符自左至右5<<、>>位左移、右移運(yùn)算符自左至右6>、>=、<、<=關(guān)系運(yùn)算符自左至右7==、!=關(guān)系運(yùn)算符自左至右8&位邏輯運(yùn)算符自左至右9^位邏輯運(yùn)算符自左至右10|位邏輯運(yùn)算符自左至右11&&邏輯運(yùn)算符自左至右12||邏輯運(yùn)算符自左至右13

2020/11/21?:條件運(yùn)算符自右至左14=、+=、-=、*=、/=、%=(復(fù)合)賦值運(yùn)算符自右至左2020/11/2138Java

類型轉(zhuǎn)換Java允許它的用戶有限度地進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換處理。轉(zhuǎn)換的方式可分為“自動(dòng)類型轉(zhuǎn)換”和“強(qiáng)制類型轉(zhuǎn)換”兩種。Java

類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換整型、實(shí)型和字符型數(shù)據(jù)需要進(jìn)行混合運(yùn)算時(shí),首先需要把不同類型的數(shù)據(jù)轉(zhuǎn)化為同一類型,然后才能進(jìn)行運(yùn)算。轉(zhuǎn)換時(shí),系統(tǒng)將按照數(shù)據(jù)類型的表示范圍由小到大的轉(zhuǎn)換原則自動(dòng)進(jìn)行。數(shù)據(jù)類型的表示范圍由小到大的順序依次為:小byte

short

char

int

long

float大double2020/11/21392020/11/21

40例5:自動(dòng)類型轉(zhuǎn)換示例:classTyChange{public

static

void

main(String

args[]){int

i=100;charbytelongc1='a';b=3;l=567L;float

f=1.89f;double

d=2.1;int

i1=i+c1;long

l1=l-i1;float

f1=b*f;//char類型的變量c1自動(dòng)轉(zhuǎn)換為與i一致的int類型參加運(yùn)算//int類型的變量i1自動(dòng)轉(zhuǎn)換為與l一致的long類型參加運(yùn)算//byte類型的變量b自動(dòng)轉(zhuǎn)換為與f一致的float類型參加運(yùn)算double

d1=d+f1/i1; /*int類型的變量i1自動(dòng)轉(zhuǎn)換為與f1一致的float類型f1/i1計(jì)算結(jié)果為float類型.然后再轉(zhuǎn)換為與d一致的double類型。*/System.out.println("i1="+i1);System.out.println("l1="+l1);System.out.println("f1="+f1);System.out.println("d1="+d1);}}2020/11/2141Java

類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換一般形式:(type)expression例:(float)x/2對(duì)強(qiáng)制類型轉(zhuǎn)換的限制:整型與浮點(diǎn)型可以相互轉(zhuǎn)換,但基本類型和數(shù)組、對(duì)象等復(fù)合類型之間不能互相轉(zhuǎn)換。2020/11/2142Java

類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換當(dāng)表示范圍大的數(shù)據(jù)類型要轉(zhuǎn)換成表示范圍小的數(shù)據(jù)類型時(shí),需要用到強(qiáng)制類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換的語(yǔ)法形式為:(type)<變量名>例如:int m=3

;byte b=(byte)m;//把int型變量m強(qiáng)制轉(zhuǎn)換為byte型2020/11/2143Java

類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換有時(shí)當(dāng)兩個(gè)整數(shù)相除時(shí),系統(tǒng)會(huì)把這種運(yùn)算歸為整數(shù)類型的運(yùn)算,因而會(huì)自動(dòng)截去小數(shù)部分,使運(yùn)算結(jié)果保持為整數(shù)。這顯然不是預(yù)期的結(jié)果,因此想要得到運(yùn)算的結(jié)果為實(shí)型數(shù),就必須將兩個(gè)整數(shù)中的一個(gè)(或兩個(gè))強(qiáng)制轉(zhuǎn)換為實(shí)型,此時(shí)下面的三種寫(xiě)法均可行:2020/11/2144Java

類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換(1)(

float

)

a

/

b//將整數(shù)a強(qiáng)制轉(zhuǎn)換成實(shí)型數(shù),再與整數(shù)b相除(2)a

/

(

float

)

b//將整數(shù)b強(qiáng)制轉(zhuǎn)換成實(shí)型數(shù),再被整數(shù)a除(3)(

float

)

a

/

(

float

)

b//將整數(shù)a與b同時(shí)強(qiáng)制轉(zhuǎn)換成實(shí)型數(shù)只要在變量前面加上欲轉(zhuǎn)換的類型,運(yùn)行時(shí)系統(tǒng)就會(huì)自動(dòng)將這一行語(yǔ)句里的變量進(jìn)行類型轉(zhuǎn)換處理,但不會(huì)影響該變量原先定義的類型。}2020/11/2145例6:數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換public

class

ChangeTest{public

static

void

main(String

args[]){int

a=155;intb=9;float

c,d;System.out.println("a="+a+",b="+b);//輸出a、bc=(float)a/b; //

將a除以b的結(jié)果放在c中System.out.println("a/b="+c); //

輸出c的值d=a/b; //

將a除以b的結(jié)果放在d中System.out.println("a/b="+d); //

輸出d}字符類型的強(qiáng)制轉(zhuǎn)換字符的表示char

letter=‘A’char

numChar=‘4’碼和ASCII碼2020/11/21462020/11/2147Java的結(jié)構(gòu)化程序設(shè)計(jì)和程序流控制結(jié)構(gòu)化程序設(shè)計(jì)有三種基本程序流程結(jié)構(gòu):順序(sequence)結(jié)構(gòu)選擇(selection)結(jié)構(gòu)循環(huán)(loop)結(jié)構(gòu)。順序結(jié)構(gòu)及基本語(yǔ)句順序結(jié)構(gòu)系統(tǒng)默認(rèn)自上而下一行一行地執(zhí)行程序,這類程序的結(jié)構(gòu)就稱為順序結(jié)構(gòu)?;菊Z(yǔ)句賦值語(yǔ)句輸入語(yǔ)句開(kāi)始語(yǔ)句1語(yǔ)句2語(yǔ)句n結(jié)束2020/11/21482020/11/2149在Java中提供用戶鍵盤(pán)輸入環(huán)境的程序由以下(黑體字部分)語(yǔ)句固定組合而成:import

java.io.*;public

class

類名稱{public

static

void

main(String

args[])

throws

IOException{BufferedReader

buf;

//定義buf為BufferedReader類的對(duì)象變量String

str;

//定義str為string類型的變量……buf=new

BufferedReader(new

InputStreamReader(System.in));//初始化buf對(duì)象//輸入字符串至變量str存放str=buf.readLine();……}}2020/11/2150例:從鍵盤(pán)接收用戶輸入的字符串并輸出該字符串。程序如下:importjava.io.*;public

class

InputStr{public

static

voidmain(String

args[])throws

IOException{BufferedReader

buf;Stringstr;buf=new

BufferedReader(newInputStreamReader(System.in));System.out.print("Input

a

String:");str=buf.readLine();System.out.println("string="+str);}}例:由鍵盤(pán)輸入整數(shù)示例:程序如下:import

java.io.*;public

class

InputNum{public

static

void

main(String

args[])

throws

IOException{int

num;String

str;BufferedReader

buf;buf=new

BufferedReader(new

InputStreamReader(System.in));System.out.print(“Input

an

integer:”);str=buf.readLine();//將輸入的文字指定給字符串變量str存放num=Integer.parseInt(str);//將str轉(zhuǎn)成int類型后指定給num存放System.out.println("The

integer

is

"+num);}}2020/11/2151面的程序中:num=Integer.parseInt(str)是起數(shù)據(jù)轉(zhuǎn)換作用的語(yǔ)句,將字符串轉(zhuǎn)換為int型的數(shù)值。若是想轉(zhuǎn)換成其他類型的數(shù)值,則可利用下表中的方法。數(shù)據(jù)類型轉(zhuǎn)換的方法LongLong.parseLong()IntInteger.parseInteger()ShortShort.parseShort()ByteByte.

parseByte()DoubleDouble.

parse

Double()FloatFloat.

parse

Float()2020/11/2152選擇結(jié)構(gòu)if語(yǔ)句if語(yǔ)句是最簡(jiǎn)單的選擇結(jié)構(gòu)語(yǔ)句,格式如下:if

<表達(dá)式>

{語(yǔ)句塊}其中表達(dá)式的設(shè)置是很重要的,它返回邏輯(布爾)值,如果true則進(jìn)入{}部分的語(yǔ)句塊處理。否則跳過(guò)該{}部分,執(zhí)行下面的語(yǔ)句。如果{語(yǔ)句塊}中只有一句語(yǔ)句,則左右大括號(hào)可以不寫(xiě)。If語(yǔ)句又稱為單分支結(jié)構(gòu)語(yǔ)句,它的執(zhí)行流程如右上圖所示:表達(dá)式語(yǔ)句塊true2020/11/21532020/11/2154例:使用if語(yǔ)句判別兩數(shù)是否相等:程序如下:public

class

IfTest{public

static

void

main(String

args[]){int

a=3;intb=3;if

(a==b)System.out.println("a

equals

b

");}}該程序中表達(dá)式(a==b)中的關(guān)系運(yùn)算符“==”不可以寫(xiě)成“=”。2020/11/2155例:if

語(yǔ)句的重復(fù)使用:從鍵盤(pán)出入三個(gè)數(shù),將其按從小到大的順序輸出。程序如下:import

java.io.*;public

class

CompIf

{public

static

void

main(String

args[])

throws

IOException

{int

a,b,c,t;String

str;BufferedReader

buf;buf=new

BufferedReader(new

InputStreamReader(System.in));number:");System.out.print("Inputstr=buf.readLine();a=Integer.parseInt(str);System.out.print("Input

second

number:");str=buf.readLine();

b=Integer.parseInt(str);System.out.print("Input

third

number:");str=buf.readLine();

c=Integer.parseInt(str);if

(a>b)

{t=a;a=b;b=t;}if

(a>c)

{t=a;a=c;c=t;}if

(b>c)

{t=b;b=c;c=t;}

//交換兩個(gè)變量的值System.out.print(a+",");System.out.print(b+",");System.out.print(c);}2020/11/2156if-else語(yǔ)句if-else語(yǔ)句的操作比if語(yǔ)句多了一步:如果表達(dá)式的值為假,則程序進(jìn)入else部分的語(yǔ)句塊(語(yǔ)句塊2)處理。故它又被稱為雙分支結(jié)構(gòu)語(yǔ)句。if-else語(yǔ)句語(yǔ)法格式為:if<表達(dá)式>{語(yǔ)句塊1}else{語(yǔ)句塊2}truefalse表達(dá)式語(yǔ)句塊2語(yǔ)句塊12020/11/2157例:通過(guò)鍵盤(pán)輸入兩個(gè)整數(shù),用if-else結(jié)構(gòu)判別這兩個(gè)數(shù)是否相等,并分別輸出不同信息:程序如下:importjava.io.*;

public

class

IfElseTest{public

static

void

main(Stringargs[])

throws

IOException

{int

a,b;String

str;BufferedReader

buf;buf=new

BufferedReader(new

InputStreamReader(System.in));System.out.print("Input

an

integer:");str=buf.readLine();a=Integer.parseInt(str);

//將str轉(zhuǎn)成int類型后指定給a存放System.out.print("Input

anotherinteger:");//再次調(diào)用方法接收鍵盤(pán)數(shù)據(jù)//將str轉(zhuǎn)成int類型后指定給b存放str=buf.readLine();b=Integer.parseInteger(str);if(a=

=b)System.out.println("a

equals

b

");elseSystem.out.println("a

doesn't

equal

b");}}2020/11/2158例:輸入一個(gè)年份,由程序判斷該年是否為閏年。程序如下:import

java.io.*;publicclass

JustLeapYear{publicstatic

void

main(String

args[])

throws

IOException

{int

year;String

str;BufferedReader

buf;buf=new

BufferedReader(new

InputStreamReader(System.in));System.out.println("Inputthe

year:");str=buf.readLine();year=Integer.parseInt(str);if

(year

%

4

==

0

&&

year%

100

!=0

||

year

%

400

==0)System.out.println("year

"+year+"

is

a

leap

year.");elseSystem.out.println("year

"+year+"

is

not

a

leap

year.");}}if-else

if語(yǔ)句if-elseif語(yǔ)句用于處理多個(gè)分支的情況,因此又稱多分支結(jié)構(gòu)語(yǔ)句。其語(yǔ)法格式為:if<表達(dá)式1>{語(yǔ)句塊1}else

if<表達(dá)式2>{語(yǔ)句塊2}……else

if<表達(dá)式n>{語(yǔ)句塊n}[

else{語(yǔ)句塊n+1}]truetruetruefalse表達(dá)式false

1表達(dá)式n語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊n語(yǔ)句塊n+1表達(dá)式2false……2020/11/215960例:用if-elseif語(yǔ)句實(shí)現(xiàn)下面的符號(hào)函數(shù):程序如下:import

java.io.*;public

class

SignClass{public

static

void

main(String

args[])

throws

IOException

{double

x

;int

y;String

str;BufferedReader

buf;buf=new

BufferedReader(new

InputStreamReader(System.in));System.out.print("Input

x

is:");str=buf.readLine();x=Double.parseDouble(str);if

(x>0)y=1;else

if

(x=

=0)y=0;elsey=-1;System.out.print("y="+y);202}0/11/21}x

<

0x

=

0x

>

0-

1y

=10if語(yǔ)句的嵌套在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱為if語(yǔ)句嵌套,這是程序設(shè)計(jì)中經(jīng)常使用的技術(shù)。例如現(xiàn)在有三個(gè)整數(shù)a、b、c,要判別它們能否構(gòu)成三角形的三條邊,則首先應(yīng)判別這三個(gè)整數(shù)是否都大于零,然后才判別其任意兩個(gè)數(shù)之和是否大于第三個(gè)數(shù),其程序塊為:if (a>0)

&&

(b>0)

&&(c>0){ if

(a+b>c)

&&(a+c>b)

&&(b+c>a)System.out.println

(Yes");elseSystem.out.println

("No");}elseSystem.out.prinlnt("No");2020/11/21612020/11/2162編程練習(xí)問(wèn)題:一個(gè)簡(jiǎn)單的數(shù)學(xué)學(xué)習(xí)工具假設(shè)希望開(kāi)發(fā)一個(gè)程序,讓一年級(jí)學(xué)生練習(xí)加法。從鍵盤(pán)輸入兩個(gè)整數(shù):number1和number2,然后顯示給學(xué)生“Whatis7+9?”當(dāng)學(xué)生輸入答案之后,程序顯示一個(gè)消息,標(biāo)明答案是對(duì)還是錯(cuò)。2020/11/2163編程練習(xí)解題思路:只需一個(gè)類從鍵盤(pán)輸入兩個(gè)整數(shù)求和判斷對(duì)錯(cuò)顯示結(jié)果程序代碼import

java.util.Scanner;public

class

StudyTools

{public

static

void

main(Stringargs[]){int

number1,number2;number1=number2=0;Scanner

input=new

Scanner(System.in);System.out.println("請(qǐng)輸入0-100之間的整數(shù)");number1=input.nextInt();number2=input.nextInt();System.out.print("What

is"+number1+"+"+number2+"?");int

answer=input.nextInt();if((number1+number2)==answer){System.out.println(number1+"+"+number2+"="+answer+"is

true");}elseSystem.out.print(number1+"+"+number2+"="+answer+"is

false");}2020/11/21}64if.....else語(yǔ)句改成一條語(yǔ)句打印出來(lái)加入循環(huán)語(yǔ)句,使做題練習(xí)可以不斷進(jìn)行輸入的數(shù)據(jù)改成機(jī)器隨機(jī)產(chǎn)生加法練習(xí)改成加減法練習(xí)程序代碼import

java.util.Scanner;public

class

StudyTools

{public

static

void

main(Stringargs[]){

int

number1=(int)(Math.random()*100);int

number2=(int)(Math.random()*100);//Scanner

input=new

Scanner(System.in);System.out.println("請(qǐng)輸入0-100之間的整數(shù)");number1=input.nextInt();number2=input.nextInt();System.out.print("What

is"+number1+"+"+number2+"?");int

answer=input.nextInt();System.out.println(number1+"+"+number2+"="+an語(yǔ)sw句er+打"i印s“+(number1+number2==answer));/*if.....else語(yǔ)句改成一條出來(lái)加入循環(huán)語(yǔ)句,使做題練習(xí)可以不斷進(jìn)行輸入的數(shù)據(jù)改成機(jī)器隨機(jī)產(chǎn)生加法練習(xí)改成加減法練習(xí)if((number1+number2)==answer){2S0y20s/t1e1m/21.out.println(number1+"+"+number2+"="+answer6+5"is

elsetrue");}程序代碼import

java.util.Scanner;public

class

StudyTools

{public

static

void

main(Stringargs[]){

int

number1=(int)(Math.random()*100);int

number2=(int)(Math.random()*100);//Scanner

input=new

Scanner(System.in);System.out.println("請(qǐng)輸入0-100之間的整數(shù)");number1=input.nextInt();number2=input.nextInt();System.out.print("What

is"+number1+"+"+number2+"?");int

answer=input.nextInt();System.out.println(number1+"+"+number2+"="+an語(yǔ)sw句er+打"i印s“+(number1+number2==answer));/*if.....else語(yǔ)句改成一條出來(lái)加入循環(huán)語(yǔ)句,使做題練習(xí)可以不斷進(jìn)行輸入的數(shù)據(jù)改成機(jī)器隨機(jī)產(chǎn)生加法練習(xí)改成加減法練習(xí)if((number1+number2)==answer){2S0y20s/t1e1m/21.out.println(number1+"+"+number2+"="+answer6+6"is

elsetrue");}選擇語(yǔ)句中的常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤1:忘記必要的括號(hào)2020/11/2167if(radius>=0)area=radius*radius*PI;System.out.println(“Thearea”+“is”+area)if(radius>=0){area=radius*radius*PI;System.out.println(“Thearea”+“is”+area)}選擇語(yǔ)句中的常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤2:在if行出現(xiàn)錯(cuò)誤的分號(hào)2020/11/21

68

if(radius>=0);{area=radius*radius*PI;System.out.println(“Thearea”+“is”+area)}if(radius>=0){};{area=radius*radius*PI;System.out.println(“Thearea”+“is”+area)}等價(jià)于選擇語(yǔ)句中的常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤3:對(duì)布爾值的冗余測(cè)試if(even==true)System.out.println(“It

is

even”);等價(jià)于2020/11/2169if(even)System.out.println(“It

is

even”);選擇語(yǔ)句中的常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤4:懸空else出現(xiàn)的歧義inti=1;intj=2;int

k=3;if(i>j)if(i>k)System.out.println(“A”);elseSystem.out.println(“B”);等價(jià)于inti=1;intj=2;int

k=3;if(i>j)if(i>k)System.out.println(“A”);elseSystem.out.println(“B”);2020/11/21702020/11/21switch語(yǔ)句switch語(yǔ)句是Java支持的另一種多分支結(jié)構(gòu)語(yǔ)句,使用switch語(yǔ)句進(jìn)行程序設(shè)計(jì),將使程序的結(jié)構(gòu)更簡(jiǎn)練,表達(dá)更為清晰。

Switch語(yǔ)句語(yǔ)法結(jié)構(gòu)如下:switch<表達(dá)式>{case數(shù)值1:{語(yǔ)句塊1}break;case數(shù)值2:{語(yǔ)句塊2}break;……case數(shù)值n:{語(yǔ)句塊n}break;[

default:{語(yǔ)句塊n+1}]falsetruetruetruefalse數(shù)值1false數(shù)值2數(shù)值n語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊ndefault………breakbreakbreakswitch語(yǔ)句的流程圖如上圖所示。712020/11/21switch語(yǔ)句switch<表達(dá)式>{case數(shù)值1:{語(yǔ)句塊1}case數(shù)值2:{語(yǔ)句塊2}……case數(shù)值n:{語(yǔ)句塊n}[

default:{語(yǔ)句塊n+1}]truetruetrue數(shù)值1false數(shù)值n語(yǔ)句塊1語(yǔ)句塊2語(yǔ)句塊nfalsedefault數(shù)值2false………switch語(yǔ)句的流程圖如上圖所示。72switch語(yǔ)句說(shuō)明switch后面的表達(dá)式只能返回如int、byte、short和char類型的值,多分支結(jié)構(gòu)把表達(dá)

式返回的值依次與每個(gè)case子句中的值相

比較。如果遇到匹配的值,則執(zhí)行該case后面的語(yǔ)句塊;case子句中的數(shù)值I(I=1,2,……,n)必須是常量,且對(duì)應(yīng)于執(zhí)行不同操作的case子句中的數(shù)值I(I=1,2,……,n)應(yīng)是不同的;2020/11/2173switch語(yǔ)句說(shuō)明default子句為可選。當(dāng)表達(dá)式的值與任何case子句中的值都不匹配時(shí),程序執(zhí)行default后面的語(yǔ)句;當(dāng)表達(dá)式的值與任何case子句中的值都不匹配且沒(méi)有default子句,則程序?qū)⒉粓?zhí)行任何操作,直接跳出switch語(yǔ)句。break語(yǔ)句的作用是當(dāng)執(zhí)行完一個(gè)case分支后,終止switch結(jié)構(gòu)的執(zhí)行。因?yàn)閏ase子句只是起到一個(gè)標(biāo)號(hào)的作用,用來(lái)查找入口并從此處開(kāi)始執(zhí)行。如果沒(méi)有break語(yǔ)句,當(dāng)程序執(zhí)行完匹配的case子句塊后,還會(huì)執(zhí)行后面的case子句塊,這是不允許的。因此應(yīng)該在每一個(gè)case分支后,用break語(yǔ)句終止后面的case分支語(yǔ)句塊的執(zhí)行。2020/11/217475例:用switch語(yǔ)句處理表達(dá)式中的運(yùn)算符,并輸出運(yùn)算結(jié)果:程序如下:publicclass

OperatorClass{public

static

void

main(String

args[])

{inta=80,b=9;char

oper='/';switch

(oper){case

'+':System.out.println(a+"+"+b+"="+(a+b));break;//輸出a+bcase

'-':System.out.println(a+"-"+b+"="+(a-b));case

'*':System.out.println(a+"*"+b+"="+(a*b));case

'/':break;break;//輸出a-b//輸出a*b//輸出a/bSystem.out.println(a+"/"+b+"="+((float)a/b));default:System.out.println("Unknown

operator!!");}}2020/11/21break;//輸出字符串}2020/11/21

76例3:使用switch語(yǔ)句與if語(yǔ)句的程序:由鍵盤(pán)輸入年份與月份,由程序判別輸出該年的那個(gè)月有多少天。程序如下:import

java.io.*;class

DayCounter

{public

static

void

main(String[]

arguments)

throws

IOException{int

year,month;String

str;BufferedReader

buf;buf=new

BufferedReader(new

InputStreamReader(System.in));System.out.print("Input

year

number:");str=buf.readLine();

year=Integer.parseInt(str);System.out.print("Inputthe

month

number:");str=buf.readLine();month=Integer.parseInt(str);System.out.println(month

+

"/"

+

year

+

"

has

"

+

countDays(month,

year)

+

"

days.");}2020/11/2177static

int

countDays(int

month,

int

year)

{int

count

=

-1;switch

(month)

{case

1:case

3:case

5:case

7:case

8:case

10:case

12:count

=

31;break;case

4:case

6:case

9:case

11:count

=

30;break;case

2:if

(year

%

4

==

0

&&

year%100!=0)||(year%400==0)count

=

29;elsecount

=

28;

}return

count;

}}2020/11/2178循環(huán)結(jié)構(gòu)Java語(yǔ)言提供的循環(huán)結(jié)構(gòu)語(yǔ)句包括:for語(yǔ)句、while語(yǔ)句do

while語(yǔ)句。2020/11/2179循環(huán)結(jié)構(gòu)作為一個(gè)循環(huán)結(jié)構(gòu)來(lái)說(shuō),應(yīng)該包含如下內(nèi)容:賦初值部分:用于設(shè)置循環(huán)控制的一些初始條件。循環(huán)體部分:需要反復(fù)執(zhí)行的代碼(塊),當(dāng)然也可以是一句單一的語(yǔ)句。循環(huán)控制變量增減方式部分:用于更改循環(huán)控制狀況。判斷條件(也稱循環(huán)終止條件)部分:是一個(gè)返回邏輯(布爾)值的表達(dá)式,用于判斷是否滿足循環(huán)終止條件,以便及時(shí)結(jié)束循環(huán)。for循環(huán)語(yǔ)句for

循環(huán)語(yǔ)句的使用適應(yīng)于明確知道重復(fù)執(zhí)行次數(shù)的情況,其語(yǔ)句格式如下:for(賦初值;判斷條件;循環(huán)控制變量增減方式){(循環(huán)體)語(yǔ)句塊;}for循環(huán)的執(zhí)行流程如右圖所示:第一次進(jìn)入for循環(huán)時(shí),對(duì)循環(huán)控制變量賦初值。根據(jù)判斷條件的內(nèi)容檢查是否要繼續(xù)執(zhí)行循環(huán),如果判斷條件為真,繼續(xù)執(zhí)行循環(huán),如條件為假,則結(jié)束循環(huán)執(zhí)行下面的語(yǔ)句。執(zhí)行完循環(huán)體內(nèi)的語(yǔ)句后,系統(tǒng)會(huì)根據(jù)循環(huán)控制變量增減方式,更改循環(huán)控制變量的值,再回到步驟2重新判斷是否繼續(xù)執(zhí)行循環(huán)。判斷條件循環(huán)體truefalse賦循環(huán)控制變量初值循環(huán)控制變量增(減)值2020/11/21802020/11/2181例3:利用for循環(huán)語(yǔ)句計(jì)算從1累加到100的結(jié)果。程序如下:public

class

SumClass{public

static

void

main(String

args[]){int

i,

sum=0;for(i=1;

i<=100;

i++)sum+=i;System.out.println("1+2+...+100="+sum);//計(jì)算//輸出結(jié)果}}for循環(huán)語(yǔ)句格式中的三項(xiàng)內(nèi)容(賦初值;判斷條件;循環(huán)控制變量增減方式)可以視不同情況省卻一個(gè)、兩個(gè),甚至全缺。程序如下:public

class

Fibonacci{public

static

void

main(String

args[]){intm=1,n=1;System.out.print(m+"

");for(inti=2;i<=30;i++){

System.out.print(n+"

");if

(i

%

10==0

)System.out.print("\n");n=n+m;m=n-m;2020/11/21

}

}

}//下一項(xiàng)為前兩項(xiàng)之和//求當(dāng)前項(xiàng)并存入變量m中82例:利用for循環(huán)輸出斐波那契序列的前30項(xiàng)數(shù)據(jù)。且每十個(gè)數(shù)據(jù)輸出一行。其運(yùn)算公式為:F1=1F2=1(n

=

1)(n

=

2)Fn=Fn-1+Fn-2(n≥3)

)//輸出第一項(xiàng)//輸出當(dāng)前項(xiàng)//控制輸出格式循環(huán)體判斷條件truefalseWhile初始化循環(huán)控制變量增(減)值while循環(huán)語(yǔ)句在不知道一個(gè)循環(huán)體會(huì)被重復(fù)執(zhí)行多少次的情況下,可以選擇使用while循環(huán)結(jié)構(gòu)語(yǔ)句,while語(yǔ)句的語(yǔ)法格式如下:while

(判斷條件){(循環(huán)體)語(yǔ)句塊;循環(huán)控制變量增(減)值;}while循環(huán)的執(zhí)行流程如下:在進(jìn)入while循環(huán)前,對(duì)循環(huán)控制變量賦初值。根據(jù)判斷條件檢查是否要繼續(xù)執(zhí)行循環(huán),如果判斷條件為真,繼續(xù)執(zhí)行循環(huán),若條件為假,則結(jié)束循環(huán)執(zhí)行下面的語(yǔ)句。執(zhí)行完循環(huán)體后,系統(tǒng)會(huì)根據(jù)循環(huán)控制變量增減方式,更改循環(huán)控制變量的值,再回到步驟2重新判斷是否繼續(xù)執(zhí)行循環(huán)。while循環(huán)的執(zhí)行流程如右上圖所示。2020/11/2183例:編程序計(jì)算當(dāng)n為多大時(shí)下列不等式成立。2

3程序如下:publicclass

Limit{public

static

void

main(String

args[]){intn=0;float

sum=0;while

(sum<=10){

n+=1;sum+=1.0/n;}System.out.print("N="+

n);}}101

1

1

1n……2020/11/2184do

while循環(huán)語(yǔ)句do

while循環(huán)的語(yǔ)法格式如下:do{(循環(huán)體)語(yǔ)句塊;循環(huán)控制變量增(減)值;}while

(判斷條件)do

while循環(huán)的執(zhí)行流程如右圖所示。do

while循環(huán)語(yǔ)句功能與while語(yǔ)句類似,但do

while語(yǔ)句的循環(huán)終止判斷是在循環(huán)體之后執(zhí)行,也就是說(shuō),它總是先執(zhí)行一次循環(huán)體,然后判斷條件表達(dá)式的值是否為真,若為真,則繼續(xù)執(zhí)行循環(huán)體;否則循環(huán)到此結(jié)束。與dowhile語(yǔ)句所不同的是,while語(yǔ)句如果開(kāi)始時(shí)的判別表達(dá)式為假,則可能一次都不執(zhí)行循環(huán)體而直接結(jié)束循環(huán)。falsetrue判斷條件循環(huán)體;

循環(huán)控制變量增(減)值;賦循環(huán)控制變量初值2020/11/2185例:編程序計(jì)算1

到1000000

之間10

的102……的平方根)。的平方根(即計(jì)算100

、101

、程序如下:publicclassSquareRoot{public

static

void

main(String

args[]){intn=0;long

m=1;do{System.out.println("n="+n+"\t"+"\t"+"10^"+n+"

squareroot="+Math.pow(m,1.0/2));n=n+1;m*=10;}while

(n<=1000000);}}2020/11/2186判斷條件While初始化循環(huán)控制變量增(減)值判斷條件循環(huán)體賦循環(huán)控制變量初值循環(huán)控制變量增(減)值循環(huán)語(yǔ)句的嵌套當(dāng)循環(huán)語(yǔ)句的循環(huán)體中又出現(xiàn)循環(huán)語(yǔ)句時(shí),就稱為循環(huán)嵌套,Java語(yǔ)言支持循環(huán)嵌套,如for循環(huán)嵌套、while循環(huán)嵌套,當(dāng)然也可以使用混合嵌套。如右圖便是while循環(huán)與for循環(huán)混合嵌套的流程圖。內(nèi)循環(huán)體外循環(huán)體2020/11/21872020/11/2188例:輸出九九乘法表程序如下:publicclass

MuiTable{public

static

void

main(String

args[]){int

i,

j;for

(i=1;i<=9;i++){//外層循環(huán)for

(j=1;j<=9;j++) //內(nèi)層循環(huán)System.out.print(i+"*"+j+"="+(i*j)+"\t");System.out.println();}}}在程202序0/1設(shè)1/2計(jì)1

過(guò)程中,選擇結(jié)構(gòu)語(yǔ)句與循環(huán)結(jié)構(gòu)語(yǔ)句互相嵌套使用8也9例:輸出1到100之間的所有偶數(shù)。并控制每行輸出十個(gè)偶數(shù)。程序如下:public

class

EvenNumber{public

static

void

main(String

args[]){inti,j;for

(i=1;i<=100;i++){if

(i

%2

==0

){

System.out.print(i+"

");if

(i

%

10==0)System.out.println();}}}}是相當(dāng)常見(jiàn)的。90例:編一程序,從鍵盤(pán)輸入一個(gè)自然數(shù),判別其是否為素?cái)?shù)程序如下:import

java.io.*;publicclass

Prime{publicstatic

void

main(String

args[])

throws

IOException

{int

i;

boolean

p;BufferedReader

buf;String

str;buf=new

BufferedReader(new

InputStreamReader(System.in));System.out.print("Input

m

is:");str=buf.readLine();int

m=Integer.parseInt(str);p=true;for(i=2;

i<m;

i++)if

(m%i==0)

p=false;if

(p==true)mber.");mber.");System.out.println(m+"

is

a

prielseSystem.out.println(m+"

is

not

apri}}

2020/11/21轉(zhuǎn)移語(yǔ)句Java的轉(zhuǎn)移語(yǔ)句用在選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中,使程序員更方便地控制程序執(zhí)行的方向。2020/11/2191break語(yǔ)句賦循環(huán)控制變量初值判斷條件1true語(yǔ)句塊;;判斷條件2truefalsebreak;語(yǔ)句塊;false循環(huán)控制變量增(減)值循環(huán)主體在Java中可以用break語(yǔ)句強(qiáng)行退出循環(huán),繼續(xù)執(zhí)行循環(huán)外的下一個(gè)語(yǔ)句,如果break出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán),則break語(yǔ)句只會(huì)退出當(dāng)前的一層循環(huán),以for循環(huán)流程為例:在循環(huán)主體中有break語(yǔ)句時(shí),當(dāng)程序執(zhí)行到break,即會(huì)退出循環(huán)主體,到循環(huán)外層繼續(xù)執(zhí)行。轉(zhuǎn)移語(yǔ)句2020/11/2192例:輸出1到10之間所有不能被3整除的自然數(shù)。程序如下:public

class

BreakSt{public

static

void

main(String

args[]){

int

i;for

(i=1;i<=10;i++){if(i%3==0)break;System.out.println("i="+i); //輸出i的值}System.out.println("when

loop

broken,

i="+i);}}從程序運(yùn)行結(jié)果可以看到:當(dāng)程序進(jìn)入第三次循環(huán),即i等于3時(shí),滿足了if判別條件,因此執(zhí)行break語(yǔ)句,不再繼續(xù)執(zhí)行循環(huán),退出循環(huán)時(shí)循環(huán)控制變量i的值為3,因此此例使用break語(yǔ)句顯然不能得到所要的結(jié)果,

向大家介紹另一個(gè)轉(zhuǎn)向語(yǔ)句conti

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論