版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章Java語言基礎(chǔ)
?2.1數(shù)據(jù)類型
?2.2運(yùn)算符和表達(dá)式
?2.3流程控制語句
2.1數(shù)據(jù)類型
?2.1.1保留字和標(biāo)識(shí)符
?2.1.2Java數(shù)據(jù)類型
?2.1.3整數(shù)類型
?2.1.4浮點(diǎn)數(shù)類型
?2.1.5布爾型數(shù)據(jù)
?2.1.6字符型數(shù)據(jù)
2.1.1保留字和標(biāo)識(shí)符
1.Java保留字
abstractcontinuefornewswitch
assertdefaultgotopackagesynchronized
booleandoifprivatethis
breakdoubleimplementsprotectedthrow
byteelseimportpublicthrows
caseenuminstanceofreturntransient
catchextendsintshorttry
charfinalinterfacestaticvoid
classfinallylongstrictfpvolatile
constfloatnativesuperwhile
2.1.1保留字和標(biāo)識(shí)符
2.標(biāo)識(shí)符
?標(biāo)識(shí)符用來對(duì)變量、方法、對(duì)象和類進(jìn)行命名。
?Java規(guī)定,標(biāo)識(shí)符必須以字母、下劃線(_)或美元
符⑻開始,其后可以是字母、下劃線、美元符或
數(shù)字,長(zhǎng)度沒有限制。
?如下面是一些合法的標(biāo)識(shí)符:
intTest,Manager_Name,_var,$Var
?Java標(biāo)識(shí)符是區(qū)分大小寫的
?下面兩個(gè)標(biāo)識(shí)符是不同的:
Name,name
2.1.1保留字和標(biāo)識(shí)符
3.Java標(biāo)識(shí)符的命名約定
?(1)類名和接口名一般使用名詞,首字母大寫,若名稱
是多個(gè)單詞的組合,每個(gè)單詞的第一個(gè)字母都應(yīng)該大寫,
如:
classStudent{}
?(2)變量名和方法名一般用小寫英文單詞命名,若名稱
是多個(gè)單詞的組合,則第一個(gè)單詞小寫,后面單詞的第
一個(gè)字母大寫,如:
balanceAccount
?(3)常量名應(yīng)該全部大寫并用下劃線將詞分隔開,如:
MAXARRAYSIZE或MYNAME
2.1.2Java數(shù)據(jù)類型
?在程序設(shè)計(jì)中,數(shù)據(jù)是程序的必要組成部分,也
是程序處理的對(duì)象。不同的數(shù)據(jù)有不同的類型,
不同的數(shù)據(jù)類型有不同的數(shù)據(jù)結(jié)構(gòu)、不同的存儲(chǔ)
方式,并且參與的運(yùn)算也不相同。
?Java語言的數(shù)據(jù)類型可分成兩大類,一類是基本
數(shù)據(jù)類型(primitivedatatype),另一類是引用
數(shù)據(jù)類型(referencedatatype),如表2.1所示:
2.1.2Java數(shù)據(jù)類型
表2.1Java語言的數(shù)據(jù)類型
字節(jié)型byte
短整型short
整數(shù)類型
整型int
長(zhǎng)整型long
基本數(shù)據(jù)類型單浮點(diǎn)型float
浮點(diǎn)類型
雙浮點(diǎn)型double
布爾類型boolean
字符類型char
數(shù)組〃。加e[]類class
引用數(shù)據(jù)類型
接口interface枚舉類型enum
1.基本數(shù)據(jù)類型
表2.2Java基本數(shù)據(jù)類型的寬度和取值范圍
數(shù)據(jù)類型占字節(jié)數(shù)所占位數(shù)數(shù)的范圍
boolean11只有true和false兩個(gè)值
byte18-27?27-1
short216-215?215-1
int432-231?231-1
long864-263?263-1
char2160-65535
float4323.4e-038~3.4e+038
double864L7e-308?L7e+308
2.常量
?常量是在程序運(yùn)行過程中,其值不能被改變的量。
?常量分為常數(shù)常量和標(biāo)識(shí)符常量。
?常數(shù)常量也叫字面值,共有五種類型:整型、
浮點(diǎn)型、布爾型、字符型和字符串常量。
?標(biāo)識(shí)符常量是有名稱的常量,或叫常值變量。
它實(shí)際上是一個(gè)由final關(guān)鍵字修飾的變量,一
旦為其賦值,其值在程序運(yùn)行中就不能被改變。
?常值變量可以在聲明的同時(shí)賦值,也可以稍后賦
值。不管哪種情況,一旦賦值便不允許修改。
3.變量及賦值
?變量是在程序運(yùn)行中其值可以改變的量。
?一個(gè)變量應(yīng)該有一個(gè)名字,在內(nèi)存中占據(jù)一定的
存儲(chǔ)單元。
?根據(jù)變量的數(shù)據(jù)類型分,Java有兩種類型的變量:
基本類型的變量和引用類型的變量。
?基本類型的變量包括數(shù)值型(整數(shù)型和浮點(diǎn)型)、
布爾型和字符型;
?引用類型的變量包括類、接口、枚舉和數(shù)組等。
?變量在使用之前必須定義,變量的定義包括變量
的聲明和賦值。
(1)變量的聲明
?一般格式為:
[modifier]typevarName[二value][,varName[=value
?其中:
?modifier為變量的訪問修飾符
?type為變量的類型
?varName為變量名
?下面聲明了幾個(gè)不同類型的變量:
intage;
doubledl,d2;
charchi,ch2;
(2)變量的賦值
?使用賦值運(yùn)算符“二”來給變量賦值,一般稱為變
量的初始化。
?如下面是幾個(gè)賦值語句:
age=21;
chi='A';
dl=0.618;
?也可以在聲明變量的同時(shí)給變量賦值,例如:
booleanb=false;
2.1.3整數(shù)類型
?Java語言定義了4個(gè)整數(shù)類型,分別是字節(jié)型
(byte)、短整型(short)、整型(int)和長(zhǎng)整型
(long)o這些整數(shù)類型都是有符號(hào)的數(shù),可以為
正值或負(fù)值。每種類型的整數(shù)在JVM中占的位數(shù)不
同,因此能夠表示的數(shù)的范圍也不同。
?注意,不要把整數(shù)類型的寬度理解成實(shí)際機(jī)器的
存儲(chǔ)空間,一個(gè)byte型的數(shù)據(jù)可能使用32位存儲(chǔ)。
1.整型常量
?與C、C++相同,Java的整型常量有三種形式:
(1)十進(jìn)制整數(shù),如0、257、-365o
(2)八進(jìn)制整數(shù),是以0開頭的數(shù),如0124表示十
進(jìn)制數(shù)84,-012表示十進(jìn)制數(shù)-10。
(3)十六進(jìn)制整數(shù),是以O(shè)x或0X開頭的整數(shù),如
0x124表示十進(jìn)制數(shù)的292。
?注意整型常量具有int類型,在JVM中占32位。對(duì)
于long型值,可以在后面加上1或L,表示long型常
量,如量5L,它在JVM中占64位。
2.整型變量
?Java的整型變量有byte、short>int、long四種
類型。
byteb=120;
shorts=1000;
inti=99999999;
long1=-9223372036854775808;//這是
long型數(shù)據(jù)的最小值
?注意,在給變量賦值時(shí),不能超出該數(shù)據(jù)類型所
允許的范圍,否則編譯器給出錯(cuò)誤提示。
程序2.1LightSpeed.java
publicclassLightSpeed(
publicstaticvoidmain(Stringargs[]){
intspeed=300000;
intdays=1000;
longseconds;
longdistance;
seconds=days*24*60*60;
distance=speed*seconds;
System,out.print(/zIn〃+days+〃days〃);
System,out.printin(/zlightwilltravel
〃+distance+〃kilometers./z);
2.1.4浮點(diǎn)數(shù)類型
?浮點(diǎn)類型的數(shù)就是我們所說的實(shí)數(shù)。
?在Java中有兩種浮點(diǎn)類型的數(shù)據(jù):float型和
double型。
?這兩種類型的數(shù)據(jù)在JVM中所占的位數(shù)不同,
float型占32位,double型占64位。
?通常float型稱為單精度浮點(diǎn)數(shù),double型稱為
雙精度浮點(diǎn)數(shù)。
1.浮點(diǎn)型常量
?浮點(diǎn)型常量有兩種表示方法:
?(1)十進(jìn)制數(shù)形式,由數(shù)字和小數(shù)點(diǎn)組成,且
必須有小數(shù)點(diǎn),如0.256、.345、256.>256.0
等。
?(2)科學(xué)記數(shù)法形式,如256e3、256e-3,它
們分別表示256X103和256X10-3。e之前必須
有數(shù)字,e后面的指數(shù)必須為整數(shù)。
2.浮點(diǎn)型變量
?浮點(diǎn)型變量的定義使用float和double關(guān)鍵字,如
下面兩行分別聲明了兩個(gè)浮點(diǎn)型變量f和d:
floatpi=3.1415926F;
doublee=2.71828;
?注意浮點(diǎn)型常量默認(rèn)的類型是double型數(shù)據(jù)。
如果表示float型常量數(shù)據(jù),必須在后面加上F或f,
double型數(shù)據(jù)也可加D或d。
2.1.5布爾型數(shù)據(jù)
?布爾型數(shù)據(jù)用來表示邏輯真或邏輯假,只有兩個(gè)
值true和false,分別表示邏輯真和邏輯假。
?布爾型變量使用boolean關(guān)鍵字聲明,如:
booleant=true;
?所有關(guān)系表達(dá)式的返回值都是布爾型的數(shù)據(jù),如
表達(dá)式10〈9的結(jié)果為false。
?布爾型的數(shù)據(jù)也經(jīng)常用于選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的
條件中。
2.1.6字符型數(shù)據(jù)
?字符型數(shù)據(jù)用來表示一個(gè)字符,其類型為char。
?Java語言使用Unicode字符集來表示字符。
?ASCII碼字符集是Unicode字符集的子集。
1.字符型常量
?Java字符型常量的表示用單引號(hào)將字符括起來,
?大多數(shù)可見的Unicode碼字符都可用這種方式表示,
如,a,、'@'、,我―等。
?對(duì)于不能用單引號(hào)直接括起來的符號(hào),需要使用
轉(zhuǎn)義序列來表示。表示方法是在一對(duì)單引號(hào)內(nèi)用
表示轉(zhuǎn)義,如'表示單引
號(hào)、'\n'表示換行。
?其他常用的轉(zhuǎn)義序列如表2.3所示:
1.字符型常量
表2.3Java常見的轉(zhuǎn)義字符序列
轉(zhuǎn)義字符說明轉(zhuǎn)義字符說明
\'單引號(hào)字符\r回車
\\反斜杠字符\n換行
\f換頁\t水平制表符
\b退格\a響鈴
\ddd3位八進(jìn)制數(shù)所表示的字符
\uxxxx4位十六進(jìn)制數(shù)所表示的字符
2.字符型變量
?字符型變量的類型是char,在內(nèi)存中占16位,它能表示的
數(shù)據(jù)范圍是0?65535。字符型變量的定義如:
charc='a';
charcl=97;
?Java字符型數(shù)據(jù)實(shí)際上是int型數(shù)據(jù)的一個(gè)子集,因此可
以與其他數(shù)值型數(shù)據(jù)混合運(yùn)算。但字符型數(shù)據(jù)不能與int
型數(shù)據(jù)直接相互轉(zhuǎn)換。
?一般情況下,char類型的數(shù)據(jù)可直接轉(zhuǎn)換為int類型的
數(shù)據(jù),而int類型的數(shù)據(jù)轉(zhuǎn)換成char類型的數(shù)據(jù)需要強(qiáng)
制轉(zhuǎn)換。
程序2.2CharBoolDemo.java:?
publicclassCharBoolDemo{
publicstaticvoidmain(Stringargs[]){
booleanb;
charchi,ch2;
chi='Y';
ch2=65;
/z
System,out.printin(chl=〃+chl+〃,ch2=〃+ch2);
b二chi二二ch2;
System,out.printin(b);
ch2++;
System,out.printin(〃ch2=〃+ch2);
2.2運(yùn)算符和表達(dá)式
?2.2.1算術(shù)運(yùn)算符
?2.2.2關(guān)系運(yùn)算符
?2.2.3位運(yùn)算符
?2.2.4邏輯運(yùn)算符
?2.2.5賦值運(yùn)算符
?2.2.6條件運(yùn)算符
?2.2.7運(yùn)算符的優(yōu)先級(jí)
?2.2.8數(shù)據(jù)類型轉(zhuǎn)換
2.2運(yùn)算符和表達(dá)式
?運(yùn)算符和表達(dá)式是Java程序的基本組成要素。
?把表示各種不同運(yùn)算的符號(hào)稱為運(yùn)算符,參與運(yùn)算
的各種數(shù)據(jù)稱為操作數(shù)。
?Java語言提供了多種運(yùn)算符
?按操作數(shù)的個(gè)數(shù)可分為一元運(yùn)算符,如++、一,
二元運(yùn)算符,如*、/、%和三元運(yùn)算符?:o
?按功能分可分為:
?算術(shù)運(yùn)算符如++、--、+、-、*、/、%
關(guān)系運(yùn)算符如>、<、>二、〈二、二二、!二
2.2運(yùn)算符和表達(dá)式
位運(yùn)算符如?、&、I、\〈〈、〉>、?>
?邏輯運(yùn)算符如!、&&、||、&、|、八
賦值運(yùn)算符如二、+二、-二等
?條件運(yùn)算符如?:
?其他運(yùn)算符如分量運(yùn)算符.,下標(biāo)運(yùn)算符口,實(shí)例
運(yùn)算符instanceof,類型轉(zhuǎn)換運(yùn)算符()等。
?表達(dá)式是由運(yùn)算符和操作數(shù)按一定語法規(guī)則組成的符號(hào)序
歹I」。如:a+b、(a+b)*(a—b)、"name=〃+〃李明〃
?每個(gè)表達(dá)式經(jīng)過運(yùn)算后都會(huì)產(chǎn)生一個(gè)確定的值。一個(gè)常量
或一個(gè)變量是最簡(jiǎn)單的表達(dá)式。
2.2.1算術(shù)運(yùn)算符
?算術(shù)運(yùn)算符一般用于對(duì)整型數(shù)和浮點(diǎn)型數(shù)運(yùn)算。
?算術(shù)運(yùn)算符有
?+(加)、-(減)、*(乘)、/(除)和%(取余數(shù))五個(gè)
二元運(yùn)算符
?+(正)、-(負(fù))、++(自增)、--(自減)四個(gè)一元
運(yùn)算符。
1.二元運(yùn)算符
(1)上溢和下溢
?二元運(yùn)算符+、-、*、/和%分別用來進(jìn)行加、減、
乘、除和取余運(yùn)算。
?對(duì)*運(yùn)算符要注意運(yùn)算結(jié)果的溢出的問題
?對(duì)/運(yùn)算符,若兩個(gè)操作數(shù)都為整數(shù),結(jié)果為兩個(gè)
操作數(shù)整除的商,只保留整數(shù)。
?請(qǐng)看下面一段代碼:
(1)上溢和下溢
inta=12345,b=234567,c,d;
longe,f;
c二a*b/b;//a*b超出了int類型,被截短再除以b,結(jié)果不正確
d=a/b*b;〃a/b是整數(shù)除法,結(jié)果為0,因此d的結(jié)果為0
System,out.println(z/c=〃+c);
System,out.println(,zd=〃+d);
e=(long)a*b/b;〃a被轉(zhuǎn)換為長(zhǎng)整型,a*b的類型沒有超
過long的范圍,再除以b得到的結(jié)果正確
f二(long)a/b*b;
System,out.printin(〃e=〃+e);
System,out.println(z/f=〃+f);
(2)取余運(yùn)算符
?%運(yùn)算符用來求兩個(gè)操作數(shù)相除的余數(shù),操作數(shù)可以為整
數(shù),也可以為浮點(diǎn)數(shù)。例如7%4的結(jié)果為3,10.5%2.5的結(jié)
果為0.5o
?當(dāng)操作數(shù)含有負(fù)數(shù)或?qū)Ω↑c(diǎn)數(shù)取余時(shí),規(guī)則是余數(shù)的符號(hào)
與被除數(shù)相同且余數(shù)的絕對(duì)值小于除數(shù)的絕對(duì)值。例如:
10%3=1
10%-3=1
-10%3=-1
-10%-3=-1
(2)取余運(yùn)算符
?在求余運(yùn)算中,如果操作數(shù)涉及到負(fù)數(shù),可通過下
面規(guī)則計(jì)算結(jié)果:先去掉負(fù)號(hào),再計(jì)算結(jié)果,結(jié)果
的符號(hào)取被除數(shù)的符號(hào)。如求-10%-3的結(jié)果,去
掉負(fù)號(hào)求10%3,結(jié)果為1。由于被除數(shù)是負(fù)值,
因此最終結(jié)果為-1。
?在整數(shù)除法及取余運(yùn)算中,如果除數(shù)為0,則拋出
ArithmeticException異常。當(dāng)操作數(shù)有一個(gè)是浮
點(diǎn)數(shù)時(shí),如果除數(shù)為0,除法運(yùn)算將返回Infinity
或-Infinity,求余運(yùn)算將返回NaN。
(3)“+”運(yùn)算符的重載
?“+”運(yùn)算符不但可以用于計(jì)算兩個(gè)數(shù)值型數(shù)據(jù)的
和,還可以用于字符串對(duì)象的連接。例如:
System,out.printin(/zabcz/+〃de〃);
?當(dāng)“+”運(yùn)算符的兩個(gè)操作數(shù)一個(gè)是字符串而另一
個(gè)是其他數(shù)據(jù)類型,系統(tǒng)會(huì)自動(dòng)將另一個(gè)操作數(shù)
轉(zhuǎn)換成字符串,然后再進(jìn)行連接。例如:
intx=1,y=2,z=3;
System,out.printin(z/abcz/+x+y+z);
?注意下面代碼的輸出
System,out.printin(x+y+z+〃abc〃);
2.一元運(yùn)算符
?一元運(yùn)算符+和-用來改變操作數(shù)的符號(hào),
?++和一運(yùn)算符主要用于對(duì)變量的操作,分別稱為自
增和自減運(yùn)算符,
?++表示加1,一表示減1
?它們都可以使用在變量的前面或后面
?放在變量前,表示給變量加1后再使用該變量;
放在變量的后面,表示使用完該變量后再加1。
程序2.3IncrementTest.java
publicclassIncrementTest{
publicstaticvoidmain(Stringargs[]){
inti=3;
ints=(i++)+(i++)+(i++);
System,out.printin(/zs=〃+s+〃,i=〃+i);
i=3;
s=(++i)+(++i)+(++i);
System,out.println(/zs=〃+s+〃,i=〃+i);
2.2.2關(guān)系運(yùn)算符:?
?關(guān)系運(yùn)算符(也稱比較運(yùn)算符),用來比較兩個(gè)值的大
小。
?關(guān)系運(yùn)算符有〉(大于)、<(小于)、〉二(大于等于)、
〈二(小于等于)、一(等于)、!二(不等于)六個(gè)。
?關(guān)系運(yùn)算符一般用來構(gòu)成條件表達(dá)式,比較的結(jié)果返
回true或false。
?Java語言中,任何類型的數(shù)據(jù)(包括基本類型和引用類
型)都可以通過二二和!二比較是否相等,但只有基本類型
的數(shù)據(jù)(布爾型除外)可以比較大小。比較結(jié)果通常作
為判斷條件,如:if(x二二y)
2.2.3位運(yùn)算符
?在Java語言中,有關(guān)位的運(yùn)算有兩類:位邏輯運(yùn)
算(bitwise)和移位運(yùn)算(shift)o
?位邏輯運(yùn)算符包括?(按位取反)、&(按位與)、
I(按位或)和人(按位異或)四種。
?移位運(yùn)算符包括〈<(左移)、〉〉(右移)和〉〉〉(無
符號(hào)右移)三種。位運(yùn)算符只能用于整型數(shù)據(jù),
包括byte、short>int>long和char類型。
?表2.4列出了各種位運(yùn)算符的功能與示例。
2.2.3位運(yùn)算符
表2.4位運(yùn)算符
運(yùn)算符功能示例
?按位取反op
&按位與opl&op2
按位或oplop2
按位異或oplop2
?按位左移opl<<op2
?按位右移opl>>op2
?>按位無符號(hào)右移opl>>>op2
1.位邏輯運(yùn)算符
?位邏輯運(yùn)算是對(duì)一個(gè)整數(shù)的二進(jìn)制位進(jìn)行運(yùn)算。
?設(shè)A、B表示運(yùn)算數(shù)中的一位,位邏輯運(yùn)算的規(guī)則如
表2-7所示:
表2.5位邏輯運(yùn)算的運(yùn)算規(guī)則
AB?AA&BA|BAAB
001000
011011
100011
110110
2.移位運(yùn)算符
?Java語言提供了3個(gè)移位運(yùn)算符:?(左移運(yùn)算符)、
>>(右移運(yùn)算符)和>>>(無符號(hào)右移運(yùn)算符)。
?左移運(yùn)算符〃〈〈〃用來將一個(gè)整數(shù)的二進(jìn)制位序
列左移若干位。移出的高位丟棄,右邊添0。
?右移運(yùn)算符〃〉〉〃用來將一個(gè)整數(shù)的二進(jìn)制位序
列右移若干位。移出的低位丟棄。若為正數(shù),移
入的高位是0,若為負(fù)數(shù),移入的高位是1。
?無符號(hào)右移運(yùn)算符“〉〉〉”也是將一個(gè)整數(shù)的二進(jìn)
制位序列右移若干位。它與右移運(yùn)算符的區(qū)別是,
不論正數(shù)還是負(fù)數(shù)左邊一律移入0。
2.移位運(yùn)算符
?注意位運(yùn)算符和移位運(yùn)算符都只能用于整型數(shù)
或字符型數(shù)據(jù),不能用于浮點(diǎn)型數(shù)據(jù)。
2.2.4邏輯運(yùn)算符
?邏輯運(yùn)算符的運(yùn)算對(duì)象只能是布爾型數(shù)據(jù),并且
運(yùn)算結(jié)果也是布爾型數(shù)據(jù)。
?邏輯運(yùn)算符包括以下幾種:
?!(邏輯非)、&&(短路與)、II(短路或)、&
(邏輯與)、I(邏輯或)、八(邏輯異或)。
?假設(shè)A、B是兩個(gè)邏輯型數(shù)據(jù),則邏輯運(yùn)算的規(guī)
則如表2.6所示:
2.2.4邏輯運(yùn)算符
表2.6邏輯運(yùn)算的運(yùn)算規(guī)則
AB!AA&BA|BAABA&&BA||B
falsefalsetruefalsefalsefalsefalsefalse
falsetruetruefalsetruetruefalsetrue
truefalsefalsefalsetruetruefalsetrue
Htruetruefalsetruetruefalsetruetrue
程序2.4LogicalTest.java
publicclassLogicalTest{
publicstaticvoidmain(Stringargs[]){
intx=1,y=2,z=3;
booleanu=false;
u=!((x>=—y||y++<z—)&&y==z);
System.out.println(Hu=n+u);
y=2;
u=!((x>=-y|y++<z--)&y==z);
System.out.println(nu=n+u);
2.2.5賦值運(yùn)算符
?賦值運(yùn)算符用來為變量賦新值。
?賦值運(yùn)算符主要有兩類,
?一類是使用“二”號(hào)賦值,它簡(jiǎn)單地把一個(gè)表達(dá)
式的值賦給一個(gè)變量或?qū)ο螅?/p>
?另一類是擴(kuò)展的賦值運(yùn)算符。
1.賦值運(yùn)算符
?賦值運(yùn)算符〃=〃的一般格式為:
variableName=expression;
?其功能是將等號(hào)右邊的表達(dá)式的值賦給左邊的變
量。
?賦值運(yùn)算必須是類型兼容的,即左邊的變量必須
能夠接受右邊的表達(dá)式的值,否則會(huì)產(chǎn)生編譯錯(cuò)
誤。如下面的語句會(huì)產(chǎn)生編譯錯(cuò)誤。
intj;
j=3.14;
1.賦值運(yùn)算符
?如果是對(duì)象賦值,則稱為引用賦值。將右邊對(duì)象
的引用值(地址)賦給左邊的變量,這樣,兩個(gè)變
量地址相同,即指向同一對(duì)象。如:
Datedl=newDate();
Dated2=dl;
?此時(shí)dl、d2指向同一個(gè)對(duì)象。
?對(duì)象引用賦值與基本數(shù)據(jù)類型的拷貝賦值是不同
的。
2.擴(kuò)展賦值運(yùn)算符|::
?在賦值運(yùn)算符〃二〃前加上其他運(yùn)算符,即構(gòu)成擴(kuò)
展賦值運(yùn)算符。它的一般格式為:
varop=expression;
?例如,下面兩行是等價(jià)的:
a+=3;
a=a+3;
?擴(kuò)展賦值運(yùn)算符有n個(gè),表2.7給出了所有的擴(kuò)展
的賦值運(yùn)算符及其使用方法。
2.擴(kuò)展賦值運(yùn)算符
表2.7擴(kuò)展的賦值運(yùn)算符
擴(kuò)展賦值運(yùn)算符表達(dá)式等價(jià)表達(dá)式
+=opl+=op2opl=opl+op2
___opl-=op2opl=opl-op2
*=opl*=op2opl=opl*op2
/=opl/=op2opl=opl/op2
%=opl%=op2opl=opl%op2
&—op1&=op2opl=opl&op2
1=op11=op2opl=oplop2
A—oplA=op2opl=oplAop2
?=opl?=op2opl=opl?op2
?=opl?=op2opl=opl?op2
?>=opl?>=op2opl=opl?>op2
2.2.6條件運(yùn)算符
?條件運(yùn)算符又稱三元運(yùn)算符,為?:,格式如下:
expression?expressionl:expression2
?條件運(yùn)算符號(hào)可以使用Java的if~else結(jié)構(gòu)表示。
例如,若a,b,c是int型變量,x是boolean型變
量,語句:
a=x?b:c;
?等價(jià)于下面的結(jié)構(gòu):
if(x){a=b;}
else{a=c;}
2.2.7運(yùn)算符的優(yōu)先級(jí)
?運(yùn)算優(yōu)先級(jí)是指在一個(gè)表達(dá)式中出現(xiàn)多個(gè)運(yùn)算符
又沒有用括號(hào)分隔時(shí),先運(yùn)算哪個(gè)后運(yùn)算哪個(gè)。
?不同的運(yùn)算符有不同的運(yùn)算優(yōu)先級(jí)。表2.8中按優(yōu)
先級(jí)的順序列出了各種運(yùn)算符。
?為了使運(yùn)算次序更明確,一般使用括號(hào)指定運(yùn)算
的次序。
2.2.7運(yùn)算符的優(yōu)先級(jí)
表2.8按優(yōu)先級(jí)從高到低的Java運(yùn)算符
類別運(yùn)算符結(jié)合性
F運(yùn)算符+++—!?(type)從右向左
*/%
算術(shù)運(yùn)算符+—從左向右
移位運(yùn)算符???>從左向右
<<=>>=instanceof
關(guān)系運(yùn)算符==1=從左向右
位運(yùn)算符&八1從左向右
邏輯運(yùn)算符&&11從左向右
條件運(yùn)算符?:從左向右
賦值運(yùn)算符二“op=”從右向左
2.2.8數(shù)據(jù)類型轉(zhuǎn)換
?整型、實(shí)型、字符型數(shù)據(jù)可能需要混合運(yùn)算或相互賦值,
這就涉及到類型轉(zhuǎn)換的問題。
?Java語言是強(qiáng)類型的語言,即每個(gè)常量、變量、表達(dá)式
的值都有固定的類型,而且每種類型都是嚴(yán)格定義的。
?在Java程序編譯階段,編譯器要對(duì)類型進(jìn)行嚴(yán)格的檢查,
任何不匹配的類型都不能通過編譯器。如果一定要把一
個(gè)浮點(diǎn)型的值賦給一個(gè)整型變量,需要進(jìn)行類型轉(zhuǎn)換。
?在Java中,基本數(shù)據(jù)類型的轉(zhuǎn)換分為自動(dòng)類型轉(zhuǎn)換和強(qiáng)
制類型轉(zhuǎn)換兩種。
1.自動(dòng)類型轉(zhuǎn)換
?自動(dòng)類型轉(zhuǎn)換也稱加寬轉(zhuǎn)換,它是指將具有較少
位數(shù)的數(shù)據(jù)類型轉(zhuǎn)換為具有較多位數(shù)的數(shù)據(jù)類型。
例如:
byteb=64;
inti=b;
?將byte型變量b的值賦給int型變量i,這是合法的,
因?yàn)閕nt型數(shù)據(jù)占的位數(shù)多于byte型數(shù)據(jù)占的位數(shù),
這就是自動(dòng)類型轉(zhuǎn)換。
1.自動(dòng)類型轉(zhuǎn)換
表2.9Java允許的自動(dòng)類型轉(zhuǎn)換
原數(shù)據(jù)類型可以轉(zhuǎn)換成的數(shù)據(jù)類型
byteshort>int、long>float、double
shortint、long、float、double
charint>long>float>double
intlong、float、double
longfloat、double
floatdouble
自動(dòng)類型轉(zhuǎn)換
char
byte___short
float___double
圖2-1Java數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換
1.自動(dòng)類型轉(zhuǎn)換
?當(dāng)使用二元運(yùn)算符對(duì)兩個(gè)值進(jìn)行計(jì)算時(shí),如果兩
個(gè)操作數(shù)類型不同,一般要自動(dòng)轉(zhuǎn)換成更寬的類
型。
?例如,計(jì)算n+f,其中n是整數(shù),f是浮點(diǎn)數(shù),
則結(jié)果為float型數(shù)據(jù)。對(duì)于寬度小于int型數(shù)
據(jù)的運(yùn)算,結(jié)果為int型。
?注意布爾型數(shù)據(jù)不能與其他任何類型的數(shù)據(jù)相互
轉(zhuǎn)換。
2.強(qiáng)制類型轉(zhuǎn)換
?可以將高級(jí)數(shù)據(jù)類型轉(zhuǎn)換為低級(jí)數(shù)據(jù)類型,這時(shí)需要通過
強(qiáng)制類型轉(zhuǎn)換來完成。
?其語法是在圓括號(hào)中給出要轉(zhuǎn)換的目標(biāo)類型,隨后是待轉(zhuǎn)
換的變量名。例如:
byteb=5;
doubled=333.567;
b二(byte)d;〃將double型值強(qiáng)制轉(zhuǎn)換成byte類型值
?由此可見,強(qiáng)制類型轉(zhuǎn)換有時(shí)可能要丟失信息。因此,在
進(jìn)行強(qiáng)制類型轉(zhuǎn)換時(shí)應(yīng)測(cè)試轉(zhuǎn)換后的結(jié)果是否在正確的范
圍。
3.表達(dá)式中類型的自動(dòng)提升
?除了賦值要發(fā)生類型轉(zhuǎn)換外,在含有變量的表達(dá)
式中也有類型轉(zhuǎn)換的問題,如:
bytea=40;
byteb=50;
bytec;
c=a+b;〃編譯錯(cuò)誤
c=(byte)(a+b);
inti=a+b;
3.表達(dá)式中類型的自動(dòng)提升
?但是下面代碼不發(fā)生編譯錯(cuò)誤,即常量表達(dá)式不
發(fā)生類型提升。如:
c=40+50;
?自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換的問題也發(fā)生在對(duì)
象中,對(duì)象的強(qiáng)制類型轉(zhuǎn)換也使用括號(hào)實(shí)現(xiàn)。
?關(guān)于對(duì)象類型的轉(zhuǎn)換問題,請(qǐng)參閱第5章。
2.3流程控制語句
?2.3.1數(shù)據(jù)的輸入輸出
?2.3.2選擇結(jié)構(gòu)
?2.3.3循環(huán)結(jié)構(gòu)
2.3流程控制語句
?流程控制是幾乎所有編程語言的基本功能,它們
主要用來控制程序中各語句的執(zhí)行順序。
?在Java語言中最主要的流程控制方式是結(jié)構(gòu)化程
序設(shè)計(jì)中規(guī)定的三種基本流程結(jié)構(gòu),即順序結(jié)構(gòu)、
選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
2.3.1數(shù)據(jù)的輸入輸出
1.格式化輸出
?在Java1.6中還可以使用一種與C語言的printf()
串?dāng)?shù)類似的格式化輸出方法,定義在
java.io.PrintStream類中,格式如下:
publicPrintStreamprintf(Stringformat,Object…args)
?參數(shù)format是格式控制字符串,其中可以嵌入格
式符(Specifier)指定參數(shù)如何輸出。args為輸
出參數(shù)列表,參數(shù)可以是基本數(shù)據(jù)類型,也可以
是引用數(shù)據(jù)類型。
1.格式化輸出
?格式符的一般格式如下:
%[argument_index^>][flags]^width\[.precision\conversion
?格式符以百分號(hào)(%)開頭,至少包含一個(gè)轉(zhuǎn)義字符,其
他為可選內(nèi)容。
?arg〃勿6771_,77加工用來指定哪個(gè)參數(shù)應(yīng)用該格式。例如,
“%2$”表示列表中的第2個(gè)參數(shù)。
?Flags用來指定一個(gè)選項(xiàng),如“+”表示數(shù)據(jù)前面添一個(gè)加
號(hào),“0”表示數(shù)據(jù)前面用0補(bǔ)充。
?應(yīng)心力和夕recox分別表示數(shù)據(jù)所占最少的字符數(shù)和小數(shù)
的位數(shù)。
?為指定的格式符,表2-10列出了常用的格式符。
1.格式化輸出
表2-10常用的格式符
格式符含義
%d結(jié)果被格式化成十進(jìn)制整數(shù)
%f結(jié)果被格式化成十進(jìn)制浮點(diǎn)數(shù)
%s結(jié)果以字符串輸出
%b結(jié)果以布爾值(true或false)形式輸出
%c結(jié)果為Unicode字符
(1)“%d”格式符
?"%d”用來輸出十進(jìn)制整數(shù),可以有長(zhǎng)度修飾。如果指定
的長(zhǎng)度大于實(shí)際的長(zhǎng)度,則前面補(bǔ)以空格;如果指定的長(zhǎng)
度小于實(shí)際的長(zhǎng)度,則以實(shí)際長(zhǎng)度輸出。例如:
System,out.printf(/zyear二|%6d|%n/z,2005);
輸出結(jié)果為:year二|20051
?"%d”可以應(yīng)用的數(shù)據(jù)類型有byte、Byte、short>Short>
int、Integer、long、Long>Biglntegero
?下面的語句是錯(cuò)誤的,將產(chǎn)生運(yùn)行時(shí)異常。
System,out.printf(〃%8d〃,10.10);
?下面的語句是正確的,因?yàn)閰?shù)被轉(zhuǎn)換成了int數(shù):
System,out.printf(〃%8d〃,(int)10.10);
(2)“%f”格式符
?"%f”用來以小數(shù)方式輸出??梢詰?yīng)用下列浮點(diǎn)型數(shù)
據(jù):float、Float、double>Double>BigDecimalo
可以指定格式寬度和小數(shù)位,也可以僅指定小數(shù)位。
?例如:System,out.printf(z/%8.3f|z/,2005.1234);
輸出結(jié)果為:2005.123
?注意,如果使用格式符“%f”,而參數(shù)為整型數(shù),也
會(huì)產(chǎn)生運(yùn)行時(shí)異常,如下面語句是錯(cuò)誤的,因?yàn)?005
是整數(shù):
System,out.printf(z/%8.3f〃,2005);
(3)“%c”格式符______|r
?“蹌”用來以字符方式輸出。它可以應(yīng)用的數(shù)據(jù)
類型有:char、Character、byte>Byte>short>
Short,這些數(shù)據(jù)類型都能夠轉(zhuǎn)換成Unicode字符。
byteb=65;
System,out.printf(〃b=%c%n〃,b);
輸出結(jié)果為:
b=A
(4)“%b”格式符
?“加”格式符可以用在任何類型的數(shù)據(jù)上。如果參數(shù)值為
null,結(jié)果輸出false;如果參數(shù)是boolean或Boolean類
型的數(shù)據(jù),結(jié)果是調(diào)用String.valueOf()方法的結(jié)果,否
則結(jié)果是true。例如:
byteb=0;Strings=null;
System,out.printf(〃bl=%b%n〃,b);
System,out.printf(〃b2二%b%n〃,true);
System,out.printf(〃b3二%b%n〃,s);
?輸出結(jié)果為:
bl二true
b2二true
b3=false
(5)“%s”格式符
?"%S”格式符也可以用在任何類型的數(shù)據(jù)上。如果參數(shù)值
為null,結(jié)果輸出null;如果參數(shù)實(shí)現(xiàn)了Formatter接口,
結(jié)果是調(diào)用args.formatTo()的結(jié)果,否則,結(jié)果是調(diào)用
args.toStringO的結(jié)果。
?如果將上面代碼中“%b”改為“%s”,輸出結(jié)果為:
bl=0
b2二true
b3二null
2.格式化輸入
?傳統(tǒng)的方法是將標(biāo)準(zhǔn)輸入System,in轉(zhuǎn)換成字符輸
入流,然后從中讀取數(shù)據(jù),再轉(zhuǎn)換成需要的數(shù)據(jù)
類型,這種方法對(duì)初學(xué)者來說較難。
?在java,util包中提供了一個(gè)Scanner類,使用這
個(gè)類可以方便地從鍵盤上讀取各種類型的數(shù)據(jù)。
程序2?5ComputeArea.java
?下面例子從鍵盤上讀取一個(gè)浮點(diǎn)數(shù),然后輸出以
這個(gè)浮點(diǎn)數(shù)為半徑的圓的面積。
importjava.util.Scanner;
publicclassComputeArea{
publicstaticvoidmain(String[]args){
//創(chuàng)建Scanner類的對(duì)象
Scannersc=newScanner(System.in);
System.out.print("請(qǐng)輸入半徑值:”);
doubleradius=sc.nextDouble();
System.out.printf("面積=%10.2f%n",Math.Prradius*radius);
}
)
程序2.6ComputeLoan,java
importjava.util.Scanner;
publicclassComputeLoan{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System,in);
System.out.print(〃請(qǐng)輸入年利率:〃);
doubleannualRate=sc.nextDouble();
doublemonthlyRate=annualRate/1200;//計(jì)算月利率
System.out.print(〃請(qǐng)輸入貸款總額:〃);
doubleloanAmount=sc.nextDouble();
System,out.print(〃請(qǐng)輸入年數(shù):〃);
doublenumberOfYear=sc.nextDouble();
doublemonthlyPayment=1oanAmount*monthlyRate/(1-
1/Math.pow(l+monthlyRate,numberOfYear*12));
doubletotalPayment=monthlyPayment*12*number0fYear;
System,out.printf(〃月支付額:%.2f%nz/,monthlyPayment);
System,out.printf(〃總支付額:%.2f%n〃,totalPayment);
2.3.2選擇結(jié)構(gòu)
?Java語言提供了兩種選擇結(jié)構(gòu),
?if?else結(jié)構(gòu)
?switch結(jié)構(gòu)
1.if?else語句
?可以實(shí)現(xiàn)單分支和雙分支結(jié)構(gòu)。
?if語句的一般格式如下:
if(boolean-express!on)
statements1;
.else
statements2
1.if?else語句
?下面的程序要求從鍵盤上輸入一個(gè)年份,輸出該
年是否是閏年。符合下面兩個(gè)條件之一的年份即
為閏年:①能被4整除,但不能被100整除;②
能被400整除。
程序2.7LeapYear.java
importjava.util.Scanner;
publicclassLeapYear(
publicstaticvoidmain(Stringargs[]){
Scannersc=newScanner(System,in);
System.out.print(〃請(qǐng)輸入年份:〃);
intyear=sc.nextlnt();
if((year%4==0&&year%100!=0)||year%400==0){
System,out.printin(year+/z年是閏年。〃);
}else{
System,out.printin(year+/z年不是閏年?!?;
1.if?else語句
?if語句可以嵌套,但是嵌套必須合理。
?下面的程序輸出給定的3個(gè)整數(shù)的最大值。
程序2.8MaxNumber.java
publicclassMaxNumber{
publicstaticvoidmain(Stringargs[]){
inta=10,b=20,c=30;intmax;
if(a>b){//a大于b的情況
if(a>c)//a再跟c比較
max=a;
else
max=c;
}else{//a小于等于b的情況
if(b>c)//b再跟c比較
max=b;
else
max=c;
)〃〃
System.out.printin(〃Maxnumberis:〃+max);
2.switch語句
?如果需要在多個(gè)選項(xiàng)選擇其中一個(gè),可以使用switch語句。
?switch語句主要實(shí)現(xiàn)多分支結(jié)構(gòu),一般格式如下:
switch(expression){
casevalue1\
statementsequence
[break;]
casevalue2:
statementsequence
[break;]
casevaluew:
statementsequence
[break;]
[default:
statementsequence]
2.switch語句
?程序進(jìn)入switch結(jié)構(gòu),首先計(jì)算expression的值,然后用
該值依次與每個(gè)case中的常量(或常量表達(dá)式)的值進(jìn)行
比較,如果等于某個(gè)值,則執(zhí)行該case子句中后面的語句,
直到遇到break語句為止。
?break語句的功能是退出switch結(jié)構(gòu)。如果在某個(gè)情況處理
結(jié)束后就離開switch結(jié)構(gòu),則必須在該case結(jié)構(gòu)的后面加
上break語句。
?default子句是可選的,當(dāng)表達(dá)式的值與每個(gè)case子句中的
值都不匹配時(shí),就執(zhí)行default后的語句。
?如果表達(dá)式的值與每個(gè)case子句中的值都不匹配,且又沒
有default子句,則程序不執(zhí)行任何操作,而是直接跳出
switch結(jié)構(gòu),執(zhí)行后面的語句。
2.switch語句
?下面的程序是給定學(xué)生的一個(gè)百分制成績(jī),打印
輸出等級(jí)的成績(jī)。等級(jí)的規(guī)定為,90分(包括)
以上的為“A”,80分(包括)以上的為“B”,
60分(包括)以上的為“C”,60分以下為“D”。
程序2.9GradeTest.java
publicclassGradeTest(
publicstaticvoidmain(Stringargs[]){
intgrade=75;charg='';
grade=grade/10;
switch(grade){
default:g二,》;break
case10:
case9:g二'A';break;
case8:g二,B,;break;
case7:
case6:g二'c';break;
System,out.printin(zzYourgradelevelis〃+g);
2.3.3循環(huán)結(jié)構(gòu)
?在程序設(shè)計(jì)中,有時(shí)需要反復(fù)執(zhí)行一段相同的代
碼,這時(shí)就需要使用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。
?Java語言提供了4種循環(huán)語句:
?while循環(huán)
?do-while循環(huán)
?for循環(huán)
?增強(qiáng)的for循環(huán)
2.3.3循環(huán)結(jié)構(gòu)
?一般情況下,一個(gè)循環(huán)結(jié)構(gòu)包含四部分內(nèi)容:
①初始化部分(initialization):設(shè)置循環(huán)開始
時(shí)的程序狀態(tài)。
②循環(huán)條件(condition):循環(huán)條件一般是一個(gè)布
爾表達(dá)式,當(dāng)表達(dá)式的值為true時(shí)執(zhí)行循環(huán)體,
為false時(shí)退出循環(huán)。
③循環(huán)體部分(loopbody):需要重復(fù)執(zhí)行的代碼。
④迭代部分(iteration):改變變量的狀態(tài)。
1.while循環(huán)
?while語句是Java最基本的循環(huán)語句,這種循環(huán)是
在某個(gè)條件為true時(shí),重復(fù)執(zhí)行一個(gè)語句或語句
塊。它的一般格式如下:
.initialization]
while(boolean_express!on){
bodyofloop
[iteration]
1.while循環(huán)
?該循環(huán)首先判斷循環(huán)條件,當(dāng)條件為true時(shí),
直反復(fù)執(zhí)行循環(huán)體。這種循環(huán)一般稱為“當(dāng)循
?一般用在循環(huán)次數(shù)不確定的情況下。
?while循環(huán)的執(zhí)行流程如圖2.2所示:
1.while循環(huán)
圖2.2while循環(huán)結(jié)構(gòu)圖2.3do-while循環(huán)結(jié)構(gòu)
程序2.10IncreRate.java
publicclassIncreRate(
publicstaticvoidmain(Stringargs[]){
doublerate=0.078;
intn=0;
doublesum=1.0;
while(sum<2){
sum=sum+sum*rate;
n=n+1;
System,out.printf("year二%d%n〃,n);
System,out.printf("sum=%4.2f%n〃,sum);
2.do-while循環(huán)
?do-while循環(huán)的一般格式如下:
.initialization]
do{
loopbody
[iteration]
)while(termination);
2.do-while循環(huán)
?do-while循環(huán)執(zhí)行過程如圖2.3所示。
?它是先執(zhí)行循環(huán)體,然后計(jì)算條件表達(dá)式
termination0如果表達(dá)式的值為true,則返回到
循環(huán)的開始繼續(xù)循環(huán)體,直到termination的值為
false循環(huán)結(jié)束。
?這種循環(huán)一般稱為“直到型”循環(huán)。該循環(huán)結(jié)構(gòu)
與while循環(huán)結(jié)構(gòu)的不同之處是,do-while循環(huán)至
少執(zhí)行一次循環(huán)體。
程序2.11AvgNumber.java
importjava.util.Scanner;
publicclassAvgNumber{
publicstaticvoidmain(Stringargs[]){
Scannersc=newScanner(System,in);
doublesum=0.0;doubleavg=0.0;intnum=0;
do(
System.out.print(,zPleaseInputaNumber(0exit)”);
doubled=sc.nextDouble();
if(d==0)
break;
else{
sum=sum+d;num=num+1;avg=sum/num;
}
}while(true);
System.out.printf(^Averageof%dnumberis:%.2f%n〃,num,avg);
}}
3.for循環(huán)與增強(qiáng)的for循環(huán)
?for循環(huán)是Java語言中4種循環(huán)結(jié)構(gòu)中功能最強(qiáng),
也是使用最廣泛的循環(huán)結(jié)構(gòu)。
?for循環(huán)的一般格式如下:
for(initialization;termination;
iteration){
loopbody
for循環(huán)
?在for循環(huán)中,initialization為循環(huán)的初始化部分,
termination為循環(huán)的條件,iteration為迭代部分,三部
分需用分號(hào)隔開。
?for循環(huán)開始執(zhí)行時(shí)首先執(zhí)行初始化部分,并且該部分在
整個(gè)循環(huán)中只執(zhí)行一次。在這里可以定義循環(huán)變量并賦初
值,可以定義多個(gè)循環(huán)變量,中間用逗號(hào)分隔。
?接下來判斷循環(huán)的終止條件,若為true則執(zhí)行循環(huán)體部分,
否則退出循環(huán)。
?當(dāng)循環(huán)體執(zhí)行結(jié)束后,程序控制返回到迭代部分,執(zhí)行迭
代,然后再次判斷終止條件,若為true則反復(fù)執(zhí)行循環(huán)體。
for循環(huán)
?在初始化部分可以聲明多個(gè)變量,它們的作用域
在循環(huán)體內(nèi),如下面循環(huán)中聲明了兩個(gè)變量i和j。
for(inti=0,j=10;i<j;i++,j—)
?for循環(huán)中的一部分或全部可為空,循環(huán)體也可
為空,但分號(hào)不能省略,如:
for(;;){)
for循環(huán)和while、do?while循環(huán)相互轉(zhuǎn)換
?例如:
for(inti=0,j=10;i<j;i++,j—){
System,out.printin(z/i=〃+i+〃,j=〃+j);
}
?可以轉(zhuǎn)換為下面等價(jià)的while循環(huán)結(jié)構(gòu)。
inti=0,j=10;
while(i<j){
System,out.printin(/zi=〃+i+〃,j=〃+j);
i++;
j—;
增強(qiáng)的for循環(huán)
?在J2SE5.0中,Java語言增加了一種循環(huán)結(jié)構(gòu),
稱為增強(qiáng)的for循環(huán),它主要用于對(duì)數(shù)組和集合對(duì)
象的元素的迭代。
?關(guān)于增強(qiáng)的for循環(huán)將在4.1.2節(jié)中討論。
4.循環(huán)結(jié)構(gòu)與分支結(jié)構(gòu)的嵌套
?下面的程序隨機(jī)產(chǎn)生一個(gè)100?200之間的整數(shù),用
戶從鍵盤上輸入所猜的數(shù),程序顯示是否猜中的
消息,如果沒有猜中要求用戶繼續(xù)猜,直到猜中
為止。
程序2.12GuessNumber.java
importjava.util.Scanner;
publicclassGuessNumber{
publicstaticvoidmain(Stringargs[]){
intmagic=(int)(Math,random()*101)+100;intguess;
Scannersc二newScanner(System,in);
System.out.print(''Inputtheguessnumber:");
guess=sc.nextlnt();
do(
if(guess!=magic){
if(guess>magic)
System.out.print(''Wrong!toohigh.Guessagain:");
else
System.out.print(''Wrong!toolow.Guessagain:");
)
guess=sc.nextlnt();
}while(guess!=magic);
System.out.println(,,Right!\nThenumberis〃+magic);
5.continue語句和break語句
?在Java循環(huán)體中可以使用continue語句和break語
句。這兩個(gè)語句的格式為:
continue;
bre
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- QC/T 746-2024壓縮天然氣汽車高壓管路
- GB/T 44976-2024技術(shù)性貿(mào)易措施評(píng)議指南
- 2024年航空輪胎項(xiàng)目資金申請(qǐng)報(bào)告
- 銀行合規(guī)管理制度實(shí)施效果
- 酒店餐飲服務(wù)安全與風(fēng)險(xiǎn)防范制度
- 《餐飲服務(wù)人員培訓(xùn)》課件
- 【大學(xué)課件】煤礦機(jī)電設(shè)備安全管理 緒論
- 幼兒園小班班級(jí)年度總結(jié)(22篇)
- 幾種常見的酸堿鹽的特性及應(yīng)用課件
- 幼兒園玩教具配備-托小班
- 3、2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(99分)
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)內(nèi)容解讀
- 創(chuàng)新創(chuàng)業(yè)實(shí)戰(zhàn)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 期末 (試題) -2024-2025學(xué)年人教PEP版(2024)英語三年級(jí)上冊(cè)
- 完整2024年國(guó)有企業(yè)管理人員處分條例專題課件
- 體育導(dǎo)論(大學(xué)體育1)(山東聯(lián)盟)智慧樹知到期末考試答案章節(jié)答案2024年青島科技大學(xué)
- 馬克思主義基本原理考試題庫附答案【典型題】
- 生態(tài)文明通識(shí)智慧樹知到期末考試答案2024年
- 繪畫心理分析與治療 課件
- 2024年山西航空產(chǎn)業(yè)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 小品西游記串詞范文
評(píng)論
0/150
提交評(píng)論