Java語言程序設(shè)計(jì)電子課件 第2章_第1頁
Java語言程序設(shè)計(jì)電子課件 第2章_第2頁
Java語言程序設(shè)計(jì)電子課件 第2章_第3頁
Java語言程序設(shè)計(jì)電子課件 第2章_第4頁
Java語言程序設(shè)計(jì)電子課件 第2章_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JAVA語言程序設(shè)計(jì)2.1基礎(chǔ)知識2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.3控制流程本章小結(jié)第二章目錄教學(xué)目標(biāo):使用Java編寫程序,需要了解Java語言的基本知識。本章將主要介紹Java的數(shù)據(jù)類型、標(biāo)識符、關(guān)鍵字、變量與常量、表達(dá)式,以及Java程序的基本結(jié)構(gòu)。學(xué)習(xí)Java語言的基礎(chǔ)知識,要有創(chuàng)新精神和工匠精神,能編寫出高效、易維護(hù)的代碼。教學(xué)重點(diǎn):掌握J(rèn)ava編程語言中4種基本數(shù)據(jù)類型:整型、浮點(diǎn)型、字符型、布爾型。了解Java編程語言中的引用數(shù)據(jù)類型。掌握程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。第二章數(shù)據(jù)是程序的必要組成部分,是程序中被處理的對象,程序中所使用的每個數(shù)據(jù)都屬于某一種類型。在Java編程語言中,數(shù)據(jù)類型主要分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型兩大類。2.1基礎(chǔ)知識1.基本數(shù)據(jù)類型在Java編程語言中,基本數(shù)據(jù)類型即簡單的值?;緮?shù)據(jù)類型根據(jù)數(shù)據(jù)值的不同,可以分為數(shù)值型和非數(shù)值型。數(shù)值型分為整型和浮點(diǎn)型,整型主要有byte型、short型、int型和long型,浮點(diǎn)型主要有float型和double型;非數(shù)值型主要有char型和boolean型。2.1基礎(chǔ)知識(1)整型在Java編程語言中,共有4種整型,并且所有的整型都是帶符號的。聲明每種不同的類型時,可以使用關(guān)鍵字byte、short、int或long。2.1基礎(chǔ)知識byte型稱為字節(jié)型,數(shù)據(jù)在內(nèi)存中占用1個字節(jié),表示的存儲范圍為-27~27-1。short型稱為短整型,數(shù)據(jù)在內(nèi)存中占用2個字節(jié),表示的存儲范圍是-215~215-1。int型稱為整型,數(shù)據(jù)在內(nèi)存中占用4個字節(jié),表示的存儲范圍為-231~231-1,是整數(shù)的默認(rèn)類型。long型稱為長整型,數(shù)據(jù)在內(nèi)存中占用8個字節(jié),表示的存儲范圍是-263~263-1,在數(shù)字后使用字母l或者L來表示,否則整數(shù)數(shù)值默認(rèn)是int型。例如,12L是long型的數(shù)據(jù),12是int型的數(shù)據(jù)。在Java編程語言中,大小寫L都可以使用,但是建議不要使用小寫的字母l,因?yàn)樗蛿?shù)字1很像。2.1基礎(chǔ)知識

Java中可以使用十進(jìn)制、八進(jìn)制和十六進(jìn)制這3種進(jìn)制來表示整數(shù)。十進(jìn)制:基數(shù)為10,逢10進(jìn)位。其由10個數(shù)字符號構(gòu)建而成,分別是數(shù)字0~9,如十進(jìn)制整數(shù)2039、1328等。八進(jìn)制:基數(shù)為8,逢8進(jìn)位。以數(shù)字0開頭的數(shù)字序列,由8個數(shù)字符號構(gòu)建而成,分別是數(shù)字0~7。例如,八進(jìn)制整數(shù)0545,代表十進(jìn)制整數(shù)357。十六進(jìn)制:基數(shù)為16,逢16進(jìn)位。以0X開頭的數(shù)字序列,由16個數(shù)字符號構(gòu)建而成,分別是0~9、A、B、C、D、E和F,其中前綴中的X和后綴中的字母A、B、C、D、E和F,是不區(qū)分大小寫的,這是Java中僅有的幾個不區(qū)分大小寫的地方。例如十六進(jìn)制整數(shù)0xA45FE,代表十進(jìn)制的整數(shù)673278。2.1基礎(chǔ)知識(2)浮點(diǎn)型浮點(diǎn)型使用關(guān)鍵字float或double聲明,用來表示數(shù)學(xué)中的實(shí)數(shù)2.1基礎(chǔ)知識float型稱為單精度浮點(diǎn)型,數(shù)據(jù)在內(nèi)存中占用4個字節(jié)。float型的數(shù)據(jù)值后面必須添加字母F或f,因?yàn)楦↑c(diǎn)數(shù)的缺省類型為double型,如“floati=2.15F;”或“floatj=6.24E3f;”等。double型稱為雙精度浮點(diǎn)型,數(shù)據(jù)在內(nèi)存中占用8個字節(jié)。double型的數(shù)據(jù)值后邊可以添加字母D或d,因?yàn)楦↑c(diǎn)數(shù)的缺省類型為double,如“doublei=3.05d;”或“doublej=6.24E+30D;”等。2.1基礎(chǔ)知識(3)字符型單個字符用char型表示。char型的數(shù)據(jù)在內(nèi)存中占用2個字節(jié)。char代表16位無符號的Unicode字符。char字符必須在單引號’’內(nèi),如“charc=’a’;”。2.1基礎(chǔ)知識(4)布爾型布爾型又稱邏輯類型,使用boolean關(guān)鍵字聲明。boolean型只有兩個值:true和false。表示兩個狀態(tài):開或關(guān)、真或假、是或不是。boolean型的值默認(rèn)為false。注意:與C語言不同,Java中的boolean型與整型之間不能轉(zhuǎn)換。2.1基礎(chǔ)知識2.基本數(shù)據(jù)類型間的轉(zhuǎn)換數(shù)值型的數(shù)據(jù)在進(jìn)行混和運(yùn)算的時候,需要將不同類型的數(shù)據(jù)先轉(zhuǎn)換成同一類型,再進(jìn)行運(yùn)算。Java中的基本數(shù)據(jù)類型的轉(zhuǎn)換分為兩種:自動轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換。2.1基礎(chǔ)知識(1)自動轉(zhuǎn)換橫向的箭頭表示運(yùn)算為不同數(shù)據(jù)類型時轉(zhuǎn)換的方向。例如:int型與double型的數(shù)據(jù)進(jìn)行運(yùn)算時,需要先將int型的數(shù)據(jù)轉(zhuǎn)換成double型,然后在兩個同類型的數(shù)據(jù)間進(jìn)行運(yùn)算,結(jié)果為double型的數(shù)據(jù)。需要注意的是,箭頭方向只是表示數(shù)據(jù)類型級別的高低,由低向高轉(zhuǎn)換。2.1基礎(chǔ)知識當(dāng)一個較“小”的數(shù)據(jù)和一個較“大”的數(shù)據(jù)一起運(yùn)算的時候,系統(tǒng)將自動將較“小”的數(shù)據(jù)轉(zhuǎn)換為較“大”的數(shù)據(jù),再進(jìn)行運(yùn)算。在方法調(diào)用過程中,如果實(shí)際參數(shù)較“小”,而函數(shù)的形參比較“大”的時候,除非有匹配的方法,否則會直接使用較“大”的形參函數(shù)進(jìn)行調(diào)用。2.1基礎(chǔ)知識(2)強(qiáng)制轉(zhuǎn)換將“大”的數(shù)據(jù)轉(zhuǎn)換為“小”的數(shù)據(jù)時,可以使用強(qiáng)制轉(zhuǎn)換。在進(jìn)行強(qiáng)制轉(zhuǎn)換的時候,必須在要轉(zhuǎn)換的數(shù)據(jù)前面加上需要轉(zhuǎn)換的數(shù)據(jù)類型。進(jìn)行強(qiáng)制轉(zhuǎn)換的時候,有可能會出現(xiàn)精度損失。如果是進(jìn)行強(qiáng)制類型轉(zhuǎn)換,按照圖2-2從高到低來使用。2.1基礎(chǔ)知識(3)轉(zhuǎn)換附加說明當(dāng)兩種數(shù)據(jù)類型進(jìn)行自動轉(zhuǎn)換的時候,需要滿足的條件是兩種數(shù)據(jù)類型是兼容的并且目的類型的數(shù)值范圍應(yīng)該比源轉(zhuǎn)換值的范圍要大。而拓展轉(zhuǎn)換就遵循圖2-2的自動類型轉(zhuǎn)換。當(dāng)這兩個條件都滿足的時候,拓展轉(zhuǎn)換才會發(fā)生,而對于幾個基本數(shù)據(jù)類型的轉(zhuǎn)換過程,根據(jù)兼容性boolean型和char型應(yīng)該是獨(dú)立的,其他6種類型是可以兼容的,在強(qiáng)制轉(zhuǎn)換過程中,唯獨(dú)特殊的是char型和int型是可以轉(zhuǎn)換的,不過會使用char型的ASCII碼值。2.1基礎(chǔ)知識【例2-1】基本數(shù)據(jù)類型應(yīng)用2.1基礎(chǔ)知識publicclassExample2_1{//定義類

publicstaticvoidmain(String[]args){ //主方法 bytea=10;//定義不同的基本數(shù)據(jù)類型的變量,并賦初值shortb=20;intc=100;longd=82L;floati=3.2f;doublej=3.5;chark='n';booleanm=true;System.out.println("byte型的值a="+a);//輸出每個變量的值System.out.println("short型的值b="+b);System.out.println("int型的值c="+c);System.out.println("long型的值d="+d);System.out.println("float型的值i="+i);System.out.println("double型的值j="+j);System.out.println("char型的值k="+k);System.out.println("boolean型的值m="+m);}}3.引用數(shù)據(jù)類型引用數(shù)據(jù)類型即類類型,用來表示更為復(fù)雜的類型。引用數(shù)據(jù)類型包括用戶聲明的所有類型,習(xí)慣上用來創(chuàng)建對象。Java中除基本數(shù)據(jù)類型之外的所有數(shù)據(jù)類型都是引用數(shù)據(jù)類型,引用類型主要包括類、數(shù)組和接口,具體內(nèi)容將在第三章詳細(xì)介紹。2.1基礎(chǔ)知識2.2.1標(biāo)識符在Java中,標(biāo)識符用來命名變量、符號常量、數(shù)組、方法、類、對象、接口、包等。標(biāo)識符可以由字母、數(shù)字、_或$組成,第一個字符不能是數(shù)字,長度不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為0-9。標(biāo)識符中的字母要區(qū)分大小寫。為了提高程序的可讀性,標(biāo)識符最好“見名知義”,而且規(guī)范大小寫的使用方式。注意:所有的用戶自定義的標(biāo)識符名不要和系統(tǒng)的關(guān)鍵字(保留字)重名。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.2.2關(guān)鍵字關(guān)鍵字又稱保留字,是Java規(guī)定的具有特定含義的標(biāo)識符,用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。關(guān)鍵字一律用小寫字母表示。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.2.3變量和常量1.變量變量代表內(nèi)存中具有特定屬性的一個存儲單元,它用來存放數(shù)據(jù),也就是變量的值。在程序運(yùn)行期間,這些值是可以改變的。一個變量有一個名稱,以便被引用。變量名應(yīng)該符合標(biāo)識符的命名規(guī)則,并且區(qū)分大小寫。每一個變量必須有一個數(shù)據(jù)類型。

2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.變量聲明變量方式:例如:inta;這里,a就代表一個整型的變量。不同類型的變量,內(nèi)存分配是不一樣的,且只能存儲對應(yīng)的數(shù)據(jù)類型。系統(tǒng)也是根據(jù)變量的數(shù)據(jù)類型來理解其中的數(shù)據(jù)的。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.變量變量可以在聲明的時候進(jìn)行初始化,也可以利用一條賦值語句來進(jìn)行初始化。變量的值必須與它所聲明的數(shù)據(jù)類型相匹配。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.常量在程序運(yùn)行的過程中,其值不能改變的量稱為常量。在Java中,在變量聲明的格式前面加上final關(guān)鍵字作為修飾符,就聲明了一個常量。例如:

MAXSIZE就代表一個整型的常量,它的值在程序運(yùn)行過程中始終為100,不允許改變。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.2.4運(yùn)算符1.算術(shù)運(yùn)算符(1)+:加法運(yùn)算符,就是將兩個操作數(shù)進(jìn)行求和操作,且只能對數(shù)值型數(shù)據(jù)運(yùn)算。

一般形式:op1+op2

運(yùn)算符“+”也可以放在數(shù)值的前面,表示正數(shù)。例如:2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符(2)-:減法運(yùn)算符,將兩個操作數(shù)相減,只能對數(shù)值型數(shù)據(jù)進(jìn)行運(yùn)算。一般形式為:op1-op2

運(yùn)算符“-”也可以放在數(shù)值的前面,表示負(fù)數(shù)。例如:

2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符(3)*:乘法運(yùn)算符,就是對兩個操作數(shù)進(jìn)行乘法操作,只能對數(shù)值型數(shù)據(jù)進(jìn)行運(yùn)算。

一般形式為:op1*op22.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符(4)/:除法運(yùn)算符,就是對兩個操作數(shù)進(jìn)行除法操作,取得商值的整數(shù)部分。操作數(shù)的數(shù)據(jù)類型可以為整型、浮點(diǎn)型,也可以未負(fù)數(shù)。

一般形式為:op1/op22.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符(5)%:模運(yùn)算符,或稱為求余運(yùn)算符,將運(yùn)算符左邊的操作數(shù)除以運(yùn)算符右邊的操作數(shù),余數(shù)作為結(jié)果。操作數(shù)的數(shù)據(jù)類型可以是整型,也可以是浮點(diǎn)型。

一般形式為:op1%op22.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符(6)++:自增運(yùn)算符,表示完成自加1的運(yùn)算,只能作用于變量。它可以放在操作數(shù)的前面,也可以放在操作數(shù)的后面,但是作用不一樣。++運(yùn)算符放在操作數(shù)前面,表示該變量先自動加1,再進(jìn)行其它操作。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符++運(yùn)算符放在操作數(shù)后面,表示先進(jìn)行運(yùn)算,再執(zhí)行自動加1操作。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符(7)--:自減運(yùn)算符,表示完成自動減1的運(yùn)算,只能作用于變量。它可以放在操作數(shù)的前面也可以放在操作數(shù)的后面,但是作用不一樣。--運(yùn)算符放在操作數(shù)前面,表示該變量先自減1,再進(jìn)行其它操作。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.算術(shù)運(yùn)算符--運(yùn)算符放在操作數(shù)的后面,表示先進(jìn)行運(yùn)算,再進(jìn)行自動減1操作。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.賦值運(yùn)算符

賦值運(yùn)算符表示將一個值賦給一個變量,運(yùn)算順序從右到左。賦值運(yùn)算符包括=、+=、-=、*=、/=、%=。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.賦值運(yùn)算符(1)=:賦值運(yùn)算符,表示將等號右邊表達(dá)式的值賦給等號左邊的變量。(2)+=:加等于,表示將等號左邊的變量值與等號右邊的值相加之后,再將結(jié)果賦給等號左邊的變量。

2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.賦值運(yùn)算符(3)-=:減等于,表示將等號左邊的變量值與等號右邊的值相減之后,再將結(jié)果賦給等號左邊的變量。

(4)*=:乘等于,表示將等號左邊的變量值與等號右邊的值相乘之后,再將結(jié)果賦給等號左邊的變量。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.賦值運(yùn)算符(5)/=:除等于,表示將等號左邊的變量值與等號右邊的值相除之后,再將結(jié)果賦給等號左邊的變量。

(6)%=:模等于,表示將等號左邊的變量值與等號右邊的值求模之后,再將結(jié)果賦給等號左邊的變量。

2.2標(biāo)識符、關(guān)鍵字和表達(dá)式3.關(guān)系運(yùn)算符關(guān)系運(yùn)算符包括==、!=、>、<、>=、<=。關(guān)系運(yùn)算符的作用是比較運(yùn)算符兩邊的運(yùn)算數(shù),結(jié)果總是boolean類型的數(shù)據(jù),即true或false。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式4.邏輯運(yùn)算符邏輯運(yùn)算符包括&&、||、!、^。邏輯運(yùn)算符用于對boolean型結(jié)果的表達(dá)式進(jìn)行運(yùn)算,運(yùn)算結(jié)果總是boolean型的數(shù)據(jù)。&&和||又被稱為短路邏輯運(yùn)算符,即由前一個操作數(shù)就能夠確定整個表達(dá)式值的時候,后一個操作數(shù)的表達(dá)式將不再執(zhí)行。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式【例2-2】邏輯運(yùn)算符的應(yīng)用。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式publicclassExample2_2{ publicstaticvoidmain(String[]args){ //主方法 inti=5;intj=10;booleanb=(i<6)&&(++j>10);

//i<6為真,則繼續(xù)判定++j>10是否為真System.out.println("boolean型b="+b);System.out.println("int型i="+i);System.out.println("int型j="+j);b=(i>6)&&(++j>10);

//i>6為假,表達(dá)式的值為假,短路,即++j>10不再執(zhí)行System.out.println("boolean型b="+b);System.out.println("int型i="+i);System.out.println("int型j="+j);b=(i<6)||(++j>10);

//i<6為真,表達(dá)式的值為真,短路,不再執(zhí)行++j>10System.out.println("boolean型b="+b);System.out.println("int型i="+i);System.out.println("int型j="+j);b=(i>6)||(++j>10);//i>6為假,表達(dá)式的值不確定,執(zhí)行++j>10System.out.println("boolean型b="+b);System.out.println("int型i="+i);System.out.println("int型j="+j);} }5.位運(yùn)算符位運(yùn)算符包括&、|、^、~、>>、>>>、<<。位運(yùn)算符是對兩個運(yùn)算數(shù)中的每個二進(jìn)制位都進(jìn)行運(yùn)算。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式6.字符串連接運(yùn)算符字符串連接運(yùn)算可以使用“+”運(yùn)算符。他表示一個字符串類型的數(shù)據(jù)和任意數(shù)據(jù)類型的數(shù)據(jù)之間使用“+”運(yùn)算符,都將連接成一個新的字符串。

2.2標(biāo)識符、關(guān)鍵字和表達(dá)式7.條件運(yùn)算符“?:”運(yùn)算符是一個條件運(yùn)算符。

一般形式:(<邏輯表達(dá)式>)?<結(jié)果表達(dá)式1>:<結(jié)果表達(dá)式2>;

運(yùn)算規(guī)則:首先運(yùn)算邏輯表達(dá)式,若邏輯表達(dá)式的結(jié)果值為真,則返回<結(jié)果表達(dá)式1>的值,否則返回<結(jié)果表達(dá)式2>的值。

2.2標(biāo)識符、關(guān)鍵字和表達(dá)式運(yùn)算符可以利用1個、2個或3個操作數(shù)來完成一次完整的運(yùn)算,因此,運(yùn)算符可以按照所需操作數(shù)的個數(shù)分為一目運(yùn)算符、二目運(yùn)算符和三目運(yùn)算符。只有一個操作數(shù)的運(yùn)算符稱為一目運(yùn)算符,也稱為單目運(yùn)算符,如++、!等。運(yùn)算符兩側(cè)都需要操作數(shù)的運(yùn)算符稱為二目運(yùn)算符,如*、||等。三目運(yùn)算符就是能夠操作3個數(shù)的運(yùn)算符,例如?:。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.2.5表達(dá)式表示某種意義的式子就稱為表達(dá)式,它是符合一定語法規(guī)則的、由運(yùn)算符和操作數(shù)組成的符號序列。一個常量或一個變量是最簡單的表達(dá)式。表達(dá)式的值還可以用作其他運(yùn)算的操作數(shù),形成更復(fù)雜的表達(dá)式。運(yùn)算符的優(yōu)先級決定了同一表達(dá)式中多個運(yùn)算符被執(zhí)行的先后次序,如乘除運(yùn)算優(yōu)先于加減運(yùn)算,同一級里的運(yùn)算符具有相同的優(yōu)先級,運(yùn)算符的結(jié)合性則決定了相同優(yōu)先級的運(yùn)算符的執(zhí)行順序。運(yùn)算符的優(yōu)先級和結(jié)合性如表2-7所示。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.2標(biāo)識符、關(guān)鍵字和表達(dá)式【例2-3】變量、運(yùn)算符、表達(dá)式應(yīng)用。求一個三位數(shù)的數(shù)字之和。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式publicclassExample2_3{publicstaticvoidmain(Stringargs[]){intn=123,a=0,b=0,c=0,digsum=0;a=n%10;//個位b=(n%100)/10;//十位c=n/100;//百位digsum=a+b+c;//數(shù)字求和System.out.println("Digsum("+n+")="+digsum);}}2.2.6注釋與其它編程語言一樣,Java語言的源代碼中也允許出現(xiàn)注釋,并且注釋也不會影響程序的執(zhí)行,只是起到一個說明的作用。在Java語言中,有3種不同功能的注釋,分別為單行注釋,區(qū)域注釋和文檔注釋。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式1.單行注釋單行注釋用于為代碼中的單個行添加注釋,可以注釋掉單行代碼,也可以為一段代碼實(shí)現(xiàn)的功能添加一個簡短的說明。單行注釋是一種比較常用的注釋方式。語法格式:用“//”表示注釋的開始,注釋內(nèi)容從“//”開始到本行結(jié)尾。例如下面的代碼中使用了單行注釋。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式2.區(qū)域注釋區(qū)域注釋又稱為多行注釋,用于一次性注釋一行或者多行。開發(fā)人員通常使用區(qū)域注釋描述文件、數(shù)據(jù)結(jié)構(gòu)、方法和文件說明等。通常在文件的開頭和方法的前面或內(nèi)部使用區(qū)域注釋。要創(chuàng)建區(qū)域注釋,需要在注釋的開頭添加”/*”,在注釋的末尾添加”*/”,此方法允許創(chuàng)建很長的注釋,而不需要在每一行的開頭都添加”//”。例如:2.2標(biāo)識符、關(guān)鍵字和表達(dá)式區(qū)域注釋在編譯時“/*”與“*/”之間的內(nèi)容都會被忽略。讀者可以根據(jù)自己的習(xí)慣選擇使用單行注釋和區(qū)域注釋。但是在使用區(qū)域注釋的時候,需要注意,“/*”“*/”在Java中不能嵌套使用,如果注釋內(nèi)容中本身已經(jīng)包含了一個“*/”,就不能使用區(qū)域注釋了。因?yàn)榫幾g器遇到“*/”會認(rèn)為一個多行注釋結(jié)束,這可能會引起錯誤。因此,這時候只能用單行注釋的方法來解決。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式3.文檔注釋文檔注釋用于描述Java的類、接口、構(gòu)造器、方法等。文檔注釋是Java獨(dú)有的,并可以通過javadoc工具轉(zhuǎn)換成HTML文件,每個文檔注釋都被放在注釋定界符“/**”和“*/”之中,一個注釋對應(yīng)一個類、成員或接口。該注釋應(yīng)該位于聲明之前。下面舉例說明文檔注釋的使用。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式【例2-4】文檔注釋的使用。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式/***@authorshibing*@versionjdk1.6*/publicclassExample2_4{//定義類publicstaticvoidmain(Stringargs[]){//主方法System.out.println("helloWorld!");}/***setVAlue()是一個無參的普通方法*/publicvoidsetVAlue(){}}如果使用javadoc-ddocExample2_4.java來編譯執(zhí)行,則Java自動執(zhí)行過程如左圖。并在當(dāng)前目錄下,生成名字為doc文件夾,同時將上述生成的文檔放入文件夾中。文件夾的內(nèi)容如右圖。2.2標(biāo)識符、關(guān)鍵字和表達(dá)式結(jié)構(gòu)化的流程控制有三種結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)2.3流程控制2.3.1順序結(jié)構(gòu)【例2-5】程序的順序執(zhí)行。2.3流程控制publicclassExample2_5{publicstaticvoidmain(Stringargs[]){inta=5;System.out.println("a="+a);intb=a;System.out.println("b="+b);booleanflag=true;System.out.println("flag="+flag);intc=a+b;System.out.println("c="+c);System.out.println("主方法結(jié)束。");}}2.3.2選擇結(jié)構(gòu)1.if語句(1)if(布爾表達(dá)式){

語句塊s1;

}說明:當(dāng)布爾表達(dá)式的值為true時,執(zhí)行語句塊s1;否則跳過語句塊s1,程序繼續(xù)執(zhí)行。2.3流程控制【例2-6】if語句的使用。2.3流程控制 publicclassExample2_6{ publicstaticvoidmain(Stringargs[]){ inta=5; if(a>10){ System.out.println("a的值比10大,執(zhí)行if語句");} if(a<=10){ System.out.println("a的值比10小,執(zhí)行if語句");} System.out.println("主方法結(jié)束。"); } }(2)if(布爾表達(dá)式)

{語句塊s1;}

else

{語句塊s2;}說明:當(dāng)布爾表達(dá)式的值為true時,執(zhí)行語句塊s1;否則跳過語句塊s1,執(zhí)行語句塊s2。2.3流程控制【例2-7】if-else語句的使用。2.3流程控制publicclassExample2_7{ publicstaticvoidmain(Stringargs[]){ inta=5; if(a>10){ System.out.println("a的值比10大,執(zhí)行if語句");} else{System.out.println("a的值比10小,執(zhí)行else語句");} System.out.println("主方法結(jié)束。"); }}(3)if(布爾表達(dá)式1)

{語句塊s1;}

elseif(布爾表達(dá)式2)

{語句塊s2;}說明:當(dāng)布爾表達(dá)式1的值為true時,執(zhí)行語句塊s1;否則跳過語句塊s1,檢查布爾表達(dá)式2的值,若其值為真,則執(zhí)行語句塊s2。2.3流程控制【例2-8】if-elseif語句的使用。2.3流程控制publicclassExample2_8{ publicstaticvoidmain(Stringargs[]){ inta=5; if(a>10){ System.out.println("a的值比10大,執(zhí)行if語句");} elseif(a<6) { System.out.println("a的值比6小,執(zhí)行elseif語句");} System.out.println("主方法結(jié)束。"); }}(4)if(布爾表達(dá)式1)

{語句塊s1;}

elseif(布爾表達(dá)式2)

{語句塊s2;}

else{語句塊s3;}說明:當(dāng)布爾表達(dá)式1的值為true時,執(zhí)行語句塊s1;否則跳過語句s1,檢查布爾表達(dá)式2的值,若其值為真,則執(zhí)行語句塊s2,若其值為假,則執(zhí)行else后邊的語句塊s3。2.3流程控制【例2-9】if-elseif-else語句的使用。2.3流程控制publicclassExample2_9{ publicstaticvoidmain(Stringargs[]){ inta=5; if(a>10){ System.out.println("a的值比10大,執(zhí)行if語句");} elseif(a<6){ System.out.println("a的值比6小,執(zhí)行elseif語句");} else{ System.out.println("a的值在6-10之間,執(zhí)行else語句");} System.out.println("主方法結(jié)束。"); }}2.switch語句switch語句(又稱開關(guān)語句)和case語句一起使用,是多分支語句的一種。一般格式如下:2.3流程控制說明:(1)在JDK6及JDK6之前的版本,表達(dá)式的值只能為short、int、byte、char型中的一種,在JDK7及JDK7之后的版本,除以上4種數(shù)據(jù)類型之外,也允許使用String型。(2)case子句中的判斷值必須是常量,而且所有case子句中的判斷值是不同的。(3)default子句是任選的,當(dāng)表達(dá)式的值與任意一條case子句中的值都不匹配時,程序執(zhí)行default后面的語句。default語句的位置可以與case語句調(diào)換。(4)若表達(dá)式的值與任意一條case子句中的值都不匹配,且沒有default子句,則程序直接跳出switch語句。2.3流程控制(5)case分支中的語句塊包括多個執(zhí)行語句時,可以不用花括號“{}”括起來。(6)switch語句的功能可以用嵌套if語句實(shí)現(xiàn),但使用switch語句更簡煉,可讀性強(qiáng),執(zhí)行效率高。(7)switch語句一般要與break語句相結(jié)合,才能正確實(shí)現(xiàn)多分支。break語句用來在執(zhí)行完一個case分支后,使程序跳出switch語,即終止switch語句的執(zhí)行。case子句只是起到一個標(biāo)號的作用,用來查找匹配的入口,從此處開始執(zhí)行。如果沒有break語句,則對后面的case子句不再進(jìn)行匹配,而是直接執(zhí)行其后的語句序列。因此,在每個case分支后,要用break語句來終止后面的case子句的執(zhí)行。但是在一些特殊情況下,想讓多個不同的case值都執(zhí)行同一個操作,此時,可以省略某些case子句后面的break語句來達(dá)到效果。2.3流程控制【例2-10】switch—case語句的使用。輸入一個成績,輸出該成績所屬的等級(0~59為“fail”,60~79為“pass”,80~89為“good”,90~100為“Excellent”)。2.3流程控制publicclassExample2_10{ publicstaticvoidmain(Stringargs[]){ intscore=78;score=score/10; switch(score){ case0: case1: case2: case3: case4: case5:System.out.println("fail");break; case6: case7:System.out.println("pass");break; case8:System.out.println("good");break; case9: case10:System.out.println("Excellent");break; default:System.out.println("DataError!"); } }}2.3.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是程序中一種重要的基本結(jié)構(gòu)。它是在循環(huán)條件滿足的情況下,反復(fù)執(zhí)行某段程序,被反復(fù)執(zhí)行的這段程序稱為“循環(huán)體”。while循環(huán)do…while循環(huán)for循環(huán)2.3流程控制1.while語句while語句格式如下:說明:(1)while語句的執(zhí)行過程:①求解條件表達(dá)式,如果其值為true,轉(zhuǎn)向②;否則轉(zhuǎn)向③;②執(zhí)行循環(huán)體語句組,然后轉(zhuǎn)向步驟①;③執(zhí)行while語句后面的語句。(2)while語句兩個注意事項(xiàng):①在進(jìn)入循環(huán)體之前,必須給相關(guān)的循環(huán)控制變量賦初值,以保證循環(huán)控制表達(dá)式中的變量有確定的值;②在循環(huán)體內(nèi)必須要有修改循環(huán)控制變量值的語句,以保證循環(huán)達(dá)到結(jié)束條件,正常退出循環(huán),避免產(chǎn)生死循環(huán)。2.3流程控制【例2-11】while語句的使用。求從1加到100的和,即1+2+…+100。2.3流程控制publicclassExample2_11{ publicstaticvoidmain(String[]args){ inti=0; intsum=0; while(i<=100){ sum=sum+i;i++;} System.out.println("1+2+…+100="+sum);}}2.do-while語句do-while語句格式如下:說明:

與while語句的不同在于:do-while語句是先執(zhí)行一遍循環(huán)體中的語句,再判斷while后的條件表達(dá)式是否為真。若條件表達(dá)式為真,則繼續(xù)執(zhí)行循環(huán);若條件表達(dá)式為假,則終止循環(huán)。do-while循環(huán)至少要執(zhí)行一次循環(huán)體語句。需要注意的是,條件表達(dá)式后一定要有分號。2.3流程控制【例2-12】do---while語句的使用。求從1加到100的和,即1+2+…+100。2.3流程控制publicclassExample2_12{ publicstaticvoidmain(String[]args){ inti=0; intsum=0; do{ sum=sum+i; i++; } while(i<=100);//while后面要加上分號; System.out.println("1+2+…+100="+sum);}}3.for語句for語句格式如下:說明:(1)for語句的執(zhí)行過程:①先執(zhí)行表達(dá)式1,表達(dá)式1只執(zhí)行一次,一般都是賦值語句,用于

初始化變量;②再執(zhí)行表達(dá)式2,若結(jié)果值為假,則結(jié)束循環(huán);若結(jié)果值為真,則執(zhí)行步驟③;③執(zhí)行循環(huán)體,執(zhí)行表達(dá)式3;④轉(zhuǎn)回步驟②。2.3流程控制(2)for語句的幾個注意事項(xiàng):①表達(dá)式1常用于聲明循環(huán)變量、對一組變量進(jìn)行初始化或賦值,該語句在第一次循環(huán)開始前被執(zhí)行,且只被執(zhí)行一次,可以是用逗號隔開的多個賦值表達(dá)式。例如:2.3流程控制②表達(dá)式2用于控制循環(huán)的條件,相當(dāng)于while語句中的條件表達(dá)式,在每次循環(huán)的開始前被執(zhí)行(首次循環(huán)時,首先執(zhí)行表達(dá)式1,再執(zhí)行表達(dá)式2),若其值為真,則執(zhí)行循環(huán)體;否則,跳出循環(huán)。若在第一次執(zhí)行該表達(dá)式時其值為假,則循環(huán)體將一次也不執(zhí)行。③表達(dá)式3在每次執(zhí)行循環(huán)體后被執(zhí)行,主要用于修改循環(huán)變量,從而使表達(dá)式2的值有可能發(fā)生改變,否則將陷入死循環(huán)。2.3流程控制【例2-13】for語句的使用。求從1加到100的和,即1+2+…+100。2.3流程控制publicclassExample2_13{ publicstaticvoidmain(Stringargs[]){ inti,n=100; intsum=0; for(i=1;i<=n;i++){ sum=sum+i; } System.out.println("Sum=1+2+...+100="+sum); }}【例2-14】for語句的使用。求從1加到100的和,即求1+2+…+100,并且逆序輸出從100到1的和,即求100+99+98+…+2+1。2.3流程控制publicclassExample2_14{ publicstaticvoidmain(Stringargs[]){ inti,n=100; intsum=0; for(i=1;i<=n;i++){sum=sum+i;} System.out.println("\nSum=1+2+...+100="+sum); sum=0; System.out.print("Sum="); for(i=n;i>1;i--){ sum=sum+i; System.out.print(i+"+"); } System.out.println(i+"="+(sum+i)); }}【例2-15】for語句的使用。求1-100之間的所有素?cái)?shù)。2.3流程控制publicclassExample2_15{ publicstaticvoidmain(S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論