




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本章教學(xué)內(nèi)容:標(biāo)識(shí)符和關(guān)鍵字常量和變量數(shù)據(jù)類型運(yùn)算符和表達(dá)式基本類型數(shù)據(jù)的輸入和輸出程序流程控制語句數(shù)組第2章Java程序設(shè)計(jì)基礎(chǔ)本章教學(xué)目標(biāo):掌握J(rèn)ava標(biāo)識(shí)符的命名規(guī)則熟悉常用的關(guān)鍵字掌握J(rèn)ava中的變量和常量重點(diǎn)掌握J(rèn)ava的基本數(shù)據(jù)類型及其轉(zhuǎn)換熟悉全局變量與局部變量的區(qū)別掌握J(rèn)ava的運(yùn)算符與表達(dá)式的使用重點(diǎn)掌握J(rèn)ava的基本輸入輸出方法重點(diǎn)掌握J(rèn)ava的流程控制結(jié)構(gòu)掌握break、continue和return語句的用法和區(qū)別掌握數(shù)組的聲明、創(chuàng)建、初始化和使用方法2.1標(biāo)識(shí)符和關(guān)鍵字在各種計(jì)算機(jī)編程語言中,每種語言都使用一些特定的字符來構(gòu)造基本詞法單位,進(jìn)而描述程序語句。Java語言中主要詞法單位有五種:標(biāo)識(shí)符、關(guān)鍵字、分隔符、運(yùn)算符、注釋。2.1.1標(biāo)識(shí)符標(biāo)識(shí)符是程序員在編程中定義的詞法單位,它的作用是用來為程序中要處理的各種變量、常量、方法、對象以及類等命名,以后就可以通過名字來訪問或修改某個(gè)數(shù)據(jù)的值。標(biāo)識(shí)符的構(gòu)成:在Java語言中,標(biāo)識(shí)符是由字母、下劃線(_)、美元符($)開頭的字母、下劃線(_)、美元符和數(shù)字組成的字符序列Java語言中標(biāo)識(shí)符的命名必須滿足以下六個(gè)原則:標(biāo)識(shí)符必須以字母、下劃線(_)或美元符($)開頭,后面可以跟字母、數(shù)字、下劃線或美元符;標(biāo)識(shí)符可以包含數(shù)字,但不能以數(shù)字開頭;除下劃線“_”和美元符“$”符號外,標(biāo)識(shí)符中不能包含任何特殊字符,如空格;標(biāo)識(shí)符中的字母區(qū)分大小寫,比如,“abc”和“Abc”是兩個(gè)不同的標(biāo)識(shí)符;對于標(biāo)識(shí)符的長度沒有限制;不能使用Java關(guān)鍵字作為標(biāo)識(shí)符。2.1.2關(guān)鍵字Java語言中有一些已經(jīng)被賦予特殊含義的、由系統(tǒng)定義的單詞,這些單詞被稱為關(guān)鍵字或保留字。關(guān)鍵字不能作為標(biāo)識(shí)符使用JAVA語言的主要關(guān)鍵字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfalsefinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile2.1.3
Java語言的分隔符Java語言的分隔符的作用:用來分割和組合標(biāo)識(shí)符,用來幫助Java編譯器正確閱讀和理解Java源程序。Java中的分隔符分為以下兩類:沒有特定意義,只起分割標(biāo)識(shí)符作用的空白符。包括空格、回車、換行和制表符(Tab)。擁有確定含義的普通分隔符Java語言的分隔符普通分隔符名稱功能說明{}大括號用來定義程序塊,類,方法以及局部范圍;[]中括號用來進(jìn)行數(shù)組的聲明,也可用來表示撤銷對數(shù)組的引用;()小括號在定義和調(diào)用方法時(shí)用來容納參數(shù)表,在控制語句或強(qiáng)制類型轉(zhuǎn)換組成的表達(dá)式中用來表示執(zhí)行或計(jì)算的優(yōu)先級;;分號用來表示一條語句的結(jié)束;,逗號在變量聲明中,用于分割變量表中的各個(gè)變量;
在for控制語句中用來將圓括號內(nèi)的語法連接起來;:冒號說明語句標(biāo)號。例如在三元運(yùn)算符中使用;2.2常量和變量2.2.1常量在程序運(yùn)行過程中一直不會(huì)改變的量稱為常量。常量
在整個(gè)程序中只能被賦值一次。在Java語言中聲明一個(gè)常量,除了要指定數(shù)據(jù)類型外,還需要通過final關(guān)鍵字進(jìn)行限定。聲明常量的一般格式如下:final數(shù)據(jù)類型常量名=值變量是在程序執(zhí)行過程中其值可以改變的量,是Java程序中最基本的存儲(chǔ)單元。變量須用標(biāo)識(shí)符進(jìn)行標(biāo)識(shí),該標(biāo)識(shí)符稱為變量名。程序編譯時(shí),會(huì)根據(jù)變量類型為每一個(gè)變量分配一段連續(xù)的內(nèi)存單元,用于存儲(chǔ)該變量的取值。2.2.2變量變量聲明的一般格式為:數(shù)據(jù)類型變量名1[=值][,變量名2[=值]…];其中,方括號表示可選部分,其含義是在定義變量時(shí)可以設(shè)置變量的初始值,如果在同一語句中要聲明多個(gè)變量,則變量間用逗號隔開。1.變量的聲明變量的聲明和使用規(guī)則:(1)變量的聲明必須遵從標(biāo)識(shí)符的命名規(guī)則。
(2)所有變量都可大小寫混用,但首字符應(yīng)小寫。(3)盡量不要使用下劃線和$符號。(4)可以先聲明再賦值,如:int
i;i=9;也可以聲明的同時(shí)進(jìn)行賦值:int
i=9;//聲明一個(gè)類型為int的變量i,并將它賦值為
9。(5)沒有賦值的變量是不可以使用的。如:int
i;System.out.println(i);//這句代碼是錯(cuò)誤的。(6)在同一作用域內(nèi)變量不能重復(fù)定義。2.變量的作用域Java允許變量在任何程序塊內(nèi)被聲明。程序塊被包括在一對大括號中。一個(gè)程序塊定義了一個(gè)作用域(scope),一個(gè)作用域決定了其中所定義變量的可見性和生存期。提示:Java不允許在兩個(gè)嵌套的語句塊內(nèi)聲明兩個(gè)完全同名的變量。2.3數(shù)據(jù)類型在程序設(shè)計(jì)中要使用和處理各種數(shù)據(jù),數(shù)據(jù)按照其表示信息的含義和占用空間的大小來區(qū)分為不同的數(shù)據(jù)類型。Java是一門強(qiáng)類型語言,即所有的變量都必須顯式聲明其類型。Java語言的數(shù)據(jù)類型可以分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型兩大類。2.3.1基本數(shù)據(jù)類型基本數(shù)據(jù)類型是Java語言預(yù)先定義的、長度固定的、存儲(chǔ)空間固定的、不能再分的類型,它們的名字被作為關(guān)鍵字保留。Java提供了八種基本數(shù)據(jù)類型關(guān)鍵字?jǐn)?shù)據(jù)類型所占字節(jié)取值范圍byte字節(jié)型1-27~27-1short短整型2-215~215-1int整型4-231~231-1long長整型8-263~263-1float單精度浮點(diǎn)型4-3.4e+038~3.4e+038double雙精度浮點(diǎn)型8-1.798e+308~1.798e+308char字符型20~65535boolean布爾型1true,false1.整型數(shù)據(jù)類型不含小數(shù)點(diǎn)的數(shù)字為整數(shù)類型。例如:-124、948、0等。整數(shù)類型包含以下四種:byte、short、int、long。(1)整型字面常量整型數(shù)據(jù)可以表示為10進(jìn)制、8進(jìn)制、16進(jìn)制。10進(jìn)制:如123、-34;8進(jìn)制:如012316進(jìn)制:如0x64整型默認(rèn)為int型,若是長整型需要在數(shù)據(jù)后加上字母L。例如:123為int型,而123L則是long型。(2)整型變量使用關(guān)鍵字int、byte、short、long來定義整型變量,定義時(shí)也可以賦給初值。例如:int
x=123;long
y=123L;long
z=123l;byte
luckyNumber=7;short
smallNumber=1234;2.浮點(diǎn)數(shù)據(jù)類型含小數(shù)點(diǎn)的數(shù)字為浮點(diǎn)類型。例如:-38.32、34.0等。浮點(diǎn)類型包含以下兩種:float、double。(1)浮點(diǎn)型字面常量浮點(diǎn)型數(shù)據(jù)有兩種表示形式:小數(shù)形式:如1.23,-3.45,1.0科學(xué)計(jì)數(shù)法形式:如1.23456E+3、12345E-4,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。實(shí)型默認(rèn)為double型,數(shù)字后加f或F為float型,加d或D為double型。(2)浮點(diǎn)型變量使用關(guān)鍵字float、double來定義浮點(diǎn)型變量,定義時(shí)也可以賦給初值。例如:double
x=1.496E8;float
y=9E-28F;double
z=0.123;float
w=0.123F;3.布爾數(shù)據(jù)類型(1)布爾型字面常量只有兩個(gè)值:true和false(2)布爾型變量使用關(guān)鍵字boolean來定義布爾型變量,定義時(shí)也可以賦給初值。例如:boolean
state=true;或
boolean
state;state=true;4.字符數(shù)據(jù)類型字符型字面常量字符型字面常量是由一對單引號括起來的單個(gè)字符或以反斜線(\)開頭的轉(zhuǎn)義符。在Java中,一個(gè)字符代表一個(gè)16位無符號的Unicode字符,每個(gè)字符占2個(gè)字節(jié)。例如:"A"、"b"、"?"、"!"、"9"、"好"。字符型變量使用關(guān)鍵字char來定義字符變量,用于存儲(chǔ)一個(gè)字符,定義時(shí)也可以賦給初值。如:char
myChar="A";(3)字符集ASCII(American
Standard
Code
for
Information
Interchange)字符集:使用7位代碼表示大小寫字母、數(shù)字0~9以及若干控制字符,如換行符。ISO-8859-1
Latin-1字符集:在西歐,用戶希望字符集能夠表示他們本國字符集的所有字符,ASCII字符集因而被擴(kuò)展
到8位,即增加了128個(gè)字符,用于表示英文中不存在的各種西歐語言的字符。Unicode字符集:是ISO標(biāo)準(zhǔn)16位字符集,支持65536個(gè)不同的字符。其中大約有21000個(gè)字符專門用于中文、日文和韓文的表意文字。ASCII、ISO
Latin-1都是Unicode的子集。(4)轉(zhuǎn)義字符除了上述形式的字符常量值之外,Java還允許對一些難以用一般字符來表示的字符使用一種特殊形式的字符常量值來表示,這種特殊的字符稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符是以一個(gè)“\”開頭的字符序列。表2-4列出了Java中常用的轉(zhuǎn)義字符及其含義。轉(zhuǎn)義字符含義\ddd1到3位8進(jìn)制數(shù)所表示的字符\uxxxx1到4位16進(jìn)制數(shù)所表示的字符\’單引號\”雙引號\\反斜杠\b退格\r回車\n換行\(zhòng)t制表符表2-4常用的轉(zhuǎn)義字符及其含義2.3.2引用數(shù)據(jù)類型到JDK6為止,Java提供了五種引用類型,存儲(chǔ)在引用類型變量中的值是該變量表示的數(shù)據(jù)的地址。表2-5列出了Java中的五種引用數(shù)據(jù)類型。表2-5引用數(shù)據(jù)類型類型說明數(shù)組具有相同數(shù)據(jù)類型的變量的集合類(class)變量和方法的集合。如Employee類包含了員工的詳細(xì)信息和操作這些信息的方法接口(interface)是一系列方法的聲明,方法特征的集合??梢詫?shí)現(xiàn)Java中的多重繼承枚舉(enum)枚舉類型是一種獨(dú)特的值類型,它用于聲明一組命名的常數(shù)注解(annotation)Annotation提供一種機(jī)制,將程序的元素如:類,方法,屬性,參數(shù),本地變量,包和元數(shù)據(jù)聯(lián)系起來2.3.3基本數(shù)據(jù)類型轉(zhuǎn)換在Java中,數(shù)據(jù)的類型如果是相容的,那么一種數(shù)據(jù)類型就可以轉(zhuǎn)換成另外一種數(shù)據(jù)類型。數(shù)據(jù)類型轉(zhuǎn)換的方式有“自動(dòng)類型轉(zhuǎn)換”和“強(qiáng)制類型轉(zhuǎn)換”兩種。1.自動(dòng)類型轉(zhuǎn)換將一種類型的變量賦給另一種類型的變量時(shí),如果兩種類型兼容并且目標(biāo)類型大于源類型,就會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換。自動(dòng)類型轉(zhuǎn)換會(huì)“隱含”發(fā)生。這些基本類型按精度從“低”到“高”的順序排列如下:byte
short
int
long
float
double2.強(qiáng)制類型轉(zhuǎn)換表示范圍大的數(shù)據(jù)類型要轉(zhuǎn)換成表示范圍小的數(shù)據(jù)類型,需要用到強(qiáng)制類型轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換的格式為:(類型名)要轉(zhuǎn)換的表達(dá)式;例如:int
x=(int)23.89;long
y=(long)34.98F;如果輸出x,y的值將是23和34。實(shí)例2-2基本數(shù)據(jù)類型轉(zhuǎn)換舉例。代碼如下:public
class
Demo2
{public
static
void
main(String[]
args)
{int
a
=
-1;long
b=a;//自動(dòng)類型轉(zhuǎn)換,發(fā)生符號位擴(kuò)展System.out.println(b);//輸出-1b
=
5;int
i=(int)b;//強(qiáng)制類型轉(zhuǎn)換System.out.println(i);//輸出5b=0xf5800000005L;i=(int)b;//強(qiáng)制類型轉(zhuǎn)換,高位溢出System.out.println(i);System.out.println(b);double
pi
=
3.1415926535897932;float
f=(float)pi;//強(qiáng)制類型轉(zhuǎn)換,丟失精度
System.out.println(f);System.out.println(pi);char
ch
=
(char)
("a"
+
1);System.out.println(ch);//輸出b執(zhí)行結(jié)果如下:-155168706315386933.14159273.141592653589793b注意:強(qiáng)制類型轉(zhuǎn)換運(yùn)算可能導(dǎo)致丟失精度和高位溢出現(xiàn)象2.4運(yùn)算符和表達(dá)式Java提供了豐富的運(yùn)算符,按照運(yùn)算符操作數(shù)的數(shù)目劃分,可以將運(yùn)算符分為單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符。按照運(yùn)算符的功能劃分,可以將運(yùn)算符分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符和條件運(yùn)算符。2.4.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式Java語言中的算術(shù)運(yùn)算符的種類、功能及使用方法如表2-6所示。表2-6算術(shù)運(yùn)算符運(yùn)算符功能示例運(yùn)算結(jié)果+加號3+69- 減號6-33* 乘號6*318/ 除號9/33% 取模12%52++前自增i=2;j=++ii值為3,j值為3后自增i=2;j=i++i值為3,j值為2--前自減i=6;j=--ii值為5,j值為5后自減i=6;j=i--i值為5,j值為6其中:自增(++)運(yùn)算符:其作用是將變量的值加1,分前自增(如++i)和后自增(如i++)。前自增是變量先加1再使用;后自增是變量先使用再加1。自減(--)運(yùn)算符:其作用是將變量的值減1,分前自減(如--i)和后自減(如i--)。前自減是變量先減1再使用;后自減是變量先使用再減1。例如:int
i=1;int
j=++i+i++;則執(zhí)行完后i=3,j=4除(/)運(yùn)算符:如果兩個(gè)操作數(shù)都為整數(shù),則結(jié)果會(huì)取整(只保留整數(shù)部分);如果有一個(gè)操作數(shù)為實(shí)數(shù),則結(jié)果就為實(shí)數(shù)。例如:表達(dá)式5/2的結(jié)果為整數(shù)2表達(dá)式5.0/2的結(jié)果為實(shí)數(shù)2.5取模(%)運(yùn)算符:對于取模運(yùn)算,其結(jié)果的符號與被除數(shù)的符號一致并且其操作數(shù)可以為浮點(diǎn)數(shù)。例如:表達(dá)式-10%3的結(jié)果為-1表達(dá)式10.5%3的結(jié)果為1.5表達(dá)式10%3.3的結(jié)果為0.12.4.2關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符也稱比較運(yùn)算符,是用于說明操作數(shù)之間的關(guān)系。關(guān)系運(yùn)算的結(jié)果是布爾值(true或false)。Java語言中的關(guān)系運(yùn)算符如表2-7所示表2-7關(guān)系運(yùn)算符運(yùn)算符功能示例運(yùn)算結(jié)果<小于2<3true>大于2>3false<=小于等于2<=3true>=大于等于2>=3false!=不等于2!=3true==等于2==3false2.4.3邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符用來連接關(guān)系表達(dá)式,對關(guān)系表達(dá)式的值進(jìn)行邏輯運(yùn)算。邏輯表達(dá)式是由關(guān)系表達(dá)式和邏輯運(yùn)算符構(gòu)成的式子,其運(yùn)算結(jié)果仍然是布爾型。邏輯運(yùn)算符共有三種,如表2-8所示。表2-8邏輯運(yùn)算符運(yùn)算符功能舉例運(yùn)算結(jié)果!邏輯非!(2==3)true&&邏輯與(1!=2)&&(2>3)false||邏輯或(1!=2)||(2>3)true
邏輯運(yùn)算具有短路特性。所謂短路,就是當(dāng)參與運(yùn)算的第一個(gè)操作數(shù)已經(jīng)足以推斷出這個(gè)表達(dá)式的值的時(shí)候,另外一個(gè)操作數(shù)就不會(huì)被執(zhí)行。對于邏輯與(&&):由于“&&”要求只有它的兩個(gè)操作數(shù)都為true時(shí),其結(jié)果才為true,否則結(jié)果為false。這時(shí)如果其左邊的操作數(shù)為false,那么結(jié)果肯定為false,所以在這種情況下,將不會(huì)執(zhí)行“&&”右邊的運(yùn)算了,即發(fā)生了短路。
對于邏輯或(||):由于“||”要求它的兩個(gè)操作數(shù)只要其中之一為true,其結(jié)果就為true,否則其結(jié)果為false。所以這時(shí)如果其左邊的操作數(shù)為true,那么結(jié)果肯定是ture,所以在這種情況下,將不會(huì)執(zhí)行邏輯與后面的運(yùn)算了,即發(fā)
生了短路。例如:int
i=5;boolean
j=false&&(++i>5);System.out.println(i);
這時(shí)輸出結(jié)果為5而不是6。2.4.4條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符是Java中唯一的一個(gè)三目運(yùn)算符,用”?”和”:”表示。條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3其中表達(dá)式1的值為布爾類型,若表達(dá)式1的值為真,則返回表達(dá)式2的值,否則返回表達(dá)式3的值。例如:已知a=30;b=40;求a、b的最大值。提示:條件表達(dá)式結(jié)果的類型為表達(dá)式2和表達(dá)式3中精度較高的類型。例如:表達(dá)式3>2?4:5.0的結(jié)果為4.0。2.4.5賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符為一個(gè)單獨(dú)的“=”,它將其右側(cè)表達(dá)式的值賦給左側(cè)的變量。例如:int
a;a=10;a=a+5;此外,賦值運(yùn)算符還可以與二目運(yùn)算符結(jié)合形成如表2-9所示的復(fù)合賦值運(yùn)算符。表2-9所示的復(fù)合賦值運(yùn)算符運(yùn)算符表達(dá)式等效表達(dá)式+=op1+=op2op1=op1+op2-=op1-=op2op1=op1-op2*=op1*=op2op1=op1*op2/=op1/=op2op1=op1/op2%=op1%=op2op1=op1%op2&=op1&=op2op1=op1&op2|=op1|=op2op1=op1|op2^=op1^=op2op1=op1^op2>>=op1>>=op2op1=op1>>op2<<=op1<<=op2op1=op1<<op2>>>=op1>>>=op2op1=op1>>>op22.4.6位運(yùn)算符和位運(yùn)算表達(dá)式位運(yùn)算是指按二進(jìn)制位進(jìn)行的運(yùn)算。因?yàn)樵谙到y(tǒng)軟件中,常要處理二進(jìn)制位的問題。例如:將一個(gè)存儲(chǔ)單元中的各二進(jìn)制位左移或右移一位,兩個(gè)數(shù)按位相加等。Java語言提供了位運(yùn)算的功能,位運(yùn)算的操作數(shù)和結(jié)果都是整型。Java中的位運(yùn)算符如表2-10所示。表2-10位運(yùn)算符運(yùn)算符功能示例運(yùn)算結(jié)果&按位與3&62|按位或3|67^按位異或3^65~按位取反~3-4<<按位左移3<<212>>按位右移3>>20>>>無符號右移3>>>201.“按位與”運(yùn)算符(&)按位與是指參加運(yùn)算的兩個(gè)整數(shù),按二進(jìn)制位進(jìn)行“與”運(yùn)算。如果兩個(gè)相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1;否則為0。即:0&0=0,0&1=0,1&0=0,1&1=1?!鞍次慌c”運(yùn)算的用途:清零。取一個(gè)數(shù)中某些指定位。2.“按位或“運(yùn)算符(|)按位或是指參加運(yùn)算的兩個(gè)整數(shù),按二進(jìn)制位進(jìn)行“或”運(yùn)算。如果兩個(gè)相應(yīng)的二進(jìn)制位中有一個(gè)為1,該位的結(jié)果值為1,否則為0。即0|0=0,0|1=1,1|0=1,1|1=1“按位或”運(yùn)算的用途:(1)按位或運(yùn)算常用來對一個(gè)數(shù)據(jù)的某些位定值為1。例如:如果想使一個(gè)數(shù)a的低4位改為1,只需將a與017進(jìn)行按位或運(yùn)算即可。(2)和“按位與”運(yùn)算一起組合新數(shù)。例如:將整數(shù)a的低16位和整數(shù)b的高16位取出組合成整數(shù)c。則c=(a&0x00ff)|(b&0xff00)。3.“按位異或”運(yùn)算符(^)異或運(yùn)算也稱XOR運(yùn)算。它的規(guī)則是:若參加運(yùn)算的兩個(gè)二進(jìn)制位相同則結(jié)果為0,否則為
1。即:0^0=0,0^1=1,1^0=1,1^1=0例如:071^052=023(八進(jìn)制數(shù))異或運(yùn)算的用途:使特定位翻轉(zhuǎn)。設(shè)有01111010,想使其低4位翻轉(zhuǎn),即1變?yōu)椋?,0變?yōu)椋?。可以將它與00001111進(jìn)行^運(yùn)算。與0相異或,保留原值。例如:012^00=012交換兩個(gè)值,不用臨時(shí)變量。例如:a=3,b=3。想將a和b的值互換,可以用以下賦值語句實(shí)現(xiàn):
a=a^b;b=b^a;a=a^b;“按位取反”運(yùn)算符(~)~是一個(gè)單目(元)運(yùn)算符,用來對一個(gè)二進(jìn)制數(shù)按位取反,即將0變1,將1變0。例如:~025是對八進(jìn)制數(shù)25(即二進(jìn)制數(shù)00010101)按位求反?!鞍次蛔笠啤边\(yùn)算符(<<)左移運(yùn)算符用來將一個(gè)數(shù)的各二進(jìn)制位全部左移若干位。左移后高位溢出舍棄,低位補(bǔ)0。例如:a<<2 將a的二進(jìn)制數(shù)左移2位,右邊的空位補(bǔ)0。若a=15,即二進(jìn)制數(shù)00001111,a左移2位得00111100(十進(jìn)制數(shù)60)左移1位相當(dāng)于該數(shù)乘以2,左移2位相當(dāng)于該數(shù)乘以22,15<<2=60,即乘4……依此類推,左移n位相當(dāng)于該數(shù)乘以2n。但此結(jié)論只適用于該數(shù)左移時(shí)被溢出舍棄的高位中不包含1的情況?!鞍次挥乙啤边\(yùn)算符(>>)右移運(yùn)算符用來將一個(gè)數(shù)的各二進(jìn)制位全部右移若干位。右移后空出的高位補(bǔ)符號位,低位舍棄。例如:a>>2表示將a的各二進(jìn)制位右移2位,移到右端的低位被舍棄,對空出的高位而言,如果a為正數(shù),則補(bǔ)0,如果a為負(fù)數(shù),則補(bǔ)1。右移一位相當(dāng)于除以2,右移n位相當(dāng)于除以2n。但此結(jié)論只適用于該數(shù)右移時(shí)被舍棄的低位中不包含1的情況。“無符號右移”運(yùn)算符(>>>)無符號右移運(yùn)算符用來將一個(gè)數(shù)的各二進(jìn)制位全部右移若干位。右移后空出的高位補(bǔ)0,低位舍棄。2.4.7其他運(yùn)算符表2-11是對其他運(yùn)算符的簡單描述表2-11其他運(yùn)算符運(yùn)算符名稱作用[]索引運(yùn)算符用于聲明數(shù)組、創(chuàng)建數(shù)組以及訪問數(shù)組元素.分量運(yùn)算符用于訪問對象實(shí)例或者類的類成員函數(shù)()方法調(diào)用運(yùn)算符用于方法調(diào)用new內(nèi)存空間分配運(yùn)算符創(chuàng)建一個(gè)新的對象或者新的數(shù)組instanceof對象運(yùn)算符判斷對象是否為類的實(shí)例(type)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換2.4.8運(yùn)算符優(yōu)先級和結(jié)合性Java語言規(guī)定了運(yùn)算符的優(yōu)先級和結(jié)合性。運(yùn)算符優(yōu)先級是指同一表達(dá)式中多個(gè)運(yùn)算符被執(zhí)行的先后次序,即運(yùn)算符的優(yōu)先級決定了表達(dá)式中運(yùn)算執(zhí)行的先后順序。運(yùn)算符的結(jié)合性決定了相同級別的運(yùn)算符的先后執(zhí)行順序。左結(jié)合性是指同一優(yōu)先級的運(yùn)算從左到右順序執(zhí)行;右結(jié)合性是指指同一優(yōu)先級的運(yùn)算從右到左順序執(zhí)行。例如,加減的結(jié)合性是從左到右,8-5+3相當(dāng)于(8-5)+3。邏輯否運(yùn)算符“!”的結(jié)合性是右到左,!!x相當(dāng)于!(!x)。在表達(dá)式求值時(shí),按照優(yōu)先級的順序由高到低依次執(zhí)行。同一優(yōu)先級的按照結(jié)合性執(zhí)行。Java中眾多運(yùn)算符的優(yōu)先級如表2-12所示。表2-12運(yùn)算符的優(yōu)先級優(yōu)先級次序運(yùn)算符結(jié)合性1()、[]、.左2+、-(正、負(fù)號)右3++、--、!、~、(type)強(qiáng)制類型轉(zhuǎn)換右4*、/、%左5+、-(加、減)左6>>、>>>、<<左7<、>、>=、<=左8==、!=左9&左10^左11|左12&&左13||左14?
:右15=、+=、-=、*=、/=、%=、
&=、^=、|=、<<=、>>=、>>>=右2.5基本類型數(shù)據(jù)的輸出和輸入常用的數(shù)據(jù)的輸入和輸出方法如下。2.5.1從命令行輸入輸出數(shù)據(jù)1.向控制臺(tái)輸出數(shù)據(jù)標(biāo)準(zhǔn)輸出流(System.out)中為我們提供了三種向控制臺(tái)輸出數(shù)據(jù)的方法print(輸出項(xiàng)):實(shí)現(xiàn)不換行的數(shù)據(jù)輸出。輸出項(xiàng)可以是變量名、常量、表達(dá)式。println(輸出項(xiàng)):數(shù)據(jù)輸出后換行。輸出項(xiàng)可以是變量名、常量、表達(dá)式。printf("格式控制部分",表達(dá)式1,表達(dá)式2,…表達(dá)式n):帶格式描述的數(shù)據(jù)輸出。格式控制部分由格式控制符和普通字符組成,普通字符原樣輸出;常用的格式控制符有%d(代表十進(jìn)制數(shù))、%c(代表一個(gè)字符)、%f(代表浮點(diǎn)數(shù))、%e(代表科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù))、%s(代表字符串)、%n(代表換行符)。2.從控制臺(tái)輸入數(shù)據(jù)(1)使用Scanner類實(shí)現(xiàn)數(shù)據(jù)的輸入使用Java語言提供的java.util.Scanner類中的方法可以實(shí)現(xiàn)從控制臺(tái)輸入數(shù)據(jù)。使用步驟如下:第一步:在程序開頭添加一行導(dǎo)入包語句:importjava.util;//Scanner類定義在java.util包中。第二步:構(gòu)造Scanner類對象Scanner
in=new
Scanner(System.in);第三步:使用Scanner類的各種方法實(shí)現(xiàn)輸入操作,next()系列方法有:nextInt()
:nextLine()
:nextDouble():輸入整數(shù)
輸入字符串輸入雙精度數(shù)next(): 輸入字符串(以空格作為分隔符)(2)使用數(shù)據(jù)輸入流實(shí)現(xiàn)數(shù)據(jù)的輸入有關(guān)數(shù)據(jù)輸入流的相關(guān)知識(shí)請參見第9章。這里只簡單的用一個(gè)例子介紹利用字符輸入流輸入字符串的過程。實(shí)例2-6使用數(shù)據(jù)輸入流輸入字符串應(yīng)用舉例。代碼如下:import
java.io.BufferedReader;import
java.io.IOException;
import
java.io.InputStreamReader;
public
class
IoDemo
{public
static
void
main(String[]
args){String
s="";System.out.println("請輸入一個(gè)字符串:");try{
//使用異常處理語句BufferedReader
in=new
BufferedReader(newInputStreamReader(System.in));s=in.readLine();}catch(IOException
e){}System.out.println("你輸入的字符串是:"+s);}}2.5.2.使用Swing對話框?qū)崿F(xiàn)數(shù)據(jù)的輸入輸出1.使用Swing對話框?qū)崿F(xiàn)數(shù)據(jù)的輸出使用javax.swing.JOptionPane包中的showMessageDialog()方法將彈出消息顯示對話框,可以用該對話框顯示輸出結(jié)果。該方法的具體用法請參見第11章。這里只簡單的用一個(gè)例子介紹利用showMessageDialog()方法輸出數(shù)據(jù)的過程。實(shí)例2-7使用Swing對話框?qū)崿F(xiàn)輸出數(shù)據(jù)應(yīng)用舉例。代碼如下:import
javax.swing.JOptionPane;public
class
SwingDemo1{public
static
void
main(String[]
args)
{JOptionPane.showMessageDialog(null,"要努力學(xué)好Java語言","使用Swing對話框?qū)崿F(xiàn)輸出",1);System.exit(0);}}程序運(yùn)行結(jié)果如圖2-1所示。2.使用Swing對話框?qū)崿F(xiàn)數(shù)據(jù)的輸入使用javax.swing.JOptionPane包的
showInputDialog()方法從輸入對話框中獲得字符串。該方法的具體用法請參見第11章。這里只簡單的用一個(gè)例子介紹利用方法showInputDialog()輸入字符串的過程。實(shí)例2-8
使用Swing輸入對話框輸入兩個(gè)整數(shù),求出兩個(gè)整數(shù)中的最大數(shù)并利用Swing對話框輸出。代碼如下:import
javax.swing.*;public
class
SwingDemo2{public
static
void
main(String[]
args)
{int
i,j,max;String
n,m;n=JOptionPane.showInputDialog(null,"輸入第1個(gè)整數(shù)");
m=JOptionPane.showInputDialog(null,"輸入第2個(gè)整數(shù)");
i=Integer.parseInt(n);j=Integer.parseInt(m);max=i>j?i:j;
JOptionPane.showMessageDialog(null,i+"和"+j+"的最大數(shù)是"+max,"使用Swing對話框?qū)崿F(xiàn)輸出",1);System.exit(0);}}2.6流程控制語句Java的控制語句分為以下三類:選擇、循環(huán)和跳轉(zhuǎn)。2.6.1選擇結(jié)構(gòu)語句選擇結(jié)構(gòu)又稱分支結(jié)構(gòu),是根據(jù)判斷條件的成立與否決定要執(zhí)行哪些語句的一種程序結(jié)構(gòu),它的作用是讓程序更具有選擇性。Java語言中提供了兩種選擇語句:if語句和switch語句。1.if語句if語句是最常用的選擇結(jié)構(gòu),其語法格式如下:if(條件表達(dá)式)語句1[else語句2]格式說明:條件表達(dá)式是布爾表達(dá)式,結(jié)果為true或false;語句1和語句2可以是單獨(dú)一個(gè)語句,也可以是一個(gè)語句塊。當(dāng)條件為true時(shí)執(zhí)行語句1,否則執(zhí)行語句2。else部分可以省略。If語句的執(zhí)行流程如圖2-5所示。實(shí)例2-9任意輸入兩個(gè)整數(shù)x,y,求二者的最大值。代碼如下:import
java.util.Scanner;public
class
MaxDemo
{●●●●●●●●●●●●public
static
void
main(String[]
args)
{int
x,
y,max;Scanner
sc=new
Scanner(System.in);System.out.println("請輸入兩個(gè)整數(shù):");x=sc.nextInt();y
=
sc.nextInt();if
(x
>
y)max=x;elsemax=y;System.out.println("最大值為:"+max);}}實(shí)例2-10任意輸入一個(gè)年份,判斷該年是否是閏年。判斷某年是否是閏年的條件是:當(dāng)年份能被4整除但不能被100整除或年份能被400整除時(shí),該年為閏年代碼如下:import
java.util.Scanner;public
class
YearDemo
{public
static
void
main(String[]args){
Scanner
console=new
Scanner(System.in);System.out.print("輸入年份:");int
year
=
console.nextInt();if((year%4==0
&&!(year%100==0))||(year%400==0))System.out.println(year+"是閏年");elseSystem.out.println(year+"不是閏年");}}2.if語句的嵌套所謂if語句的嵌套是指if語句中的語句1或語句2又是if語句的情況。當(dāng)判斷條件比較復(fù)雜,在一個(gè)布爾表達(dá)式中不能完
全表示時(shí),可以采用嵌套的if語句來實(shí)現(xiàn)。if語句的嵌套結(jié)構(gòu)較多,其中最常用的嵌套結(jié)構(gòu)為“if-else
if”格式。if-else
if嵌套結(jié)構(gòu)的語法格式如下:if(判斷條件1)語句1;else
if(判斷條件2)語句2;…else語句n+1:}if-else
if嵌套語句的執(zhí)行流程如圖2-6所示。實(shí)例2-12輸入一個(gè)學(xué)生的百分制成績,根據(jù)分?jǐn)?shù)段劃分學(xué)生等級。其中:分?jǐn)?shù)>=90的為“優(yōu)秀”,分?jǐn)?shù)<90并且>=80的為“良好“,分?jǐn)?shù)<80并且>=70的為“中等“,分?jǐn)?shù)<70并且>=60的為“及格“,分?jǐn)?shù)<60的為“不及格“。3.switch語句switch語句是多分支的開關(guān)語句,它基于一個(gè)表達(dá)式的值來執(zhí)行多個(gè)分支語句中的一個(gè)語句。switch語句語法格式如下:switch(表達(dá)式){case常量表達(dá)式1:語句1;break;case常量表達(dá)式2:語句2;break;…case常量表達(dá)式n:語句n;break;[default:語句n+1;]}switch語句的執(zhí)行流程如圖2-7所示。說明:
(1)switch語句執(zhí)行時(shí)首先計(jì)算表達(dá)式的值。表達(dá)式的類型必須是以下5種類型之一:int、byte、char、short、long。同時(shí)還要保證與case分支判斷值的類型一致。
(2)case子句只是作為執(zhí)行語句的入口。switch語句把表達(dá)式返回的值依次與每個(gè)case子句中的常量值相比較,如果遇到匹配的值,則從該入口進(jìn)入
switch語句,執(zhí)行該case后面的語句塊,如果都不符合則執(zhí)行default后的語句。如果case子句后沒有break語句,則流程會(huì)一直向下執(zhí)行,直到遇到break語句或到switch語句的尾端才結(jié)束switch語句的執(zhí)行。(3)default子句是可選的。
(4)break語句用來在執(zhí)行完一個(gè)case分支后,使程序跳出switch語句,即終止switch語句的執(zhí)行。(5)case后面的常量值必須互不相同。(6)多個(gè)不同的case值要執(zhí)行一組相同的操作時(shí),可以共用一組語句。實(shí)例2-13使用switch語句實(shí)現(xiàn)命令解析器程序。命令解析器程序提供如下功能供用戶選擇:“用戶注冊”、
“用戶登錄”和“退出系統(tǒng)”。當(dāng)用戶在控制臺(tái)輸入1,則表示選擇“用戶注冊”功能,程序在控制臺(tái)輸出文本“用戶注冊!”;用戶輸入2,則表示選擇“用戶登錄”功能,程序在控制臺(tái)輸出文本“用戶登錄!”;用戶輸入3,則表示選擇“退出系統(tǒng)”功能,程序在控制臺(tái)輸出文本“退出系統(tǒng)!”。import
java.util.Scanner;public
class
SwitchDemo
{public
static
void
main(String[]
args)
{Scanner
console
=
new
Scanner(System.in);System.out.println("請選擇功能:\n1:用戶注冊退出系統(tǒng)");int
cmd
=
console.nextInt();switch(cmd){\n2:用戶登錄\n3:case
1:System.out.println("用戶注冊!");break;case
2:System.out.println("用戶登錄!");break;case
3:System.out.println("退出系統(tǒng)!");break;}}}2.6.2循環(huán)結(jié)構(gòu)語句在程序設(shè)計(jì)中,有時(shí)需要反復(fù)執(zhí)行一段相同的代碼,直到滿足終止循環(huán)的條件為止。為了簡化程序結(jié)構(gòu),Java語言也像c/c++語言一樣提供了循環(huán)結(jié)構(gòu)。其中反復(fù)被執(zhí)行的語句稱為循環(huán)體。在Java語言中有三種常用的循環(huán)語句,分別是while語句、do…while語句和for語句。一個(gè)循環(huán)結(jié)構(gòu)一般要包含四個(gè)因素:初始化部分:用來設(shè)置循環(huán)控制的一些初始條件。判斷部分:循環(huán)的控制條件,是一個(gè)布爾表達(dá)式,用來判斷循環(huán)要不要繼續(xù)執(zhí)行。循環(huán)體部分:被循環(huán)控制反復(fù)執(zhí)行的代碼。迭代部分:用來修改循環(huán)的控制條件,以使循環(huán)趨向于終止。1.while語句while語句是一種先判斷條件,然后根據(jù)條件決定是否執(zhí)行循環(huán)體的循環(huán)語句。while語句的語法格式如下:while(循環(huán)條件){循環(huán)體}while語句的執(zhí)行流程如圖2-8所示。實(shí)例2-14利用while語句求1+2+3+…+100的和。代碼如下:public
class
WhileDemo
{public
static
void
main(String[]
args)
{int
i
=
1;int
sum
=
0;while(i<=100){
//當(dāng)條件滿足時(shí)執(zhí)行循環(huán)體sum
+=
i;i
=
i
+
1;}System.out.println("1+2+3+…+10的結(jié)果為:"+sum);}}關(guān)于while語句的三點(diǎn)說明:循環(huán)體如果包含一個(gè)以上的語句,應(yīng)該用花括弧括起來,以語句塊的形式出現(xiàn)。在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語句,即循環(huán)要素中的迭代部分。如果條件一開始就為false,則循環(huán)體一次都不執(zhí)行。2.do…while語句do…while語句用于循環(huán)體至少執(zhí)行一次的情形。它和while語句類似,區(qū)別是while語句為先判斷條件是否滿足再執(zhí)行循環(huán)體,而do…while語句則先執(zhí)行循環(huán)體一次后,再判斷條件是否滿足。因此do…while語句中的循環(huán)體至少被執(zhí)行一次,而while語句的循環(huán)體可能一次都不執(zhí)行。do…while語句語法格式如下:do{循環(huán)體}while(條件);do…while語句的執(zhí)行流程如圖2-9所示。實(shí)例2-15利用do…while語句求1+2+3+…+100的和。代碼如下:public
class
DowhileDemo
{public
static
void
main(String[]
args)
{int
i
=
1;int
sum
=
0;do{sum
+=
i;i
=
i
+
1;}while(i<=100);
System.out.println("1+2+3+…+100的結(jié)果為:"+sum);}}3.for循環(huán)語句for語句使用最為靈活,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況,它完全可以代替while語句。for循環(huán)語句的語法格式如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體}其中:表達(dá)式1:初始化表達(dá)式,負(fù)責(zé)對控制變量賦初值。表達(dá)式2:判斷條件表達(dá)式,值為布爾型的表達(dá)式,指定循環(huán)條件。
表達(dá)式3:循環(huán)控制變量修改表達(dá)式,負(fù)責(zé)修改循環(huán)控制變量,改變循環(huán)條件。實(shí)例2-16利用for語句求1+2+3+…+100的和。代碼如下:public
class
ForDemo
{●●●●●●●public
static
void
main(String[]
args)
{int
sum
=
0;for
(int
i
=
1;
i
<=
100;
i++)
{sum
+=
i;}System.out.println("1+2+3+…+100的結(jié)果為:"+sum);}}關(guān)于for語句的幾點(diǎn)說明:for語句的一般形式中的表達(dá)式1、表達(dá)式2、表達(dá)式3都可以省略,但是分號不能省略。表達(dá)式2必須是關(guān)系表達(dá)式(如i<=100)或邏輯表達(dá)式(如a<b
&&
x<y)表達(dá)式1可以是設(shè)置循環(huán)變量初值的賦值表達(dá)式,也可以是與循環(huán)變量無關(guān)的其他表達(dá)式。如:for(sum=0;i<=100;i++)sum=sum+i;表達(dá)式3也可以是與循環(huán)控制無關(guān)的任意表達(dá)式。表達(dá)式1和表達(dá)式3可以使用用逗號分割的語句序列來進(jìn)行多個(gè)操作。如:for(i=1,sum=0;i<=100;sum+=i,i++);但是這種用逗號分割的語句序列只適用于for循環(huán)提示:利用for循環(huán)編程時(shí),for的三個(gè)表達(dá)式最好都與循環(huán)控制有關(guān)。4.循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。三種循環(huán)(while循環(huán)、do-while循環(huán)和for循環(huán))可以互相嵌套。實(shí)例2-17編程打印用九九乘法表。代碼如下:public
class
ForDemo
{public
class
NineTable
{public
static
void
main(String[]
args)
{for
(int
i
=
1;
i
<=
9;
i++)
{for
(int
j
=
1;
j
<=
i;
j++)
{System.out.print(j
+
"*"
+
i
+
"="
+
i
*
j
+
"
");}System.out.println();}}}2.6.3流程跳轉(zhuǎn)語句Java中有三種跳轉(zhuǎn)語句,分別是:break語句、continue語句、return語句。break語句在前面所學(xué)的switch語句中,break語句已經(jīng)得到了應(yīng)用。在Java提供的各類循環(huán)中,break語句也提供了一種方便的結(jié)束循環(huán)的方法。break;//用來終止當(dāng)前循環(huán)break標(biāo)號;//結(jié)束標(biāo)號所指的代碼塊,程序流程從內(nèi)層循環(huán)或內(nèi)層程序塊中退出,執(zhí)行代碼塊后面的語句。實(shí)例2-18任意輸入一個(gè)大于1的整數(shù)m,判斷m是否為素?cái)?shù)。素?cái)?shù)也叫質(zhì)數(shù),即在正整數(shù)中,除了1與本身之外沒有其他約數(shù)的數(shù)(1除外)。判斷素?cái)?shù)的算法思想:讓m被2到m-1除(用循環(huán)控制變量i表示2到m-1中的各個(gè)值),如果m能被2~m-1之中任何一個(gè)整數(shù)整除,則提前結(jié)束循環(huán),此時(shí)i必然小于或等于m-1;如果m不能被2~m-1之間的任一整數(shù)整除,則在完成最后一次循環(huán)后,i還要加1,因此i=m,然后才終止循環(huán)。在循環(huán)之后判別i的值是否大于或等于m,若是,則表明未曾被2~m-1之間任一整數(shù)整除過,因此輸出“是素?cái)?shù)”,否則m就不是素?cái)?shù)。import
java.util.Scanner;public
class
PrimeDemo
{public
static
void
main(String[]
args)
{Scanner
sc
=
new
Scanner(System.in);System.out.println("請輸入一個(gè)大于1的整數(shù):");int
m=sc.nextInt();int
i;for
(i
=
2;
i
<=
m
-
1;
i++)
{if(m%i==0)//如果有約數(shù)存在,m就不是質(zhì)數(shù)了,可以提前結(jié)束循環(huán)break;}if
(i
==
m)System.out.println(m+"是質(zhì)數(shù)");else
System.out.println(m+"不是質(zhì)數(shù)");}}實(shí)例2-19帶標(biāo)號的break語句的應(yīng)用示例。代碼如下:public
class
BreakDemo
{publicstatic
void
main(String
args[])
{outer:
for
(int
i
=
0;
i
<
3;
i++)
{System.out.print("Pass
"
+
i
+
":
");for(int
j
=
0;
j
<
100;
j++)
{if
(j
==
10)break
outer;//如果j=10,終止外循環(huán)System.out.print(j
+
"
");}System.out.println();}}}continue語句continue語句只能用在循環(huán)語句中,用于結(jié)束本次循環(huán)或指定的標(biāo)號循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的
語句,然后進(jìn)入循環(huán)的起始處進(jìn)行終止條件判斷,以
決定是否繼續(xù)循環(huán)。Continue語句有以下兩種形式:(1)continue;//終止當(dāng)前循環(huán),(2)continue標(biāo)號;//直接跳轉(zhuǎn)到標(biāo)號指明的外層循環(huán)中實(shí)例2-20任編程輸出20-30之間不能被3或5或7整除的數(shù)。代碼如下:public
class
ContinueDemo1
{public
static
void
main(String[]
args)
{for
(int
i
=
20;
i
<=
30;
i++)
{if
(i
%
3
==
0
||
i
%
5
==
0
||
i
%
7
==
0)continue;System.out.print(i
+
",");}}}實(shí)例2-21利用帶標(biāo)號的continue語句打印九九乘法表。代碼如下:public
class
ContinueDemo2
{publicstatic
void
main(String
args[])
{outer:
for
(int
i
=
1;
i
<=
9;
i++)
{for
(int
j
=
1;
j
<
10;
j++)
{System.out.print(j
+
"*"
+
i
+
"="
+
j
*
i
+
"
");if
(i==j)
{System.out.println();
continue
outer;}}}}}3.return語句return語句通常用在一個(gè)方法的最后,其作用是將程序流程從當(dāng)前方法(被調(diào)方法)中返回到主調(diào)方法中。return語句有如下兩種使用形式:return表達(dá)式;return;當(dāng)含有return語句的方法被調(diào)用時(shí),執(zhí)行return語句將從當(dāng)前方法中退出,返回到調(diào)用該方法的語句處。如果執(zhí)行的return語句后帶有表達(dá)式,將同時(shí)返回表達(dá)式的結(jié)果;如果執(zhí)行的是第二種形式的return語句,則不返回任何值。實(shí)例2-22return語句應(yīng)用舉例。代碼如下:public
class
ReturnDemo
{public
static
void
main(String
args[])
{
boolean
t
=
true;System.out.println("Before
the
return.");if
(t)return;System.out.println("This
won’t
execute.");}}2.7數(shù)組數(shù)組是由一組相同類型的數(shù)據(jù)按一定順序排列的集合。數(shù)組的主要特點(diǎn)如下:數(shù)組中的所有元素都具有相同的數(shù)據(jù)類型。組中的各元素是有先后順序的,它們在內(nèi)存中按照這個(gè)先后順序連續(xù)存放在一起。每個(gè)數(shù)組元素使用數(shù)組名和它在數(shù)組中的順序位置來表示。如a[0]表示名字為a的數(shù)組中的第一個(gè)元素,a[1]表示數(shù)組a中的第二個(gè)元素。2.7.1一維數(shù)組一維數(shù)組是最簡單的數(shù)組,其邏輯結(jié)構(gòu)是線性表。使用一維數(shù)組的一般過程是:一維數(shù)組的聲明、創(chuàng)建和引用。1.一維數(shù)組的聲明聲明數(shù)組要定義數(shù)組的名稱、維數(shù)和數(shù)組元素的類型。聲明一維數(shù)組的格式有如下兩種形式:(1)數(shù)組類型
數(shù)組名[];(2)數(shù)組類型[]例如:int
score[];或int[]score;說明:數(shù)組名;//聲明一個(gè)一維數(shù)組,數(shù)組名為score,元素類型為int型。數(shù)組類型可以是任意的Java類型,包括基本類型和引用類型;數(shù)組名必須是合法的標(biāo)識(shí)符;(3)[]中不能有內(nèi)容。2.一維數(shù)組的創(chuàng)建創(chuàng)建數(shù)組的方式有如下兩種:(1)用運(yùn)算符new創(chuàng)建數(shù)組格式如下:數(shù)組名=new數(shù)組類型[長度];例如:score=new
int[3]或int
n=3;score=new
int[n];聲明數(shù)組與創(chuàng)建數(shù)組兩個(gè)步驟可以一起完成,兩步合并如下:int
score[]
=
new
int[3];圖2-11數(shù)組score的存儲(chǔ)分配對于數(shù)組score的存儲(chǔ)分配模式如圖2-11所示(2)用靜態(tài)的初始化方法創(chuàng)建數(shù)組在定義數(shù)組的同時(shí)對數(shù)組元素分配空間并賦值,這種賦值方法,稱為對數(shù)組的靜態(tài)內(nèi)存分配方式,也稱為對數(shù)組的靜態(tài)初始化。其格式如下:數(shù)據(jù)類型[]數(shù)組名={初值1,初值12,…,初值n};或數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[]{初值1,初值12,…,初值n};例如:int
score[]
={7,6,5};或int
score[]=new
int[]{7,6,5};3.length的使用對于創(chuàng)建好的數(shù)組,其元素個(gè)數(shù)稱為數(shù)組的長度。對于一維數(shù)組,“數(shù)組名.length”的值就是數(shù)組的長度。例如:score.l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家居空間設(shè)計(jì)中的生活動(dòng)線優(yōu)化考核試卷
- 流動(dòng)小吃轉(zhuǎn)讓合同范本
- 酒店吧臺(tái)員工合同范本
- 吊頂合資協(xié)議合同范本
- 辦公區(qū)域清潔與維護(hù)工作計(jì)劃
- 農(nóng)村污水處理合同
- 企業(yè)增資擴(kuò)股方案及協(xié)議
- 環(huán)境保護(hù)的重要性征文
- 貨物公路運(yùn)輸合同
- 私人公寓樓房產(chǎn)轉(zhuǎn)讓合同
- 2024-2025學(xué)年四川省成都市高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測英語試題(解析版)
- HRBP工作總結(jié)與計(jì)劃
- 八大危險(xiǎn)作業(yè)安全培訓(xùn)考試試題及答案
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年上半年中電科太力通信科技限公司招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年沙洲職業(yè)工學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 【化學(xué)】常見的鹽(第1課時(shí))-2024-2025學(xué)年九年級化學(xué)下冊(人教版2024)
- 2024甘肅省公務(wù)員(省考)行測真題
- 體育活動(dòng)策劃與組織課件
- JJG 1204-2025電子計(jì)價(jià)秤檢定規(guī)程(試行)
- 認(rèn)養(yǎng)一頭牛-雙寡格局下新品牌如何實(shí)現(xiàn)彎道超車
評論
0/150
提交評論