




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章Java編程基礎(chǔ)???Java的基本語(yǔ)法格式(3)Java語(yǔ)言中的常量與變量(3)Java語(yǔ)言運(yùn)算符的使用(4)???Java程序的流程控制(5)Java中方法的定義與使用(6)Java中數(shù)組的定義與使用(6)學(xué)習(xí)目標(biāo)1掌握J(rèn)ava基本語(yǔ)法、常量、變量、流程控制語(yǔ)句、方法以及數(shù)組掌握了解java代碼的熟悉Java運(yùn)算符的使用3基本格式2目錄Java的基本語(yǔ)法?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)Java中的變量?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)Java中的運(yùn)算符?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)商城庫(kù)存清單程序設(shè)計(jì)選擇結(jié)構(gòu)語(yǔ)句?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)循環(huán)結(jié)構(gòu)語(yǔ)句?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)猜數(shù)字游戲方法?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)數(shù)組?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)隨機(jī)點(diǎn)名器?點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu)2.1Java的基本語(yǔ)法Java代碼的基本格式
Java中的程序代碼都必須放在一個(gè)類(lèi)中。類(lèi)需要使用class關(guān)鍵字定義,在class前面可以有一些修飾符,格式如下:2.1Java的基本語(yǔ)法
在編寫(xiě)Java代碼時(shí),需要特別注意下列幾個(gè)關(guān)鍵點(diǎn):?(1)Java中的程序代碼可分為結(jié)構(gòu)定義語(yǔ)句和功能執(zhí)行語(yǔ)句,其中,結(jié)構(gòu)定義語(yǔ)句用于聲明一個(gè)類(lèi)或方法,功能執(zhí)行語(yǔ)句用于實(shí)現(xiàn)具體的功能。每條功能執(zhí)行語(yǔ)句的最后都必須用分號(hào)(;)結(jié)束。?(2)Java語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)。例如,定義一個(gè)類(lèi)時(shí),Computer和computer是兩個(gè)完全不同的符號(hào),在使用時(shí)務(wù)必注意。2.1Java的基本語(yǔ)法?(3)雖然Java沒(méi)有嚴(yán)格要求用什么樣的格式來(lái)編排程序代碼,但是,出于可讀性的考慮,應(yīng)該讓自己編寫(xiě)的程序代碼整齊美觀、層次清晰。以下兩種方式都可以,但是建議使用后一種。–方式一:–方式二:2.1Java的基本語(yǔ)法?(4)Java程序中一句連續(xù)的字符串不能分開(kāi)在兩行中書(shū)寫(xiě),例如,下面這條語(yǔ)句在編譯時(shí)將會(huì)出錯(cuò):?如果為了便于閱讀,想將一個(gè)太長(zhǎng)的字符串分在兩行中書(shū)寫(xiě),可以先將這個(gè)字符串分成兩個(gè)字符串,然后用加號(hào)(+)將這兩個(gè)字符串連起來(lái),在加號(hào)(+)處斷行,上面的語(yǔ)句可以修改成如下形式:2.1Java的基本語(yǔ)法Java中的注釋在編寫(xiě)程序時(shí),為了使代碼易于閱讀,通常會(huì)在實(shí)現(xiàn)功能的同時(shí)為代碼加一些注釋。注釋是對(duì)程序的某個(gè)功能或者某行代碼的解釋說(shuō)明,它只在Java源文件中有效,在編譯程序時(shí)編譯器會(huì)忽略這些注釋信息,不會(huì)將其編譯到class字節(jié)碼文件中去。2.1Java的基本語(yǔ)法Java中的注釋有三種類(lèi)型,具體如下:?單行注釋?zhuān)和ǔS糜趯?duì)程序中的某一行代碼進(jìn)行解釋?zhuān)梅?hào)“//”表示,“//”后面為被注釋的內(nèi)容,具體示例如下:?多行注釋?zhuān)侯櫭剂x就是在注釋中的內(nèi)容可以為多行,它以符號(hào)“/*”開(kāi)頭,以符號(hào)“*/”結(jié)尾,多行注釋具體示例如下:?文檔注釋?zhuān)阂浴?**”開(kāi)頭,并在注釋內(nèi)容末尾以“*/”結(jié)束。2.1Java的基本語(yǔ)法Java中的標(biāo)識(shí)符在編程過(guò)程中,經(jīng)常需要在程序中定義一些符號(hào)來(lái)標(biāo)記一些名稱,如,包名、類(lèi)名、方法名、參數(shù)名、變量名等,這些符號(hào)被稱為標(biāo)識(shí)符。標(biāo)識(shí)符可以由任意順序的大小寫(xiě)字母、數(shù)字、下劃線(_)和美元符號(hào)($)組成,但不能以數(shù)字開(kāi)頭,不能是Java中的關(guān)鍵字。2.1Java的基本語(yǔ)法建議初學(xué)者在定義標(biāo)識(shí)符時(shí)還應(yīng)該遵循以下規(guī)則:???1、包名所有字母一律小寫(xiě)。例如:cn.itcast.test。2、類(lèi)名和接口名每個(gè)單詞的首字母都要大寫(xiě)。如:ArrayList、Iterator。3、常量名所有字母都大寫(xiě),單詞之間用下劃線連接。例如:DAY_OF_MONTH。4、變量名和方法名的第一個(gè)單詞首字母小寫(xiě),從第二個(gè)單詞開(kāi)始每個(gè)單詞首字母大寫(xiě)。例如:lineNumber、getLineNumber。5、在程序中,應(yīng)該盡量使用有意義的英文單詞來(lái)定義標(biāo)識(shí)符,使得程序便于閱讀。例如使用userName表示用戶名,password表示密碼。??2.1Java的基本語(yǔ)法Java中的關(guān)鍵字關(guān)鍵字是編程語(yǔ)言里事先定義好并賦予了特殊含義的單詞,也稱作保留字。和其它語(yǔ)言一樣,Java中保留了許多關(guān)鍵字,例如,class、public等,下面列舉的是Java中所有的關(guān)鍵字。2.1Java的基本語(yǔ)法Java中的常量常量就是在程序中固定不變的值,是不能改變的數(shù)據(jù)。在Java中,常量包括整型常量、浮點(diǎn)數(shù)常量、布爾常量、字符常量等。2.1Java的基本語(yǔ)法1、整型常量
整型常量是整數(shù)類(lèi)型的數(shù)據(jù),它的表現(xiàn)形式有四種,具體如下:?二進(jìn)制:由數(shù)字0和1組成的數(shù)字序列,如:00110101。?八進(jìn)制:以0開(kāi)頭并且其后由0~7范圍(包括0和7)內(nèi)的整數(shù)組成的數(shù)字序列,如:0342。?十進(jìn)制:由數(shù)字0~9范圍(包括0和9)內(nèi)的整數(shù)組成的數(shù)字序列。如:198。整數(shù)以十進(jìn)制表示時(shí),第一位不能是0,0本身除外?十六進(jìn)制:以0x或者0X開(kāi)頭并且其后由0~9、A~F(包括0和9、A和F)組成的數(shù)字序列,如0x25AF。2.1Java的基本語(yǔ)法2、浮點(diǎn)數(shù)常量
浮點(diǎn)數(shù)常量就是在數(shù)學(xué)中用到的小數(shù),分為float單精度浮點(diǎn)數(shù)和double雙精度浮點(diǎn)數(shù)兩種類(lèi)型。其中,單精度浮點(diǎn)數(shù)后面以F或f結(jié)尾,而雙精度浮點(diǎn)數(shù)則以D或d結(jié)尾。當(dāng)然,在使用浮點(diǎn)數(shù)時(shí)也可以在結(jié)尾處不加任何的后綴,此時(shí)虛擬機(jī)會(huì)默認(rèn)為double雙精度浮點(diǎn)數(shù)。浮點(diǎn)數(shù)常量還可以通過(guò)指數(shù)形式來(lái)表示。具體示例如下:
上述列出的浮點(diǎn)數(shù)常量中用到的e和f,初學(xué)者可能會(huì)感到困惑,在后面的2.2.2小節(jié)中將會(huì)詳細(xì)介紹。2.1Java的基本語(yǔ)法3、字符常量
字符常量用于表示一個(gè)字符,一個(gè)字符常量要用一對(duì)英文半角格式的單引號(hào)('')引起來(lái),它可以是英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、以及由轉(zhuǎn)義序列來(lái)表示的特殊字符。具體示例如下:
上面的示例中,'\u0000'表示一個(gè)空白字符,即在單引號(hào)之間沒(méi)有任何字符。之所以能這樣表示是因?yàn)?,Java采用的是Unicode字符集,Unicode字符以\u開(kāi)頭,空白字符在Unicode碼表中對(duì)應(yīng)的值為'\u0000'。2.1Java的基本語(yǔ)法4、字符串常量
字符串常量用于表示一串連續(xù)的字符,一個(gè)字符串常量要用一對(duì)英文半角格式的雙引號(hào)("")引起來(lái),具體示例如下:
一個(gè)字符串可以包含一個(gè)字符或多個(gè)字符,也可以不包含任何字符,即長(zhǎng)度為零。2.1Java的基本語(yǔ)法5、布爾常量
布爾常量即布爾型的兩個(gè)值true和false,該常量用于區(qū)分一個(gè)事物的真與假。6、null常量
null常量只有一個(gè)值null,表示對(duì)象的引用為空。關(guān)于null常量將會(huì)在第三章中詳細(xì)介紹。多學(xué)一招
十進(jìn)制轉(zhuǎn)二進(jìn)制?十進(jìn)制轉(zhuǎn)換成二進(jìn)制就是一個(gè)除以2取余數(shù)的過(guò)程。把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù),將商繼續(xù)除以2,直到商為0。最后將所有余數(shù)倒序排列,得到數(shù)就是轉(zhuǎn)換結(jié)果。?三次除以2計(jì)算得到余數(shù)依次是:0、1、1,將所有余數(shù)倒序排列是:110。所以十進(jìn)制的6轉(zhuǎn)換成二進(jìn)制,結(jié)果是110。多學(xué)一招
二進(jìn)制轉(zhuǎn)十進(jìn)制?要從右到左用二進(jìn)制位上的每個(gè)數(shù)去乘以2的相應(yīng)次方。2.2Java中的變量變量的定義在程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會(huì)將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來(lái)標(biāo)識(shí)。這些內(nèi)存單元我們稱之為變量,定義的標(biāo)識(shí)符就是變量名,內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)就是變量的值。右邊的代碼中,第一行代碼的作用是定義了兩個(gè)變量x和y,也就相當(dāng)于分配了兩塊內(nèi)存單元,在定義變量的同時(shí)為變量x分配了一個(gè)初始值0,而變量y沒(méi)有分配初始值,變量x和y在內(nèi)存中的狀態(tài)如圖所示。2.2Java中的變量在程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會(huì)將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來(lái)標(biāo)識(shí)。這些內(nèi)存單元我們稱之為變量,定義的標(biāo)識(shí)符就是變量名,內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)就是變量的值。右邊第二行代碼的作用是為變量賦值,在執(zhí)行第二行代碼時(shí),程序首先取出變量x的值,與3相加后,將結(jié)果賦值給變量y,此時(shí)變量x和y在內(nèi)存中的狀態(tài)發(fā)生了變化,如圖所示。2.2Java中的變量變量的數(shù)據(jù)類(lèi)型Java是一門(mén)強(qiáng)類(lèi)型的編程語(yǔ)言,它對(duì)變量的數(shù)據(jù)類(lèi)型有嚴(yán)格的限定。在定義變量時(shí)必須聲明變量的類(lèi)型,在為變量賦值時(shí)必須賦予和變量同一種類(lèi)型的值,否則程序會(huì)報(bào)錯(cuò)。2.2Java中的變量1、整數(shù)類(lèi)型變量
用來(lái)存儲(chǔ)整數(shù)數(shù)值,即沒(méi)有小數(shù)部分的值。
整數(shù)類(lèi)型分為4種不同的類(lèi)型:字節(jié)型(byte)、短整型(short)、整型(int)和長(zhǎng)整型(long)。
占用空間指的是不同類(lèi)型的變量分別占用的內(nèi)存大小
取值范圍是變量存儲(chǔ)的值不能超出的范圍2.2Java中的變量為一個(gè)long類(lèi)型的變量賦值時(shí)需要注意一點(diǎn),所賦值的后面要加上一個(gè)字母“L”(或小寫(xiě)“l(fā)”),說(shuō)明賦值為long類(lèi)型。如果賦的值未超出int型的取值范圍,則可以省略字母“L”(或小寫(xiě)“l(fā)”)。2.2Java中的變量2、浮點(diǎn)數(shù)類(lèi)型變量
浮點(diǎn)數(shù)類(lèi)型變量用來(lái)存儲(chǔ)小數(shù)數(shù)值。
浮點(diǎn)數(shù)類(lèi)型分為兩種:?jiǎn)尉雀↑c(diǎn)數(shù)(float)、雙精度浮點(diǎn)數(shù)(double),double型所表示的浮點(diǎn)數(shù)比f(wàn)loat型更精確。
在取值范圍中,E表示以10為底的指數(shù),E后面的“+”號(hào)和“-”號(hào)代表正指數(shù)和負(fù)指數(shù),例如1.4E-45表示1.4*10-45。2.2Java中的變量
在為一個(gè)float類(lèi)型的變量賦值時(shí)需要注意一點(diǎn),所賦值的后面一定要加上字母“F”(或“f”),而為double類(lèi)型的變量賦值時(shí),可以在所賦值的后面加上字符“D”(或“d”),也可不加。
在程序中也可以為一個(gè)浮點(diǎn)數(shù)類(lèi)型變量賦予一個(gè)整數(shù)數(shù)值.2.2Java中的變量3、字符類(lèi)型變量用于存儲(chǔ)一個(gè)單一字符,在Java中用char表示。每個(gè)char類(lèi)型的字符變量都會(huì)占用2個(gè)字節(jié)。賦值時(shí),要用英文半角格式的單引號(hào)('')把字符括起來(lái),如'a',也可以賦值為0~65535范圍內(nèi)的整數(shù),計(jì)算機(jī)會(huì)自動(dòng)將這些整數(shù)轉(zhuǎn)化為所對(duì)應(yīng)的字符,如數(shù)值97對(duì)應(yīng)的字符為'a'。2.2Java中的變量4、布爾類(lèi)型變量布爾類(lèi)型變量用來(lái)存儲(chǔ)布爾值,在Java中用boolean表示,該類(lèi)型的變量只有兩個(gè)值,即true和false。具體示例如下:2.2Java中的變量變量的類(lèi)型轉(zhuǎn)換當(dāng)把一種數(shù)據(jù)類(lèi)型的值賦給另一種數(shù)據(jù)類(lèi)型的變量時(shí),需要進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換。根據(jù)轉(zhuǎn)換方式的不同,數(shù)據(jù)類(lèi)型轉(zhuǎn)換可分為兩種:自動(dòng)類(lèi)型轉(zhuǎn)換和強(qiáng)制類(lèi)型轉(zhuǎn)換。2.2Java中的變量1、自動(dòng)類(lèi)型轉(zhuǎn)換也叫隱式類(lèi)型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類(lèi)型在轉(zhuǎn)換的過(guò)程中不需要顯式地進(jìn)行聲明。要實(shí)現(xiàn)自動(dòng)類(lèi)型轉(zhuǎn)換,必須同時(shí)滿足兩個(gè)條件,?第一是兩種數(shù)據(jù)類(lèi)型彼此兼容,?第二是目標(biāo)類(lèi)型的取值范圍大于源類(lèi)型的取值范圍。2.2Java中的變量(1)整數(shù)類(lèi)型之間可以實(shí)現(xiàn)轉(zhuǎn)換,如byte類(lèi)型的數(shù)據(jù)可以賦值給short、int、long類(lèi)型的變量,short、char類(lèi)型的數(shù)據(jù)可以賦值給int、long類(lèi)型的變量,int類(lèi)型的數(shù)據(jù)可以賦值給long類(lèi)型的變量(2)整數(shù)類(lèi)型轉(zhuǎn)換為float類(lèi)型,如byte、char、short、int類(lèi)型的數(shù)據(jù)可以賦值給float類(lèi)型的變量。(3)其它類(lèi)型轉(zhuǎn)換為double類(lèi)型,如byte、char、short、int、long、float類(lèi)型的數(shù)據(jù)可以賦值給double類(lèi)型的變量。2.2Java中的變量2、強(qiáng)制類(lèi)型轉(zhuǎn)換
強(qiáng)制類(lèi)型轉(zhuǎn)換也叫顯式類(lèi)型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換需要進(jìn)行顯式地聲明。
當(dāng)兩種類(lèi)型彼此不兼容,或者目標(biāo)類(lèi)型取值范圍小于源類(lèi)型時(shí),自動(dòng)類(lèi)型轉(zhuǎn)換無(wú)法進(jìn)行,這時(shí)就需要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。
強(qiáng)制類(lèi)型轉(zhuǎn)換的格式如下所示:2.3Java中的運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符就是用來(lái)處理四則運(yùn)算的符號(hào),這是最簡(jiǎn)單、最常用的運(yùn)算符號(hào)。2.3Java中的運(yùn)算符算術(shù)運(yùn)算符看上去比較簡(jiǎn)單,也很容易理解,但在實(shí)際使用時(shí)有很多需要注意的問(wèn)題,具體如下:?(1)在進(jìn)行自增(++)和自減(--)的運(yùn)算時(shí),如果運(yùn)算符放在操作數(shù)的前面則是先進(jìn)行自增或自減運(yùn)算,再進(jìn)行其它運(yùn)算。反之,如果運(yùn)算符放在操作數(shù)的后面則是先進(jìn)行其它運(yùn)算再進(jìn)行自增或自減運(yùn)算。?(2)在進(jìn)行除法運(yùn)算時(shí),當(dāng)除數(shù)和被除數(shù)都為整數(shù)時(shí),得到的結(jié)果也是一個(gè)整數(shù)。如果除法運(yùn)算有小數(shù)參與,得到的結(jié)果會(huì)是一個(gè)小數(shù)。?(3)在進(jìn)行取模(%)運(yùn)算時(shí),運(yùn)算結(jié)果的正負(fù)取決于被模數(shù)(%左邊的數(shù))的符號(hào),與模數(shù)(%右邊的數(shù))的符號(hào)無(wú)關(guān)。2.3Java中的運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符的作用就是將常量、變量或表達(dá)式的值賦給某一個(gè)變量,表中列出了Java中的賦值運(yùn)算符及用法。2.3Java中的運(yùn)算符賦值運(yùn)算符在賦值運(yùn)算符的使用中,需要注意以下幾個(gè)問(wèn)題:?(1)在Java中可以通過(guò)一條賦值語(yǔ)句對(duì)多個(gè)變量進(jìn)行賦值?(2)除了“=”,其它的都是特殊的賦值運(yùn)算符,以“+=”為例,x+=3就相當(dāng)于x=x+3,首先會(huì)進(jìn)行加法運(yùn)算x+3,再將運(yùn)算結(jié)果賦值給變量x。-=、*=、/=、%=賦值運(yùn)算符都可依此類(lèi)推。2.3Java中的運(yùn)算符多學(xué)一招在為變量賦值時(shí),當(dāng)兩種類(lèi)型彼此不兼容,或者目標(biāo)類(lèi)型取值范圍小于源類(lèi)型時(shí),需要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。然而在使用+=、-=、*=、/=、%=運(yùn)算符進(jìn)行賦值時(shí),強(qiáng)制類(lèi)型轉(zhuǎn)換會(huì)自動(dòng)完成,程序不需要做任何顯式地聲明。2.3Java中的運(yùn)算符比較運(yùn)算符
比較運(yùn)算符用于對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較,其結(jié)果是一個(gè)布爾值,即true或false。
比較運(yùn)算符在使用時(shí)需要注意一個(gè)問(wèn)題,不能將比較運(yùn)算符“==”誤寫(xiě)成賦值運(yùn)算符“=”。2.3Java中的運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符用于對(duì)布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果仍是一個(gè)布爾型。2.3Java中的運(yùn)算符
在使用邏輯運(yùn)算符的過(guò)程中,需要注意以下幾個(gè)細(xì)節(jié):?(1)邏輯運(yùn)算符可以針對(duì)結(jié)果為布爾值的表達(dá)式進(jìn)行運(yùn)算。如:x>3&&y!=0。?(2)運(yùn)算符“&”和“&&”都表示與操作,當(dāng)且僅當(dāng)運(yùn)算符兩邊的操作數(shù)都為true時(shí),其結(jié)果才為true,否則結(jié)果為false。當(dāng)運(yùn)算符“&”和“&&”的右邊為表達(dá)式時(shí),兩者在使用上還有一定的區(qū)別。在使用“&”進(jìn)行運(yùn)算時(shí),不論左邊為true或者false,右邊的表達(dá)式都會(huì)進(jìn)行運(yùn)算。如果使用“&&”進(jìn)行運(yùn)算,當(dāng)左邊為false時(shí),右邊的表達(dá)式不會(huì)進(jìn)行運(yùn)算,因此“&&”被稱作短路與。案例代碼為了深入了解&和&&的區(qū)別,接下來(lái),通過(guò)一個(gè)案例來(lái)演示這兩者的區(qū)別,請(qǐng)查看教材文件2-6。2.3Java中的運(yùn)算符?(3)運(yùn)算符“|”和“||”都表示或操作,當(dāng)運(yùn)算符兩邊的操作數(shù)任何一邊的值為true時(shí),其結(jié)果為true,當(dāng)兩邊的值都為false時(shí),其結(jié)果才為false。同與操作類(lèi)似,“||”表示短路或,當(dāng)運(yùn)算符“||”的左邊為true時(shí),右邊的表達(dá)式不會(huì)進(jìn)行運(yùn)算。(4)運(yùn)算符“^”表示異或操作,當(dāng)運(yùn)算符兩邊的布爾值相同時(shí)(都為true或都為false),其結(jié)果為false。當(dāng)兩邊布爾值不相同時(shí),其結(jié)果為true。?2.3Java中的運(yùn)算符運(yùn)算符的優(yōu)先級(jí)在對(duì)一些比較復(fù)雜的表達(dá)式進(jìn)行運(yùn)算時(shí),要明確表達(dá)式中所有運(yùn)算符參與運(yùn)算的先后順序,把這種順序稱作運(yùn)算符的優(yōu)先級(jí)?!救蝿?wù)2-1】商城庫(kù)存清單程序設(shè)計(jì)案例代碼任務(wù)案例接下來(lái),通過(guò)一個(gè)商城庫(kù)存清單程序設(shè)計(jì)來(lái)熟悉本階段的知識(shí)點(diǎn)。2.4選擇結(jié)構(gòu)語(yǔ)句if條件語(yǔ)句if條件語(yǔ)句分為三種語(yǔ)法格式,具體如下:???由于這三種語(yǔ)法格式都有自身的特點(diǎn),因此,接下來(lái)將針對(duì)這三(1)if語(yǔ)句(2)if…else語(yǔ)句(3)if…elseif…else語(yǔ)句種格式進(jìn)行詳細(xì)地講解。2.4選擇結(jié)構(gòu)語(yǔ)句1、if語(yǔ)句:
if語(yǔ)句是指如果滿足某種條件,就進(jìn)行某種處理,其語(yǔ)法格式如下所示:
上述語(yǔ)法格式中,判斷條件是一個(gè)布爾值,當(dāng)值為true時(shí),才會(huì)執(zhí)行{}中的語(yǔ)句。2.4選擇結(jié)構(gòu)語(yǔ)句if語(yǔ)句的執(zhí)行流程如下圖所示。判斷條件true執(zhí)行語(yǔ)句false案例代碼對(duì)if語(yǔ)句有所了解后,接下來(lái),通過(guò)一個(gè)案例來(lái)學(xué)習(xí)if語(yǔ)句的具體用法,請(qǐng)查看教材文件2-8。2.4選擇結(jié)構(gòu)語(yǔ)句2、if…else語(yǔ)句
if…else語(yǔ)句是指如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理,其語(yǔ)法格式如下所示:2.4選擇結(jié)構(gòu)語(yǔ)句
if…else語(yǔ)句的執(zhí)行流程如下圖所示。判斷條件truefalse執(zhí)行語(yǔ)句1執(zhí)行語(yǔ)句2案例代碼接下來(lái),通過(guò)一個(gè)案例來(lái)實(shí)現(xiàn)判斷奇偶數(shù)的程序,請(qǐng)查看教材文件2-9。多學(xué)一招
在Java中有一種特殊的運(yùn)算叫做三元運(yùn)算,它和if-else語(yǔ)句類(lèi)似,語(yǔ)法如下:
三元運(yùn)算通常用于對(duì)某個(gè)變量進(jìn)行賦值,當(dāng)判斷條件成立時(shí),運(yùn)算結(jié)果為表達(dá)式1的值,否則結(jié)果為表達(dá)式2的值。等價(jià)于2.4選擇結(jié)構(gòu)語(yǔ)句3、if…elseif…else語(yǔ)句
if…elseif…else語(yǔ)句用于對(duì)多個(gè)條件進(jìn)行判斷,進(jìn)行多種不同的處理,其語(yǔ)法格式如下所示:2.4選擇結(jié)構(gòu)語(yǔ)句
if…elseif…else語(yǔ)句的執(zhí)行流程如下圖所示:true判斷條件1false執(zhí)行語(yǔ)句1true判斷條件2false執(zhí)行語(yǔ)句2true......false......true判斷條件nfalse執(zhí)行語(yǔ)句n執(zhí)行語(yǔ)句n+1案例代碼接下來(lái),通過(guò)一個(gè)案例來(lái)實(shí)現(xiàn)對(duì)學(xué)生考試成績(jī)等價(jià)劃分的程序,請(qǐng)查看教材文件2-10。2.4選擇結(jié)構(gòu)語(yǔ)句switch條件語(yǔ)句switch語(yǔ)句也是一種很常見(jiàn)的選擇語(yǔ)句。和if條件語(yǔ)句不同,它只能針對(duì)某個(gè)表達(dá)式的值做出判斷,從而決定執(zhí)行哪一段代碼。在switch語(yǔ)句中,使用switch關(guān)鍵字來(lái)描述一個(gè)表達(dá)式,使用case關(guān)鍵字來(lái)描述和表達(dá)式結(jié)果比較的目標(biāo)值,當(dāng)表達(dá)式的值和某個(gè)目標(biāo)值匹配時(shí),會(huì)執(zhí)行對(duì)應(yīng)case下的語(yǔ)句,switch語(yǔ)句的基本語(yǔ)法結(jié)果如右圖所示。2.4選擇結(jié)構(gòu)語(yǔ)句例如,在程序中使用數(shù)字1~7表示周一到周日,如果想根據(jù)某個(gè)輸入的數(shù)字輸出中文格式的星期值,可以通過(guò)右邊所示的代碼來(lái)實(shí)現(xiàn)。2.4選擇結(jié)構(gòu)語(yǔ)句需要注意的是,在switch語(yǔ)句中的表達(dá)式只能是byte、short、char、int、枚舉(JDK1.5引入的)、String類(lèi)型(JDK1.7引入的)的值,如果傳入其他值,程序會(huì)報(bào)錯(cuò)。案例代碼通過(guò)一個(gè)案例演示根據(jù)數(shù)字來(lái)輸出中文格式的星期,請(qǐng)查看教材文件2-11。2.4選擇結(jié)構(gòu)語(yǔ)句在使用switch語(yǔ)句的過(guò)程中,如果多個(gè)case條件后面的執(zhí)行語(yǔ)句是一樣的,則該執(zhí)行語(yǔ)句只需書(shū)寫(xiě)一次即可。例如,要判斷一周中的某一天是否為工作日,同樣使用數(shù)字1~7來(lái)表示星期一到星期天,當(dāng)輸入的數(shù)字為1、2、3、4、5時(shí)就視為工作日,否則就視為休息日。案例代碼通過(guò)一個(gè)案例來(lái)實(shí)現(xiàn)上面描述的情況,請(qǐng)查看教材文件2-12。2.4選擇結(jié)構(gòu)語(yǔ)句while循環(huán)語(yǔ)句while語(yǔ)句和if條件語(yǔ)句有點(diǎn)類(lèi)似,都是根據(jù)條件判斷來(lái)決定是否執(zhí)行后面的代碼,區(qū)別在于,while循環(huán)語(yǔ)句會(huì)反復(fù)地進(jìn)行條件判斷,只要條件成立,{}內(nèi)的執(zhí)行語(yǔ)句就會(huì)執(zhí)行,直到條件不成立,while循環(huán)結(jié)束。while循環(huán)語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下所示:2.4選擇結(jié)構(gòu)語(yǔ)句while循環(huán)語(yǔ)句的執(zhí)行流程如下圖所示。案例代碼接下來(lái),通過(guò)一個(gè)案例來(lái)打印1~4之間的自然數(shù),請(qǐng)查看教材文件2-13。2.5循環(huán)結(jié)構(gòu)語(yǔ)句do...while循環(huán)語(yǔ)句do…while循環(huán)語(yǔ)句和while循環(huán)語(yǔ)句功能類(lèi)似,其語(yǔ)法結(jié)構(gòu)如下所示:2.5循環(huán)結(jié)構(gòu)語(yǔ)句
do…while循環(huán)語(yǔ)句的執(zhí)行流程如下圖所示。案例代碼接下來(lái),使用do…while循環(huán)語(yǔ)句實(shí)現(xiàn)1~4自然數(shù)的打印,請(qǐng)查看教材文件2-14。2.5循環(huán)結(jié)構(gòu)語(yǔ)句for循環(huán)語(yǔ)句
for循環(huán)語(yǔ)句是最常用的循環(huán)語(yǔ)句,一般用在循環(huán)次數(shù)已知的情況下,其語(yǔ)法格式如下所示:
在上述語(yǔ)法格式中,for后面的()中包括三部分內(nèi)容,初始化表達(dá)式、循環(huán)條件和操作表達(dá)式,它們之間用“;”分隔,{}中的執(zhí)行語(yǔ)句為循環(huán)體2.5循環(huán)結(jié)構(gòu)語(yǔ)句如果用①表示初始化表達(dá)式、②表示循環(huán)條件、③表示操作表達(dá)式、④表示循環(huán)體,則for循環(huán)的執(zhí)行流程如下所示:案例代碼通過(guò)一個(gè)案例實(shí)現(xiàn)對(duì)自然數(shù)1~4進(jìn)行求和,請(qǐng)查看教材文件2-15。2.5循環(huán)結(jié)構(gòu)語(yǔ)句循環(huán)嵌套嵌套循環(huán)是指在一個(gè)循環(huán)語(yǔ)句的循環(huán)體中再定義一個(gè)循環(huán)語(yǔ)句的語(yǔ)法結(jié)構(gòu)。while、do…while、for循環(huán)語(yǔ)句都可以進(jìn)行嵌套,并且它們之間也可以互相嵌套,如最常見(jiàn)的在for循環(huán)中嵌套for循環(huán),格式如下:案例代碼接下來(lái),通過(guò)一個(gè)案例來(lái)實(shí)現(xiàn)使用“*”打印直角三角形,請(qǐng)查看教材文件2-16。2.5循環(huán)結(jié)構(gòu)語(yǔ)句跳轉(zhuǎn)語(yǔ)句(break、continue)跳轉(zhuǎn)語(yǔ)句用于實(shí)現(xiàn)循環(huán)執(zhí)行過(guò)程中程序流程的跳轉(zhuǎn),在Java中的跳轉(zhuǎn)語(yǔ)句有break語(yǔ)句和continue語(yǔ)句?1、break語(yǔ)句:用在switch條件語(yǔ)句和循環(huán)語(yǔ)句中,它的作用是終止某個(gè)case并跳出switch結(jié)構(gòu)。?2、continue語(yǔ)句:用在循環(huán)語(yǔ)句中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)2.5循環(huán)結(jié)構(gòu)語(yǔ)句案例代碼接下來(lái),通過(guò)一個(gè)案例來(lái)演示break語(yǔ)句的作用,請(qǐng)查看教材文件2-17。當(dāng)break語(yǔ)句出現(xiàn)在嵌套循環(huán)的內(nèi)層時(shí),它只能跳出內(nèi)層循環(huán),如果想跳出外層循環(huán),則需要對(duì)外層循環(huán)添加標(biāo)記。接下來(lái),通過(guò)一個(gè)案例來(lái)演示,請(qǐng)查看教材文件2-18。接下來(lái),通過(guò)一個(gè)案例來(lái)演示continue語(yǔ)句的作用,請(qǐng)查看教材文件2-19?!救蝿?wù)2-2】猜數(shù)字游戲案例代碼任務(wù)案例接下來(lái),通過(guò)一個(gè)猜數(shù)字游戲,來(lái)熟悉本階段的知識(shí)點(diǎn),請(qǐng)查看教材【任務(wù)2-2】。2.6方法什么是方法假設(shè)有一個(gè)游戲程序,程序在運(yùn)行過(guò)程中,要不斷地發(fā)射炮彈。發(fā)射炮彈的動(dòng)作需要編寫(xiě)100行的代碼,在每次實(shí)現(xiàn)發(fā)射炮彈的地方都需要重復(fù)地編寫(xiě)這100行代碼,這樣程序會(huì)變得很臃腫,可讀性也非常差。為了解決代碼重復(fù)編寫(xiě)的問(wèn)題,可以將發(fā)射炮彈的代碼提取出來(lái)放在一個(gè){}中,并為這段代碼起個(gè)名字,這樣在每次發(fā)射炮彈的地方通過(guò)這個(gè)名字來(lái)調(diào)用發(fā)射炮彈的代碼就可以了。上述過(guò)程中,所提取出來(lái)的代碼可以被看作是程序中定義的一個(gè)方法,程序在需要發(fā)射炮彈時(shí)調(diào)用該方法即可。2.6方法案例代碼接下來(lái)通過(guò)一些案例來(lái)介紹方法在程序中起到的作用,先來(lái)看一下在不使用方法時(shí)如何實(shí)現(xiàn)打印三個(gè)長(zhǎng)寬不同的矩形,請(qǐng)查看教材文件2-21。2.6方法在Java中,聲明一個(gè)方法的具體語(yǔ)法格式如下所示:?修飾符:是對(duì)訪問(wèn)權(quán)限的限定,例如,public、static都是修飾符?返回值類(lèi)型:用于限定方法返回值的數(shù)據(jù)類(lèi)型?參數(shù)類(lèi)型:用于限定調(diào)用方法時(shí)傳入?yún)?shù)的數(shù)據(jù)類(lèi)型?參數(shù)名:是一個(gè)變量,用于接收調(diào)用方法時(shí)傳入的數(shù)據(jù)?return關(guān)鍵字:用于結(jié)束方法以及返回方法指定類(lèi)型的值?返回值:被return語(yǔ)句返回的值,該值會(huì)返回調(diào)用者2.6方法案例代碼接下來(lái),定義一個(gè)打印矩形的方法,并在程序中調(diào)用三次完成三個(gè)矩形的打印,請(qǐng)查看教材文件2-22。接下來(lái),通過(guò)一個(gè)案例來(lái)演示方法中有返回值的情況,請(qǐng)查看教材文件2-23。2.6方法方法的重載案例代碼假設(shè)要在程序中實(shí)現(xiàn)一個(gè)對(duì)數(shù)字求和的方法,由于參與求和數(shù)字的個(gè)數(shù)和類(lèi)型都不確定,因此要針對(duì)不同的情況去設(shè)計(jì)不同的方法。接下來(lái)通過(guò)一個(gè)案例來(lái)演示,請(qǐng)查看教材文件2-24。2.6方法Java允許在一個(gè)程序中定義多個(gè)名稱相同的方法,但是參數(shù)的類(lèi)型或個(gè)數(shù)必須不同,這就是方法的重載。案例代碼接下來(lái),通過(guò)演示方法的重載,請(qǐng)查看教材文件2-25。2.7數(shù)組數(shù)組的定義數(shù)組是指一組數(shù)據(jù)的集合,數(shù)組中的每個(gè)元素被稱為元素,在數(shù)組中可以存放任意類(lèi)型的元素,但同一個(gè)數(shù)組中存放的元素類(lèi)型必須一致。在Java中,可以使用下列格式定義一個(gè)數(shù)組,具體示例如下:上述語(yǔ)句就相當(dāng)于在內(nèi)存中定義了100個(gè)int類(lèi)型的變量,第一個(gè)變量的名稱為x[0],第二個(gè)變量的名稱為x[1],以此類(lèi)推,第100個(gè)變量的名稱為x[99],這些變量的初始值都是0。2.7數(shù)組為了更好地理解數(shù)組的定義方式,可以把上述代碼定義為兩行來(lái)寫(xiě),具體如下:接下來(lái),通過(guò)兩張內(nèi)存圖來(lái)說(shuō)明數(shù)組在創(chuàng)建過(guò)程中的內(nèi)存分配情況,具體如下所示:內(nèi)存newint[100](0x3000數(shù)組的首地址)00…………X[0]X[1]int[]x0x300000X[98]X[99]2.7數(shù)組在Java中,為了方便我們獲得數(shù)組的長(zhǎng)度,提供了一個(gè)length屬性,在程序中可以通過(guò)“數(shù)組名.length”的方式來(lái)獲得數(shù)組的長(zhǎng)度,即元素的個(gè)數(shù)。案例代碼接下來(lái),通過(guò)一個(gè)案例來(lái)演示數(shù)組的定義及其數(shù)組的訪問(wèn),請(qǐng)查看教材文件2-26。2.7數(shù)組當(dāng)數(shù)組被成功創(chuàng)建后,數(shù)組中元素會(huì)被自動(dòng)賦予一個(gè)默認(rèn)值,根據(jù)元素類(lèi)型的不同,默認(rèn)初始化的值也是不一樣的。2.7數(shù)組案例代碼在使用數(shù)組時(shí),如果不想使用默認(rèn)初始值,也可以顯式地為數(shù)組元素賦值。接下來(lái),通過(guò)一個(gè)案例來(lái)學(xué)習(xí)如何為數(shù)組的元素賦值,請(qǐng)查看教材文件2-27。2.7數(shù)組在初始化數(shù)組時(shí)還有一種方式叫做靜態(tài)初始化,就是在定義數(shù)組的同時(shí)就為數(shù)組的每個(gè)元素賦值。數(shù)組的靜態(tài)初始化有兩種方式:案例代碼為了簡(jiǎn)便,建議采用其第二種方式。通過(guò)一個(gè)案例來(lái)演示數(shù)組靜態(tài)初始化的效果,請(qǐng)查看教材文件2-28。腳下留心案例代碼1、每個(gè)數(shù)組的索引都有一個(gè)范圍,即0~length-1。在訪問(wèn)數(shù)組的元素時(shí),索引不能超出這個(gè)范圍,否則程序會(huì)報(bào)錯(cuò)。通過(guò)一個(gè)案例來(lái)演示,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)驗(yàn)設(shè)備租賃合同
- 透明彩鋼瓦采購(gòu)合同協(xié)議
- 軟包定制工程合同協(xié)議
- 連鎖酒店經(jīng)營(yíng)合同協(xié)議
- 買(mǎi)方土地居間合同協(xié)議合同書(shū)
- 法律知識(shí)產(chǎn)權(quán)法試題集
- 路基路面檢測(cè)合同協(xié)議
- 道具修繕費(fèi)合同協(xié)議
- 邯鄲拆遷協(xié)議書(shū)范本
- 日劇戀愛(ài)協(xié)議書(shū)
- 炊事人員考試題及答案
- 社會(huì)主義發(fā)展簡(jiǎn)史智慧樹(shù)知到課后章節(jié)答案2023年下北方工業(yè)大學(xué)
- 建筑工程質(zhì)量檢測(cè)課件
- 計(jì)算機(jī)網(wǎng)絡(luò)的畢業(yè)設(shè)計(jì)(5篇)
- 溫泉度假設(shè)施造價(jià)預(yù)算
- 青少年創(chuàng)意編程試題
- RULES OF ORIGIN 原產(chǎn)地規(guī)則
- 國(guó)內(nèi)旅游出團(tuán)通知書(shū)(新版)
- LETTEROFINTENTION意向書(shū)范本
- 國(guó)內(nèi)各航空公司差異化服務(wù)
- 國(guó)家開(kāi)放大學(xué)《管理英語(yǔ)3》章節(jié)測(cè)試參考答案
評(píng)論
0/150
提交評(píng)論