Java基礎(chǔ)第2章課件_第1頁
Java基礎(chǔ)第2章課件_第2頁
Java基礎(chǔ)第2章課件_第3頁
Java基礎(chǔ)第2章課件_第4頁
Java基礎(chǔ)第2章課件_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二講Java編程基礎(chǔ)Java的基本語法格式Java語言中的常量與變量Java語言運(yùn)算符的使用Java程序的流程控制Java中方法的定義與使用Java中數(shù)組的定義與使用2.1Java的基本語法2.2Java中的變量2.3Java中的運(yùn)算符2.4選擇結(jié)構(gòu)語句2.5循環(huán)結(jié)構(gòu)語句2.5方法任務(wù)一:奇偶數(shù)判斷要求:給出一個(gè)整數(shù),編程判斷該數(shù)是奇數(shù)還是偶數(shù)定義一個(gè)變量判斷是奇數(shù)還是偶數(shù)輸出判斷結(jié)果知識(shí)點(diǎn):定義類定義變量運(yùn)算符If語句輸出第一步:定義類2.1.1定義類Java中的程序代碼都必須放在一個(gè)類中。類需要使用class關(guān)鍵字定義,在class前面可以有一些修飾符,格式如下:Java代碼關(guān)鍵點(diǎn)1、Java中的程序代碼可分為結(jié)構(gòu)定義語句和功能執(zhí)行語句,其中,結(jié)構(gòu)定義語句用于聲明一個(gè)類或方法,功能執(zhí)行語句用于實(shí)現(xiàn)具體的功能。每條功能執(zhí)行語句的最后都必須用分號(hào)(;)結(jié)束。2、Java語言是嚴(yán)格區(qū)分大小寫的。Java代碼關(guān)鍵點(diǎn)3、雖然Java沒有嚴(yán)格要求用什么樣的格式來編排程序代碼,但是,出于可讀性的考慮,應(yīng)該讓自己編寫的程序代碼整齊美觀、層次清晰。以下兩種方式都可以,但是建議使用后一種。Java代碼關(guān)鍵點(diǎn)4、Java程序中一句連續(xù)的字符串不能分開在兩行中書寫,例如,下面這條語句在編譯時(shí)將會(huì)出錯(cuò):如果為了便于閱讀,想將一個(gè)太長的字符串分在兩行中書寫,可以先將這個(gè)字符串分成兩個(gè)字符串,然后用加號(hào)(+)將這兩個(gè)字符串連起來,在加號(hào)(+)處斷行,上面的語句可以修改成如下形式:變量類型變量名[=變量初始值];第二步:定義變量2.1.3Java中的變量命名在編程過程中,經(jīng)常需要在程序中定義一些符號(hào)來標(biāo)記一些名稱,如,類名、包名、方法名、參數(shù)名、變量名等,這些符號(hào)被稱為標(biāo)識(shí)符。標(biāo)識(shí)符可以由任意順序的大小寫字母、數(shù)字、下劃線(_)和美元符號(hào)($)組成,但不能以數(shù)字開頭,不能是Java中的關(guān)鍵字。2.1Java的基本語法2.1.4Java中的關(guān)鍵字關(guān)鍵字是編程語言里事先定義好并賦予了特殊含義的單詞,也稱作保留字。和其它語言一樣,Java中保留了許多關(guān)鍵字,例如,class、public等,下面列舉的是Java中所有的關(guān)鍵字。所有的關(guān)鍵字都是小寫的。程序中的標(biāo)識(shí)符不能以關(guān)鍵字命名。2.1Java的基本語法2.1.3Java中的編程規(guī)范建議初學(xué)者在定義標(biāo)識(shí)符時(shí)還應(yīng)該遵循以下規(guī)則:1、包名所有字母一律小寫。例如:cn.it.test。2、類名和接口名每個(gè)單詞的首字母都要大寫。如:ArrayList、Iterator。3、常量名所有字母都大寫,單詞之間用下劃線連接。例如:DAY_OF_MONTH。4、變量名和方法名的第一個(gè)單詞首字母小寫,從第二個(gè)單詞開始每個(gè)單詞首字母大寫。例如:lineNumber、getLineNumber。5、在程序中,應(yīng)該盡量使用有意義的英文單詞來定義標(biāo)識(shí)符,使得程序便于閱讀。例如使用userName表示用戶名,password表示密碼。2.2Java中的變量2.2.2變量的數(shù)據(jù)類型Java是一門強(qiáng)類型的編程語言,它對變量的數(shù)據(jù)類型有嚴(yán)格的限定。在定義變量時(shí)必須聲明變量的類型,在為變量賦值時(shí)必須賦予和變量同一種類型的值,否則程序會(huì)報(bào)錯(cuò)。Java中的基本數(shù)據(jù)類型1、整數(shù)類型變量用來存儲(chǔ)整數(shù)數(shù)值,即沒有小數(shù)部分的值。整數(shù)類型分為4種不同的類型:字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)。占用空間指的是不同類型的變量分別占用的內(nèi)存大小取值范圍是變量存儲(chǔ)的值不能超出的范圍Java中的基本數(shù)據(jù)類型1、整數(shù)類型變量為一個(gè)long類型的變量賦值時(shí)需要注意一點(diǎn),所賦值的后面要加上一個(gè)字母“L”(或小寫“l(fā)”),說明賦值為long類型。如果賦的值未超出int型的取值范圍,則可以省略字母“L”(或小寫“l(fā)”)。Java中的基本數(shù)據(jù)類型2、浮點(diǎn)數(shù)類型變量浮點(diǎn)數(shù)類型變量用來存儲(chǔ)小數(shù)數(shù)值。浮點(diǎn)數(shù)類型分為兩種:單精度浮點(diǎn)數(shù)(float)、雙精度浮點(diǎn)數(shù)(double),double型所表示的浮點(diǎn)數(shù)比float型更精確。在取值范圍中,E表示以10為底的指數(shù),E后面的“+”號(hào)和“-”號(hào)代表正指數(shù)和負(fù)指數(shù),例如1.4E-45表示1.4*10-45。Java中的基本數(shù)據(jù)類型2、浮點(diǎn)數(shù)類型變量在為一個(gè)float類型的變量賦值時(shí)需要注意一點(diǎn),所賦值的后面一定要加上字母“F”(或“f”),而為double類型的變量賦值時(shí),可以在所賦值的后面加上字符“D”(或“d”),也可不加。在程序中也可以為一個(gè)浮點(diǎn)數(shù)類型變量賦予一個(gè)整數(shù)數(shù)值.Java中的基本數(shù)據(jù)類型3、字符類型變量用于存儲(chǔ)一個(gè)單一字符,在Java中用char表示。每個(gè)char類型的字符變量都會(huì)占用2個(gè)字節(jié)。賦值時(shí),要用英文半角格式的單引號(hào)('')把字符括起來,如'a',也可以賦值為0~65535范圍內(nèi)的整數(shù),計(jì)算機(jī)會(huì)自動(dòng)將這些整數(shù)轉(zhuǎn)化為所對應(yīng)的字符,如數(shù)值97對應(yīng)的字符為'a'。Java中的基本數(shù)據(jù)類型4、布爾類型變量布爾類型變量用來存儲(chǔ)布爾值,在Java中用boolean表示,該類型的變量只有兩個(gè)值,即true和false。具體示例如下:第三步:if語句(選擇結(jié)構(gòu)語句)Java中有一種特殊的語句叫做選擇語句,它也需要對一些條件作出判斷,從而決定執(zhí)行哪一段代碼。選擇語句分為if條件語句和switch條件語句。2.4.1if條件語句if條件語句分為三種語法格式,每一種格式都有其自身的特點(diǎn)。1、if語句:如果滿足某種條件,就進(jìn)行某種處理。2.4選擇結(jié)構(gòu)語句2.4.1if條件語句1、if語句:如果滿足某種條件,就進(jìn)行某種處理。上述格式中,判斷條件是一個(gè)布爾值,當(dāng)判斷條件為true時(shí),{}中的執(zhí)行語句才會(huì)執(zhí)行。2.4選擇結(jié)構(gòu)語句2.4.1if條件語句1、if語句:如果滿足某種條件,就進(jìn)行某種處理。2.4選擇結(jié)構(gòu)語句2.4.1if條件語句2、if…else語句:指如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理。2.4選擇結(jié)構(gòu)語句2.4.1if條件語句2、if…else語句:指如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理。多學(xué)一招在Java中有一種特殊的運(yùn)算叫做三元運(yùn)算,它和if-else語句類似,語法如下:三元運(yùn)算通常用于對某個(gè)變量進(jìn)行賦值,當(dāng)判斷條件成立時(shí),運(yùn)算結(jié)果為表達(dá)式1的值,否則結(jié)果為表達(dá)式2的值。2.4選擇結(jié)構(gòu)語句2.4.1if條件語句3、if…elseif…else語句:用于對多個(gè)條件進(jìn)行判斷,進(jìn)行多種不同的處理。2.4選擇結(jié)構(gòu)語句2.4.1if條件語句3、if…elseif…else語句第四步:輸出輸出到控制臺(tái)System.out.println();完成程序,并編譯、運(yùn)行任務(wù)二打印字母表要求:在控制臺(tái)打印出26個(gè)小寫字母表知識(shí)點(diǎn):定義類定義變量for循環(huán)類型轉(zhuǎn)換輸出第一步:定義類定義一個(gè)類Lower(包括主方法main())第二步:定義變量定義變量:charc=‘a(chǎn)';

第三步:for循環(huán)2.5.3for循環(huán)語句for循環(huán)語句是最常用的循環(huán)語句,一般用在循環(huán)次數(shù)已知的情況下。2.5循環(huán)結(jié)構(gòu)語句2.5.3for循環(huán)語句for關(guān)鍵字后面()中包括了三部分內(nèi)容:初始化表達(dá)式、循環(huán)條件和操作表達(dá)式,它們之間用“;”分隔,{}中的執(zhí)行語句為循環(huán)體。接下來分別用①表示初始化表達(dá)式、②表示循環(huán)條件、③表示操作表達(dá)式、④表示循環(huán)體,通過序號(hào)來具體分析for循環(huán)的執(zhí)行流程。2.5循環(huán)結(jié)構(gòu)語句2.5.3for循環(huán)語句2.5循環(huán)結(jié)構(gòu)語句2.5.3for循環(huán)語句為了讓初學(xué)者能熟悉整個(gè)for循環(huán)的執(zhí)行過程,現(xiàn)將例程2-14運(yùn)行期間每次循環(huán)中變量sum和i的值通過表2-11羅列出來。第三步:for循環(huán)

for(inti=0;i<26;i++){

System.out.print((char)(c+i)+"");

}2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換當(dāng)把一種數(shù)據(jù)類型的值賦給另一種數(shù)據(jù)類型的變量時(shí),需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。根據(jù)轉(zhuǎn)換方式的不同,數(shù)據(jù)類型轉(zhuǎn)換可分為兩種:自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換1、自動(dòng)類型轉(zhuǎn)換也叫隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要顯式地進(jìn)行聲明。要實(shí)現(xiàn)自動(dòng)類型轉(zhuǎn)換,必須同時(shí)滿足兩個(gè)條件,第一是兩種數(shù)據(jù)類型彼此兼容,第二是目標(biāo)類型的取值范圍大于源類型的取值范圍。2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換1、自動(dòng)類型轉(zhuǎn)換三種可以進(jìn)行自動(dòng)類型轉(zhuǎn)換的情況,具體如下:(1)整數(shù)類型之間可以實(shí)現(xiàn)轉(zhuǎn)換,如byte類型的數(shù)據(jù)可以賦值給short、int、long類型的變量,short、char類型的數(shù)據(jù)可以賦值給int、long類型的變量,int類型的數(shù)據(jù)可以賦值給long類型的變量。(2)整數(shù)類型轉(zhuǎn)換為float類型,如byte、char、short、int類型的數(shù)據(jù)可以賦值給float類型的變量。(3)其它類型轉(zhuǎn)換為double類型,如byte、char、short、int、long、float類型的數(shù)據(jù)可以賦值給double類型的變量。2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換2、強(qiáng)制類型轉(zhuǎn)換也叫顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型之間的轉(zhuǎn)換需要進(jìn)行顯式地聲明。當(dāng)兩種類型彼此不兼容,或者目標(biāo)類型取值范圍小于源類型時(shí),自動(dòng)類型轉(zhuǎn)換無法進(jìn)行,這時(shí)就需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換2、強(qiáng)制類型轉(zhuǎn)換出現(xiàn)這樣錯(cuò)誤的原因是將一個(gè)int型的值賦給byte類型的變量b時(shí),int類型的取值范圍大于byte類型的取值范圍,這樣的賦值會(huì)導(dǎo)致數(shù)值溢出,也就是說一個(gè)字節(jié)的變量無法存儲(chǔ)四個(gè)字節(jié)的整數(shù)值。2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換2、強(qiáng)制類型轉(zhuǎn)換在對變量進(jìn)行強(qiáng)制類型轉(zhuǎn)換時(shí),會(huì)發(fā)生取值范圍較大的數(shù)據(jù)類型向取值范圍較小的數(shù)據(jù)類型的轉(zhuǎn)換,如將一個(gè)int類型的數(shù)轉(zhuǎn)為byte類型,這樣做極容易造成數(shù)據(jù)精度的丟失。2.2Java中的變量2.2.3變量的類型轉(zhuǎn)換2、強(qiáng)制類型轉(zhuǎn)換例程2-2中的第5行發(fā)生了強(qiáng)制類型轉(zhuǎn)換,將一個(gè)int類型的變量b強(qiáng)制轉(zhuǎn)換成byte類型,然后再將強(qiáng)轉(zhuǎn)后的結(jié)果賦值給變量a。變量b本身的值為“298”,然而在賦值給變量a后,其值為42,丟失了精度。出現(xiàn)這種現(xiàn)象的原因是,變量b為int類型,在內(nèi)存中占用4個(gè)字節(jié)。byte類型的數(shù)據(jù)在內(nèi)存中占用1個(gè)字節(jié),當(dāng)將變量b的類型強(qiáng)轉(zhuǎn)為byte類型后,前面3個(gè)高位字節(jié)的數(shù)據(jù)丟失,數(shù)值發(fā)生改變。改進(jìn):輸出字母表將具體功能代碼寫在方法中2.6方法2.6.1什么是方法在Java中,聲明一個(gè)方法的具體語法格式如下:修飾符:方法的修飾符比較多,有對訪問權(quán)限進(jìn)行限定的,有靜態(tài)修飾符static,還有最終修飾符final等,這些修飾符在后面的學(xué)習(xí)過程中會(huì)逐步介紹返回值類型:用于限定方法返回值的數(shù)據(jù)類型參數(shù)類型:用于限定調(diào)用方法時(shí)傳入?yún)?shù)的數(shù)據(jù)類型參數(shù)名:是一個(gè)變量,用于接收調(diào)用方法時(shí)傳入的數(shù)據(jù)返回值:被return語句返回的值,該值會(huì)返回給調(diào)用者return關(guān)鍵字:用于結(jié)束方法以及返回方法指定類型的值需要特別注意的是,方法中的“參數(shù)類型參數(shù)名1,參數(shù)類型參數(shù)名2”被稱作參數(shù)列表,它用于描述方法在被調(diào)用時(shí)需要接收的參數(shù),如果方法不需要接收任何參數(shù),則參數(shù)列表為空,即()內(nèi)不寫任何內(nèi)容。方法的返回值必須為方法聲明的返回值類型,如果方法中沒有返回值,返回值類型要聲明為void,此時(shí),方法中return語句可以省略。作業(yè):P26思考與練習(xí)一選擇題全做二是非題全做三思考與實(shí)驗(yàn)1、3、7,寫在作業(yè)本上(注意寫上學(xué)號(hào)后三位)擴(kuò)展知識(shí)2.1.5Java中的常量常量就是在程序中固定不變的值,是不能改變的數(shù)據(jù)。在Java中,常量包括整型常量、浮點(diǎn)數(shù)常量、布爾常量、字符常量等。定義格式:修飾符final類型常量名=常量值;Java中的常量Java中的常量1、整型常量整型常量是整數(shù)類型的數(shù)據(jù),具體表示形式如下:二進(jìn)制:由數(shù)字0和1組成的數(shù)字序列。在JDK7.0中允許使用字面值來表示二進(jìn)制數(shù),前面要以0b或0B開頭,目的是為了和十進(jìn)制進(jìn)行區(qū)分,如:0b01101100、0B10110101。八進(jìn)制:以0開頭并且其后由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開頭并且其后由0~9、A~F(包括0和9、A和F)組成的數(shù)字序列,如0x25AF。Java中的常量3、字符常量字符常量用于表示一個(gè)字符,一個(gè)字符常量要用一對英文半角格式的單引號(hào)('')引起來,它可以是英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、以及由轉(zhuǎn)義序列來表示的特殊字符。具體示例如下:上面的示例中,'\u0000'表示一個(gè)空白字符,即在單引號(hào)之間沒有任何字符。之所以能這樣表示是因?yàn)?,Java采用的是Unicode字符集,Unicode字符以\u開頭,空白字符在Unicode碼表中對應(yīng)的值為'\u0000'。Java中的常量4、字符串常量字符串常量用于表示一串連續(xù)的字符,一個(gè)字符串常量要用一對英文半角格式的雙引號(hào)("")引起來,具體示例如下:一個(gè)字符串可以包含一個(gè)字符或多個(gè)字符,也可以不包含任何字符,即長度為零。Java中的常量5、布爾常量布爾常量即布爾型的兩個(gè)值true和false,該常量用于區(qū)分一個(gè)事物的真與假。6、null常量null常量只有一個(gè)值null,表示對象的引用為空。關(guān)于null常量將會(huì)在第三章中詳細(xì)介紹。2.1Java的基本語法2.1.2Java中的注釋在編寫程序時(shí),為了使代碼易于閱讀,通常會(huì)在實(shí)現(xiàn)功能的同時(shí)為代碼加一些注釋。注釋是對程序的某個(gè)功能或者某行代碼的解釋說明,它只在Java源文件中有效,在編譯程序時(shí)編譯器會(huì)忽略這些注釋信息,不會(huì)將其編譯到class字節(jié)碼文件中去。Java中的注釋有三種類型,具體如下:單行注釋單行注釋通常用于對程序中的某一行代碼進(jìn)行解釋,用符號(hào)“//”表示,“//”后面為被注釋的內(nèi)容,具體示例如下:2.1Java的基本語法2.1.2Java中的注釋多行注釋多行注釋顧名思義就是在注釋中的內(nèi)容可以為多行,它以符號(hào)“/*”開頭,以符號(hào)“*/”結(jié)尾,多行注釋具體示例如下:文檔注釋文檔注釋是以“/**”開頭,并在注釋內(nèi)容末尾以“*/”結(jié)束。文檔注釋是對代碼的解釋說明,可以使用javadoc命令將文檔注釋提取出來生成幫助文檔,關(guān)于這點(diǎn)將在后面的章節(jié)做詳細(xì)講解。腳下留心在Java中,有的注釋可以嵌套使用,有的則不可以,下面列出兩種具體的情況。1、多行注釋“/*…*/”中可以嵌套單行注釋“//”,例如:2、多行注釋“/*…*/”中不能嵌套多行注釋“/*…*/”,例如:上面的代碼無法通過編譯,原因在于第一個(gè)“/*”會(huì)和第一個(gè)“*/”進(jìn)行配對,而第二個(gè)“*/”則找不到匹配。多學(xué)一招特殊字符——反斜杠(\)反斜杠(\)是一個(gè)特殊的字符,被稱為轉(zhuǎn)義字符,它的作用是用來轉(zhuǎn)義后面一個(gè)字符。下面列出一些常見的轉(zhuǎn)義字符:\r表示回車,將光標(biāo)定位到當(dāng)前行的開頭,不會(huì)跳到下一行。\n表示換行,換到下一行的開頭。\t表示制表符,將光標(biāo)移到下一個(gè)制表符的位置,就像在文檔中用Tab鍵一樣。\b表示退格符號(hào),就像鍵盤上的Backspace。多學(xué)一招特殊字符——反斜杠(\)剛才介紹的字符都有特殊意義,無法直接表示,所以用斜杠加上另外一個(gè)字符來表示。\'表示單引號(hào)字符,Java代碼中單引號(hào)表示字符的開始和結(jié)束,如果直接寫單引號(hào)字符('),程序會(huì)認(rèn)為前兩個(gè)是一對,會(huì)報(bào)錯(cuò),因此需要使用轉(zhuǎn)義(\')。\"表示雙引號(hào)字符,Java代碼中雙引號(hào)表示字符串的開始和結(jié)束,包含在字符串中的雙引號(hào)需要轉(zhuǎn)義,比如"hesays,\"thankyou\"."。\\表示反斜杠字符,由于在Java代碼中的斜杠\是轉(zhuǎn)義字符,因此需要表示字面意義上的\,就需要使用雙斜杠\\。多學(xué)一招整型常量進(jìn)制間的轉(zhuǎn)換十進(jìn)制轉(zhuǎn)二進(jìn)制十進(jìn)制轉(zhuǎn)換成二進(jìn)制就是一個(gè)除以2取余數(shù)的過程。把要轉(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)制轉(zhuǎn)十進(jìn)制要從右到左用二進(jìn)制位上的每個(gè)數(shù)去乘以2的相應(yīng)次方。多學(xué)一招整型常量進(jìn)制間的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)八進(jìn)制二進(jìn)制轉(zhuǎn)八進(jìn)制時(shí),首先需要將二進(jìn)制數(shù)自右向左每三位分成一段,然后將二進(jìn)制的每段的三位數(shù)轉(zhuǎn)為八進(jìn)制的一位。多學(xué)一招整型常量進(jìn)制間的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)十六進(jìn)制將二進(jìn)制轉(zhuǎn)十六進(jìn)制時(shí),與轉(zhuǎn)八進(jìn)制類似,不同的是要將二進(jìn)制數(shù)每四位分成一段,查表轉(zhuǎn)換即可。2.2Java中的變量2.2.1變量的定義在程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會(huì)將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來標(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沒有分配初始值,變量x和y在內(nèi)存中的狀態(tài)如圖所示。2.2Java中的變量2.2.1變量的定義在程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會(huì)將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來標(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ā)生了變化,如圖所示。多學(xué)一招表達(dá)式類型自動(dòng)提升所謂表達(dá)式是指由變量和運(yùn)算符組成的一個(gè)算式。變量在表達(dá)式中進(jìn)行運(yùn)算時(shí),也有可能發(fā)生自動(dòng)類型轉(zhuǎn)換,這就是表達(dá)式數(shù)據(jù)類型的自動(dòng)提升,如一個(gè)byte型的變量在運(yùn)算期間類型會(huì)自動(dòng)提升為int型。多學(xué)一招表達(dá)式類型自動(dòng)提升圖2-9中出現(xiàn)了錯(cuò)誤,是因?yàn)樵诒磉_(dá)式b1+b2運(yùn)算期間,變量b1和b2被自動(dòng)提升為int型,表達(dá)式的運(yùn)算結(jié)果也就成了int型,這時(shí)如果將該結(jié)果賦給byte型的變量就會(huì)報(bào)錯(cuò),此時(shí)需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。2.2Java中的變量2.2.4變量的作用域變量需要在它的作用范圍內(nèi)才可以被使用,這個(gè)作用范圍稱為變量的作用域。在程序中,變量一定會(huì)被定義在某一對大括號(hào)中,該大括號(hào)所包含的代碼區(qū)域便是這個(gè)變量的作用域。2.2Java中的變量2.2.4變量的作用域2.2Java中的變量2.2.4變量的作用域例程2-4出錯(cuò)的原因在于在給變量y賦值時(shí)超出了它的作用域。將第9行代碼去掉,再次編譯程序不再報(bào)錯(cuò)。例程2-4修改后的代碼中,變量x、y都在各自的作用域中,因此都可以被訪問到。2.3Java中的運(yùn)算符在程序中經(jīng)常出現(xiàn)一些特殊符號(hào),如+、-、*、=、>等,這些特殊符號(hào)稱作運(yùn)算符。運(yùn)算符用于對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算、賦值和比較等操作。在Java中,運(yùn)算符可分為算術(shù)運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符。2.3.1算數(shù)運(yùn)算符2.3Java中的運(yùn)算符2.3.2賦值運(yùn)算符賦值運(yùn)算符的作用就是將常量、變量或表達(dá)式的值賦給某一個(gè)變量。2.3Java中的運(yùn)算符多學(xué)一招在為變量賦值時(shí),當(dāng)兩種類型彼此不兼容,或者目標(biāo)類型取值范圍小于源類型時(shí),需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。然而在使用+=、-=、*=、/=、%=運(yùn)算符進(jìn)行賦值時(shí),強(qiáng)制類型轉(zhuǎn)換會(huì)自動(dòng)完成,程序不需要做任何顯式地聲明。2.3.3比較運(yùn)算符比較運(yùn)算符用于對兩個(gè)數(shù)值或變量進(jìn)行比較,其結(jié)果是一個(gè)布爾值,即true或false。比較運(yùn)算符在使用時(shí)需要注意一個(gè)問題,不能將比較運(yùn)算符“==”誤寫成賦值運(yùn)算符“=”。2.3Java中的運(yùn)算符2.3.4邏輯運(yùn)算符邏輯運(yùn)算符用于對布爾型的數(shù)據(jù)進(jìn)行操作,其結(jié)果仍是一個(gè)布爾型。2.3Java中的運(yùn)算符2.3.5位運(yùn)算符2.3Java中的運(yùn)算符位運(yùn)算符是針對二進(jìn)制數(shù)的每一位進(jìn)行運(yùn)算的符號(hào),它是專門針對數(shù)字0和1進(jìn)行操作的。2.3.6運(yùn)算符的優(yōu)先級在對一些比較復(fù)雜的表達(dá)式進(jìn)行運(yùn)算時(shí),要明確表達(dá)式中所有運(yùn)算符參與運(yùn)算的先后順序,把這種順序稱作運(yùn)算符的優(yōu)先級。2.3Java中的運(yùn)算符2.4選擇結(jié)構(gòu)語句2.4.2switch條件語句只能針對某個(gè)表達(dá)式的值作出判斷,從而決定程序執(zhí)行哪一段代碼。2.4選擇結(jié)構(gòu)語句2.4.2switch條件語句只能針對某個(gè)表達(dá)式的值作出判斷,從而決定程序執(zhí)行哪一段代碼。在switch語句中的表達(dá)式只能是byte、short、char、int、enum(JDK5.0)、String(JDK7.0)類型的值,如果傳入其它類型的值,程序會(huì)報(bào)錯(cuò)。2.4選擇結(jié)構(gòu)語句2.4.2switch條件語句只能針對某個(gè)表達(dá)式的值作出判斷,從而決定程序執(zhí)行哪一段代碼?!?.4選擇結(jié)構(gòu)語句2.4.2switch條件語句在使用switch語句的過程中,如果多個(gè)case條件后面的執(zhí)行語句是一樣的,則該執(zhí)行語句只需書寫一次即可,這是一種簡寫的方式。2.5循環(huán)結(jié)構(gòu)語句2.5.1while循環(huán)語句while語句會(huì)反復(fù)地進(jìn)行條件判斷,只要條件成立,{}內(nèi)的執(zhí)行語句就會(huì)執(zhí)行,直到條件不成立,while循環(huán)結(jié)束。2.5循環(huán)結(jié)構(gòu)語句2.5.1while循環(huán)語句while語句會(huì)反復(fù)地進(jìn)行條件判斷,只要條件成立,{}內(nèi)的執(zhí)行語句就會(huì)執(zhí)行,直到條件不成立,while循環(huán)結(jié)束。2.5循環(huán)結(jié)構(gòu)語句2.5.2dowhile循環(huán)語句do…while循環(huán)語句和while循環(huán)語句功能類似。2.5循環(huán)結(jié)構(gòu)語句2.5.2dowhile循環(huán)語句do…while循環(huán)語句和while循環(huán)語句功能類似。do…while循環(huán)和while循環(huán)能實(shí)現(xiàn)同樣的功能。然而在程序運(yùn)行過程中,這兩種語句還是有差別的。如果循環(huán)條件在循環(huán)語句開始時(shí)就不成立,那么while循環(huán)的循環(huán)體一次都不會(huì)執(zhí)行,而do…while循環(huán)的循環(huán)體還是會(huì)執(zhí)行一次。2.5循環(huán)結(jié)構(gòu)語句2.5.4循環(huán)嵌套嵌套循環(huán)是指在一個(gè)循環(huán)語句的循環(huán)體中再定義一個(gè)循環(huán)語句的語法結(jié)構(gòu)。while、do…while、for循環(huán)語句都可以進(jìn)行嵌套,并且它們之間也可以互相嵌套,如最常見的在for循環(huán)中嵌套for循環(huán),格式如下。2.5循環(huán)結(jié)構(gòu)語句2.5.4循環(huán)嵌套接下來通過一個(gè)案例來實(shí)現(xiàn)使用“*”打印直角三角形。2.5循環(huán)結(jié)構(gòu)語句2.5.5跳轉(zhuǎn)語句(break、continue)跳轉(zhuǎn)語句用于實(shí)現(xiàn)循環(huán)執(zhí)行過程中程序流程的跳轉(zhuǎn),在Java中的跳轉(zhuǎn)語句有break語句和continue語句。接下來分別進(jìn)行詳細(xì)地講解。1、break語句在switch條件語句和循環(huán)語句中都可以使用break語句。當(dāng)它出現(xiàn)在switch條件語句中時(shí),作用是終止某個(gè)case并跳出switch結(jié)構(gòu)。當(dāng)它出現(xiàn)在循環(huán)語句中,作用是跳出循環(huán)語句,執(zhí)行后面的代碼。

2.5循環(huán)結(jié)構(gòu)語句2.5.5跳轉(zhuǎn)語句(break、continue)1、break語句當(dāng)break語句出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán)時(shí),它只能跳出內(nèi)層循環(huán),如果想使用break語句跳出外層循環(huán)則需要對外層循環(huán)添加標(biāo)記。2.5循環(huán)結(jié)構(gòu)語句2.5.5跳轉(zhuǎn)語句(break、continue)1、break語句2.5循環(huán)結(jié)構(gòu)語句2.5.5跳轉(zhuǎn)語句(break、continue)2、continue語句continue語句用在循環(huán)語句中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)。在嵌套循環(huán)語句中,continue語句后面也可以通過使用標(biāo)記的方式結(jié)束本次外層循環(huán),用法與break語句相似,在此不再舉例說明。2.6方法2.6.1什么是方法假設(shè)有一個(gè)游戲程序,程序在運(yùn)行過程中,要不斷地發(fā)射炮彈。發(fā)射炮彈的動(dòng)作需要編寫100行的代碼,在每次實(shí)現(xiàn)發(fā)射炮彈的地方都需要重復(fù)地編寫這100行代碼,這樣程序會(huì)變得很臃腫,可讀性也非常差。為了解決代碼重復(fù)編寫的問題,可以將發(fā)射炮彈的代碼提取出來放在一個(gè){}中,并為這段代碼起個(gè)名字,這樣在每次發(fā)射炮彈的地方通過這個(gè)名字來調(diào)用發(fā)射炮彈的代碼就可以了。上述過程中,所提取出來的代碼可以被看作是程序中定義的一個(gè)方法,程序在需要發(fā)射炮彈時(shí)調(diào)用該方法即可。2.6方法2.6.1什么是方法接下來通過一些案例來介紹方法在程序中起到的作用,先來看一下在不使用方法時(shí)如何實(shí)現(xiàn)打印三個(gè)長寬不同的矩形。2.6方法2.6.1什么是方法在例程2-19中,分別使用3個(gè)嵌套for循環(huán)完成了三個(gè)矩形的打印,仔細(xì)觀察會(huì)發(fā)現(xiàn),這3個(gè)嵌套for循環(huán)的代碼是重復(fù)的,都在做一樣的事情。此時(shí),就可以將使用“*”打印矩形的功能定義為方法,在程序中調(diào)用三次即可。2.6方法2.6.1什么是方法有返回值的情況:2.6方法2.6.1什么是方法有返回值的情況:2.7數(shù)組數(shù)組是指一組數(shù)據(jù)的集合,數(shù)組中的每個(gè)數(shù)據(jù)被稱作元素。在數(shù)組中可以存放任意類型的元素,但同一個(gè)數(shù)組里存放的元素類型必須一致。2.7.1數(shù)組的定義在Java中,可以使用以下格式來定義一個(gè)數(shù)組。上述語句就相當(dāng)于在內(nèi)存中定義了100個(gè)int類型的變量,第一個(gè)變量的名稱為x[0],第二個(gè)變量

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論