版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《Java編程基礎(chǔ)》幻燈片本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請自行刪除,謝謝!本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請自行刪除,謝謝!《Java編程基礎(chǔ)》幻燈片本課件PPT僅供大家學(xué)習(xí)使學(xué)習(xí)目標(biāo)
學(xué)習(xí)Java編程基礎(chǔ),使學(xué)生能比較快速地進入學(xué)習(xí)Java編程環(huán)境,為以后熟練地應(yīng)用開發(fā)工具進行試驗和驗證各種技術(shù)細(xì)節(jié)打下良好的基礎(chǔ)。學(xué)習(xí)目標(biāo)學(xué)習(xí)Java編程基礎(chǔ),使學(xué)生能比較快速2本章知識點
數(shù)據(jù)類型常量、變量、表達式數(shù)據(jù)類型的轉(zhuǎn)換數(shù)組流程控制語句本章知識點數(shù)據(jù)類型32.1數(shù)據(jù)類型Java語言的數(shù)據(jù)類型可以分為兩大類:根本類型〔primitivetype〕和引用類型〔referencetype〕。Java數(shù)據(jù)類型基本類型整型浮點型字符型布爾型引用類型數(shù)組接口類2.1數(shù)據(jù)類型Java語言的數(shù)據(jù)類型可以分為兩大類:根本42.1數(shù)據(jù)類型數(shù)據(jù)所占存儲空間的大小是以字節(jié)為單位。數(shù)據(jù)類型所占字節(jié)表示范圍long(長整型)8-9223372036854775808~9223372036854775807int(整型)4-2147483648~2147483647(-231~231-1)short(短整型)2-32768~32767(-215~215-1)byte(位)1-128~127(-27~27-1)char(字符)10~255boolean(布爾)1布爾值只能使用true或falsefloat(單精度)4-3.4E38~3.4E38double(雙精度)8-1.7E308~1.7E3082.1數(shù)據(jù)類型數(shù)據(jù)所占存儲空間的大小是以字節(jié)為單位。數(shù)52.2常量、變量、表達式
常量
變量
數(shù)值類型之間的轉(zhuǎn)換以及混合運算
表達式
運算符的優(yōu)先級2.2常量、變量、表達式常量6常量1.整數(shù)類型常量2.浮點型常量3.字符型常量4.字符串常量5.布爾型常量常量1.整數(shù)類型常量71.整數(shù)類型常量在Java中,整數(shù)的數(shù)據(jù)類型可以分為long、int、short和byte四種類型。整型的取值范圍參見下表。
類型存儲位數(shù)值范圍單精度(float)4(bits)-3.4×1038~3.4×1038雙精度(double)8(bits)-1.7×10308~1.7×103081.整數(shù)類型常量在Java中,整數(shù)的數(shù)據(jù)類型可以分為long82.浮點型常量在計算中,為了要求計算的準(zhǔn)確性,對數(shù)據(jù)的要求是非常嚴(yán)格的。使用整數(shù)不能很好地表現(xiàn)數(shù)據(jù)的準(zhǔn)確性,這種情況下就引入了浮點型。浮點型就是可以帶小數(shù)點的數(shù)據(jù)類型?!?〕表示形式浮點型有兩種表示形式:小數(shù)點形式(如:12.37,-0.5946)和指數(shù)形式〔如2.5E4,2.1E-4〕〔2〕單精度和雙精度常數(shù)的表示方法Java語言在使用浮點數(shù)數(shù)據(jù)時默認(rèn)的類型是double類型,如果要指定是float或double型常數(shù)時,可以在常數(shù)的后面加上F(f)或D(d),如單精度表示12.37F,雙精度數(shù)表示:-0.5946D。2.浮點型常量在計算中,為了要求計算的準(zhǔn)確性,對數(shù)據(jù)的要求是93.字符型常量Java采用Unicode編碼系統(tǒng),這樣就可以在多平臺的系統(tǒng)中安心使用而不必?fù)?dān)憂在程序移植中出現(xiàn)問題。Java的字符型常量的表示形式有4種,分別是:〔1〕用單引號括起來的單個字符,這些字符包含在Unicode字符集中,如'A','a'。〔2〕Java字符集中還包括一些控制字符,但這些控制字符是不能顯示的,可以通過轉(zhuǎn)義字符來表示?!?〕用單引號括起來的八進制Unicode字符,形式是'\ddd',其中d的范圍是0~7,表示數(shù)值的范圍在八進制的000~777之間,它只能表示局部Unicode字符內(nèi)容。如'\023'?!?〕用單引號括起來的十六進制Unicode字符,形式是'\uxxxx',u字符后面帶4位十六進制數(shù),它可以表示全部Unicode字符內(nèi)容。如'\u2af3'。3.字符型常量Java采用Unicode編碼系統(tǒng),這樣就可以104.字符串常量字符串常量是用雙引號括起來的由0個或多個字符組成的一個字符序列,字符串可以包含有轉(zhuǎn)義字符。如“Howareyou?〞、“Goodafternoon\n〞。轉(zhuǎn)義字符功能Unicode碼\b退格\u0008\t水平制表\u0009\n換行\(zhòng)u000a\f換頁\u000c\r回車\u000d4.字符串常量字符串常量是用雙引號括起來的由0個或多個字符組115.布爾型常量布爾型變量的取值只有true〔真〕和false〔假〕兩種,它表示邏輯的兩種狀態(tài)。
歸納注釋:Java是一種面向?qū)ο蟮恼Z言,應(yīng)將所有的數(shù)據(jù)類型都封裝成類,應(yīng)使用與類或?qū)ο笥嘘P(guān)的引用類型。但是,由于這些簡單數(shù)據(jù)類型應(yīng)用得十分廣泛,已被廣大程序員所接受,所以為了提高效率和簡化編程,
Java也就允許使用這些與面向?qū)ο鬅o關(guān)的基本數(shù)據(jù)類型。當(dāng)然這些基本數(shù)據(jù)類型都有對應(yīng)的類,在定義數(shù)據(jù)時也可以使用這些類去定義。例如,對應(yīng)基本的double類型,存在一個Double類;對應(yīng)基本的char類型,存在一個Character類等。5.布爾型常量布爾型變量的取值只有true〔真〕和false12變量變量就是在程序運行過程中其值可以被改變的量。變量蘊涵有兩個含義,其一是變量的名稱;其二是賦給變量的值。變量名稱就是用戶自己為變量定義的標(biāo)識符,而變量的值那么是存儲在用變量標(biāo)識符所標(biāo)記的存儲位置處的數(shù)據(jù)。在程序設(shè)計過程中,要想使用變量,首先要對變量進展聲明,聲明有兩點:第一是聲明變量的名稱;第二是聲明變量的數(shù)據(jù)類型。聲明的一般格式如下:類型名變量名1[,變量名2][,……]或類型名變量名1[=初值1][,變量名2[=初值2],…….]其中方括號中的內(nèi)容為可選項。
變量要先經(jīng)過聲明,然后就可以對變量進行賦值和使用,如果沒有對變量賦值就使用,程序就會出現(xiàn)語法錯誤。變量類型名包括整數(shù)類型、浮點類型、字符類型、字符串和布爾型等類型。變量變量就是在程序運行過程中其值可以被改變的量。變量蘊涵有兩13數(shù)值類型之間的轉(zhuǎn)換以及混合運算
Java語言中對變量定義時需要指名其數(shù)據(jù)類型,然而在Java中允許對變量的類型進展轉(zhuǎn)換。變量的數(shù)據(jù)類型轉(zhuǎn)換是指在同一表達式中的各種不同的數(shù)據(jù)類型之間所進展的轉(zhuǎn)換。數(shù)據(jù)類型的轉(zhuǎn)換分為“自動類型轉(zhuǎn)換〞和“強制類型轉(zhuǎn)換〞兩種。1.自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換是需要符合以下兩個條件:〔1〕轉(zhuǎn)換前的數(shù)據(jù)類型與轉(zhuǎn)換后的數(shù)據(jù)類型兼容?!?〕轉(zhuǎn)換后的數(shù)據(jù)類型比轉(zhuǎn)換前的數(shù)據(jù)類型表示的范圍大。查看例2.1不同整數(shù)數(shù)據(jù)類型的轉(zhuǎn)換數(shù)值類型之間的轉(zhuǎn)換以及混合運算Java語言中對變量定義時需14數(shù)值類型之間的轉(zhuǎn)換以及混合運算
2.強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換分為兩種:一種是為了保證計算的精度,對數(shù)據(jù)類型進展轉(zhuǎn)換,它與自動類型轉(zhuǎn)換不同的是強制類型轉(zhuǎn)換表達式中的變量類型是一樣的,如兩個整型數(shù)據(jù)類型進展除法運算,所得的結(jié)果應(yīng)該不是整型才能保證計算的精度,所以要對數(shù)據(jù)類型進展強制轉(zhuǎn)換;另一種是不需要精度要求,不讓系統(tǒng)進展自動轉(zhuǎn)換處理,如兩個數(shù)據(jù)類型一個是int類型,另一個是float類型,所得的結(jié)果按照前面所講內(nèi)容應(yīng)該是float類型,但是如果不想要小數(shù)點后面的數(shù)據(jù),那么就要進展強制數(shù)據(jù)轉(zhuǎn)換。查看例2-2強制整數(shù)數(shù)據(jù)類型的轉(zhuǎn)換數(shù)值類型之間的轉(zhuǎn)換以及混合運算2.強制類型轉(zhuǎn)換15例:
floatx=2.7f;inty=(int)x;
floatz=x;問:1、z=?,y=?2、Java程序?qū)崿F(xiàn)?例:16表達式表達式是用運算符把操作數(shù)〔變量、常量和方法等〕連接起來表達某種運算或含義的式子。其中運算符是對操作數(shù)進展運算的符號,如數(shù)學(xué)上的加號“+〞就是一個運算符,它是算術(shù)運算符。系統(tǒng)在處理表達式后根據(jù)處理結(jié)果返回一個值,該值的類型為表達式的類型。例如:intc=10+20;運算符包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符等。表達式是包含運算符和操作數(shù)的算式,它操作的對象叫操作數(shù),而操作是通過運算符來實現(xiàn)的。一個表達式可能同時包括多個操作,而操作的順序是由各運算符的優(yōu)先級及括號來決定的。也就是說有括號先進展括號內(nèi)的操作,否那么按運算符的優(yōu)先級次序運算。表達式表達式是用運算符把操作數(shù)〔變量、常量和方法等〕連接起來17表達式如果表達式包含有邏輯運算符和邏輯變量,我們稱為邏輯表達式,所得結(jié)果是邏輯型常數(shù)。表達式通常有計算結(jié)果,通過賦值運算符將結(jié)果賦給運算符左面的變量。表達式是通過運算符將操作數(shù)連接起來組成的,下面來講解運算符。1、算術(shù)運算符2、關(guān)系運算符3、邏輯運算符4、位運算符5、賦值運算符表達式如果表達式包含有邏輯運算符和邏輯變量,我們稱為邏輯表達181、算術(shù)運算符算術(shù)運算符是數(shù)學(xué)上最常用的一類〔種〕運算符,Java語言為浮點數(shù)和整型數(shù)提供了多種算術(shù)操作符,包括+、-、×、/等。在表達式中,由于算術(shù)運算符中操作數(shù)數(shù)目的不同,算術(shù)運算符可以分為一元運算符和二元運算符。二元運算符是指算術(shù)運算符的兩側(cè)都有操作數(shù)。二元運算符如下表所示。運算符操作說明+操作數(shù)1+操作數(shù)2求和-操作數(shù)1-操作數(shù)2求差*操作數(shù)1×操作數(shù)2求積/操作數(shù)1/操作數(shù)2求商%操作數(shù)1%操作數(shù)2取余1、算術(shù)運算符算術(shù)運算符是數(shù)學(xué)上最常用的一類〔種〕運算符,191、算術(shù)運算符一元運算符是指運算符只需要一個操作數(shù)。一元運算符如下表所示。運算符操作說明++操作數(shù)++或++操作數(shù)操作數(shù)+1――操作數(shù)――或――操作數(shù)操作數(shù)-1--操作數(shù)操作數(shù)取反說明:a++與++a的區(qū)別:a++在使用a之后,使a的值加1,因此執(zhí)行完a++之后,整個表達式的值為a,而a的值變?yōu)閍+1。++a在使用a之前,使a的值加1,因此執(zhí)行完++a之后,整個表達式和a的值都為a+1。i--和--i也是同樣的道理。1、算術(shù)運算符一元運算符是指運算符只需要一個操作數(shù)。一元運202關(guān)系運算符所謂關(guān)系是指將兩個操作數(shù)通過某種關(guān)系關(guān)聯(lián)在一起。如x>y,我們稱x大于y,這就是關(guān)系。表達關(guān)系的運算符就是關(guān)系運算符,包括:運算符>、>=、<、<=、==、!=。
運算符操作舉例含義>操作數(shù)1>操作數(shù)2x>yx大于y>=操作數(shù)1>=操作數(shù)2x>=yx大于等于y<操作數(shù)1<操作數(shù)2x<yx小于y<=操作數(shù)1<=操作數(shù)2x<=yx小于等于y==操作數(shù)1==操作數(shù)2x==yx等于y!=操作數(shù)1!=操作數(shù)2x!=yx不等于y注意:“==”運算符與“=”運算符是不同的,前者是關(guān)系運算符,而后者是賦值運算符,一定要注意它們之間的區(qū)別。由關(guān)系運算符組成的表達式最終的結(jié)果是一個邏輯值,它可作為程序設(shè)計中的條件判斷語句。如:if(x>y)就是一個條件判斷語句,關(guān)系運算符兩邊有兩個操作數(shù)x、y。關(guān)系運算符是將運算符兩邊的操作數(shù)進行判別,看是否為“相等”、“大于”、“小于”等“關(guān)系”,是一個關(guān)系表達式,最后結(jié)果為布爾型值。2關(guān)系運算符所謂關(guān)系是指將兩個操作數(shù)通過某種關(guān)系關(guān)聯(lián)在一213邏輯運算符邏輯運算符與關(guān)系運算符的不同之處是關(guān)系運算符的運算結(jié)果是布爾型值,而邏輯運算的操作數(shù)和運算結(jié)果都是布爾型值。包括:&、|、!、^、&&、||。運算符運算舉例含義&與x&yx,y都為真時結(jié)果才是真|或x|yx,y都為假時結(jié)果才是假!非!xx為真時結(jié)果是假,x為假時結(jié)果為真^異或x^yx,y都為真或都為假時結(jié)果為假&&條件與x&&yx,y都為真時結(jié)果為真。如果左側(cè)表達式的值就能決定整個表達式的值,則右側(cè)表達式不執(zhí)行||條件或x||yx,y都為假時結(jié)果為假。如果左側(cè)表達式的值就能決定整個表達式的值,則右側(cè)表達式不執(zhí)行3邏輯運算符邏輯運算符與關(guān)系運算符的不同之處是關(guān)系運算符224位運算符位運算是指對整數(shù)的二進制表示中的每一位進行操作,所得的結(jié)果一定是整數(shù)。包括:~、&、|、^、
<<、>>、>>>4位運算符位運算是指對整數(shù)的235賦值運算符Java語言中,賦值運算作為一種運算符來處理的,賦值運算的一般形式:變量名=表達式;其中“=〞是賦值運算符。賦值運算符不能理解為過去數(shù)學(xué)學(xué)過的等號概念,它實質(zhì)上是將賦值運算符右面的數(shù)據(jù)或表達式的值賦給賦值運算符左面的變量。5賦值運算符Java語言中,賦值運算作為一種運算符來處理245賦值運算符運算符運算舉例含義運算符運算舉例含義+=加法x+=yx=x+y&=與x&=yx=x&y-=減法x-=yx=x-y|=或x|=yx=x|y*=乘法x*=yx=x*y^=異或x^=yx=x^y/=除法x/=yx=x/y<<=左移x<<=yx=x<<y%=取余x%=yx=x%y>>=右移x>>=yx=x>>y>>>=不帶符號右移x>>>=yx=x>>>y賦值運算符還可以與二元算術(shù)運算符、邏輯運算符和位運算符組合成簡捷使用方式,如下表所示。5賦值運算符運算符運算舉例含義運算符運算舉例含義+=加法25條件運算符格式:表達式1?表達式2:表達式3運算過程:先計算表達式1的值,假設(shè)表達式1的值為true,那么條件表達式的值為表達式2的值;假設(shè)表達式1的值為false,那么條件表達式的值為表達式3的值。問:求y=|x|,該怎么表達?解:y=x>0?x:-x條件運算符格式:表達式1?表達式2:表達式326運算符的優(yōu)先級所謂優(yōu)先級是指當(dāng)一個表達式中出現(xiàn)多個不同運算符時,執(zhí)行運算的先后次序。如右表所示。運算符描述優(yōu)先級結(jié)合性.[]()域,數(shù)組,括號1從右至左++---!~一元操作符2*/%乘,除,取余3+-加,減4<<>>>>>位運算5<<=>>=邏輯運算6==!=邏輯運算7&按位與8^按位異或9|按位或10&&邏輯與11||邏輯或12?:條件運算符13=*=/=%=+=-=<<=>>=>>>=&=^=|=賦值運算14運算符的優(yōu)先級所謂優(yōu)先級是指當(dāng)一個表達式中出現(xiàn)多個不同運算符272.3數(shù)組數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有一樣的數(shù)組名,根據(jù)數(shù)組名和下標(biāo)來唯一地確定數(shù)組中的元素。數(shù)組有一維數(shù)組和多維數(shù)組,使用時要先聲明后創(chuàng)立。一維數(shù)組的聲明一維數(shù)組的創(chuàng)立與賦值多維數(shù)組2.3數(shù)組數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有一樣28一維數(shù)組的聲明數(shù)組是Java語言中的特殊數(shù)據(jù)類型,它們保存著能通過下標(biāo)索引來引用的一組同類數(shù)據(jù)。一維數(shù)組是指一個線性數(shù)據(jù)序列,聲明方式為:數(shù)據(jù)類型數(shù)組名[];或數(shù)據(jù)類型[]數(shù)組名例如:intarr1[];char[]arr2;聲明了兩個數(shù)組,arr1是整型數(shù)組,arr2是字符型數(shù)組。說明:其中“數(shù)據(jù)類型〞可以是Java中任意的數(shù)據(jù)類型,“數(shù)組名〞為一個合法的標(biāo)識符,“[]〞指明該變量是一個數(shù)組類型變量并且是一維的。Java在數(shù)組的定義中并不為數(shù)組元素分配內(nèi)存,因此“[]〞中不用指出數(shù)組中元素的個數(shù)即數(shù)組長度,而且對于如上定義的一個數(shù)組暫時還不能訪問它的任何元素。一維數(shù)組的聲明數(shù)組是Java語言中的特殊數(shù)據(jù)類型,它們保存著29一維數(shù)組的創(chuàng)立與賦值定義數(shù)組后,還必須為數(shù)組分配內(nèi)存、初始化。這有兩種方法。1.用運算符new分配內(nèi)存再賦值格式:數(shù)組名=new數(shù)據(jù)類型[size]其中,size指明數(shù)組的長度。如:intintArr[]=newint[2];charchArr[]=newchar[5];上述語句將數(shù)組的聲明和創(chuàng)立放在一起,第一條語句聲明了一個整型數(shù)組并分配了3個整型數(shù)據(jù)所占據(jù)的內(nèi)存空間,順序為intArr[0],intArr[1]。第二條語句聲明并分配了5個char型變量所占據(jù)的內(nèi)存空間。數(shù)組元素賦值的方法與變量一樣,如:intArr[0]=10;intArr[1]=20;注意下標(biāo)是從第一個元素的0開始,到數(shù)組長度減1。一維數(shù)組的創(chuàng)立與賦值定義數(shù)組后,還必須為數(shù)組分配內(nèi)存、初始化30一維數(shù)組的創(chuàng)立與賦值2.直接賦初值并定義數(shù)組的大小第二種方法是直接賦初值并定義數(shù)組的大小。初值必須用大括號括起,用逗號作分隔符,初值的個數(shù)表示數(shù)組的大小。例如:inta[]={1,2,3,4,5,6,7,8,9,10};charc[]={′a′,′b′,′c′,′北′,′京′}查看例2.3一維數(shù)組的使用。一維數(shù)組的創(chuàng)立與賦值2.直接賦初值并定義數(shù)組的大小31多維數(shù)組〔略〕與C++一樣,Java將多維數(shù)組看作數(shù)組的數(shù)組。例如二維數(shù)組就是一個特殊的一維數(shù)組,它的每個元素是一個一維數(shù)組。查看例2.4二維數(shù)組的使用。多維數(shù)組〔略〕與C++一樣,Java將多維數(shù)組看作數(shù)組的數(shù)組322.4流程控制語句任何一門面向?qū)ο蟮恼Z言都必須以構(gòu)造化程序設(shè)計為根底,面向?qū)ο笳Z言中的根本模塊都是用構(gòu)造化程序設(shè)計的編程來實現(xiàn)的。構(gòu)造化程序設(shè)計有3種根本的流程構(gòu)造:順序、分支和循環(huán),如以下圖所示。順序執(zhí)行結(jié)構(gòu)是最簡單的程序流程,它不需要控制語句,而分支控制結(jié)構(gòu)和循環(huán)控制結(jié)構(gòu)都是比較復(fù)雜的程序流程,它們需要專門的控制語句。所謂分支控制結(jié)構(gòu)是根據(jù)條件來判斷執(zhí)行哪一組語句,如前面已經(jīng)講的條件運算符(?:)就是實現(xiàn)分支控制的運算符,Java語言還提供了兩個專門的獨立控制語句:if語句和Switch語句。Java語言提供了3個專門的循環(huán)控制語句:for語句、while語句和do…while語句。2.4流程控制語句任何一門面向?qū)ο蟮恼Z言都必須以構(gòu)造化程332.4流程控制語句分支語句循環(huán)語句特殊的控制流語句2.4流程控制語句34分支語句1.if語句if語句是實現(xiàn)“二選一〞的選擇語句,它有兩種形式。第一種形式:if(條件表達式)語句組;如:if(x<0)x=y;第二種形式:if(條件表達式)語句組1;else語句組2;條件語句if…else,只要“條件表達式〞值為真,就執(zhí)行其后的“語句組1〞,否那么就執(zhí)行else后的“語句組2〞。注意else局部可選也可不選,,不選就是第一種情況。2.switch分支構(gòu)造switch是多分支的開關(guān)語句,其構(gòu)造為:switch〔條件表達式〕{casen1(判斷值1):語句組1;break;casen2(判斷值2):語句組2;break;…default:語句組;break;}查看例2.5一個條件語句if…else的例子和例2.6一個switch分支構(gòu)造的例子
條件表達式的類型必須為整型或字符型;
n1,n2,…必須為常量;
default語句是可選的;
break語句用于退出
switch,若無則程序?qū)⒉辉俦容^而是依次執(zhí)行所有語句。switch分支結(jié)構(gòu)實際上也是一種if…else結(jié)構(gòu)不過它在編碼時很容易寫出判斷條件,特別有很多選項的時候,它把括號里變量的值同每種情況列出的值作比較,如果相等,就執(zhí)行后面的語句,如果不等,就執(zhí)行default語句。在switch語句中,通常在每一種case情況后都應(yīng)使用break語句,否則,第一個相等情況后面所有的語句都會被執(zhí)行,這種情況叫做落空。分支語句1.if語句條件表達式的類型必須為整型或字符型;35循環(huán)語句
Java的循環(huán)語句分為3種:
1.for循環(huán)
2.while循環(huán)
3.do…while循環(huán)結(jié)構(gòu)循環(huán)語句Java的循環(huán)語句分為3種:361.for循環(huán)Java語言的for語句的語法格式是:For(初始語句;邏輯表達式;迭代語句){語句組;}for語句的語義是:先執(zhí)行初始語句,判斷邏輯表達式的值,當(dāng)邏輯表達式為真時,執(zhí)行循環(huán)體語句,執(zhí)行迭代語句,然后再去判別邏輯表達式的值。這個過程一直進展下去,直到邏輯表達式的值為假時,循環(huán)完畢,轉(zhuǎn)到for之后的語句。for循環(huán)構(gòu)造在實現(xiàn)順序遞增直到到達某一極限的循環(huán)時是一個強有力的工具,for語句的格式要求把一個變量和一個確定的極限作比較,當(dāng)?shù)竭_極限時,中止循環(huán)。
初始語句和迭代語句中可以含有多個語句,各語句間以逗號分隔。
for語句括號內(nèi)的3部分都是可選的,邏輯表達式為空時,默認(rèn)規(guī)定為恒真。1.for循環(huán)Java語言的for語句的語法格式是:初始語371.for循環(huán)例如:for(i=0;i<10;i++){語句組;}在這個例子中變量i被設(shè)為0;第二個表達式i<10,指出循環(huán)何時完畢,對0~9的數(shù)值表達式都為真〔這就是說循環(huán)應(yīng)該繼續(xù)〕;最后的表達式i++指出循環(huán)每次對變量做什么,在例子中,循環(huán)使i〔0~9〕共10次執(zhí)行循環(huán)體。
注意(1)初始語句可以是以逗號分開的多個語句,并且按照從左到右的順序逐個執(zhí)行。(2)迭代語句后面不能加分號。(3)三個表達式都可以為空。(4)若循環(huán)變量在for語句前面已經(jīng)有定義并具有循環(huán)初值,則初始語句可以為空(分號不可省略)。(5)若邏輯表達式或迭代語句為空,則循環(huán)體為無條件循環(huán)。(6)for語句可以嵌套。1.for循環(huán)382.while循環(huán)while循環(huán)先判斷邏輯表達式的值是否為真,假設(shè)為真,那么執(zhí)行給定的循環(huán)體語句,直到表達式的值為假。while循環(huán)的形式如下:while〔邏輯表達式〕{語句序列;//循環(huán)體}while循環(huán)的執(zhí)行過程為:首先求邏輯表達式的值〔稱為循環(huán)條件〕,如果為true,那么執(zhí)行語句序列〔也稱循環(huán)體〕。第二次循環(huán)又重新求邏輯表達式的值,判斷循環(huán)條件是否成立,假設(shè)還為true,再執(zhí)行一遍循環(huán)體,這時第二次循環(huán)執(zhí)行完畢。重復(fù)這個過程,直到循環(huán)條件為false,這時退出while循環(huán)的執(zhí)行,控制權(quán)轉(zhuǎn)移到while語句后。當(dāng)循環(huán)體只有一條語句時,花括號可以省略。2.while循環(huán)while循環(huán)先判斷邏輯表達式的值是否為真393.do…while循環(huán)構(gòu)造do…while循環(huán)先執(zhí)行給定的循環(huán)體語句,然后檢查表達式,假設(shè)表達式值為假那么跳出循環(huán),這種控制并不是很常用,但有時卻非常重要,使用時注意結(jié)尾處while語句后的分號。do…while循環(huán)的形式如下:do{語句序列; //循環(huán)體while(邏輯表達式);do…while循環(huán)的執(zhí)行過程是:首先執(zhí)行循環(huán)體,一旦循環(huán)體執(zhí)行完畢,求邏輯表達式的值,假設(shè)為true,那么再執(zhí)行循環(huán)體;循環(huán)體執(zhí)行完畢后,重新求邏輯表達式的值,假設(shè)仍為true那么再執(zhí)行一遍循環(huán)體。重復(fù)這個過程,直到邏輯表達式的值為false,退出do…while循環(huán),控制權(quán)轉(zhuǎn)移到do…while語句后。3.do…while循環(huán)構(gòu)造do…while循環(huán)先執(zhí)行給定40特殊的控制流語句Java語言拋棄了有爭議的goto語句,代之以特殊的控制流語句:break和continue語句,它們用在分支語句或循環(huán)語句中,使得程序員更方便地控制程序執(zhí)行的方向。1.標(biāo)號〔label〕標(biāo)號提供了一種簡單的break語句所不能實現(xiàn)的控制循環(huán)的方法,當(dāng)在循環(huán)語句中遇到break后面有標(biāo)號時,不管其他控制變量如何,都會終止標(biāo)號的循環(huán)體。標(biāo)號可以放在for,while或do語句之前,其語法格式為:標(biāo)號:語句;2.breakbreak語句可用于switch,for,while及do語句中。它的語義是跳過本代碼塊中余下的所有語句,轉(zhuǎn)到塊尾,執(zhí)行其后的語句,如果break后面有標(biāo)號,會終止標(biāo)號的循環(huán)體。查看例2.10break循環(huán)舉例特殊的控制流語句Java語言拋棄了有爭議的goto語句,代之413.ContinueContinue語句必須用于循環(huán)構(gòu)造中,它有兩種使用形式。一種是不帶標(biāo)號的continue語句,它的作用是終止當(dāng)前這一輪的循環(huán),跳過本輪剩余的語句,直接進入當(dāng)前循環(huán)的下一輪。在while或do…while循環(huán)中,不帶標(biāo)號的continue語句會使流程直接跳轉(zhuǎn)至條件表達式。在for循環(huán)中,不帶標(biāo)號的continue語句會跳轉(zhuǎn)至表達式3,計算修改循環(huán)變量后再判斷循環(huán)條件。另一種為帶標(biāo)號的continue語句,其格式是:continue標(biāo)號名;帶標(biāo)號的continue語句多用在多層循環(huán)構(gòu)造中,而標(biāo)號名應(yīng)該定義在程序中外層循環(huán)語句的前面,用來標(biāo)志這個循環(huán)構(gòu)造。標(biāo)號的命名應(yīng)該符合Java標(biāo)識符的命名規(guī)定。帶標(biāo)號的continue語句使程序的流程直接轉(zhuǎn)入標(biāo)號標(biāo)明的循環(huán)層次。在下面查找1~100之間素數(shù)的例子中,使用了帶標(biāo)號的continue語句。如果找到整數(shù)i的一個因子j,那么說明這個i不是素數(shù),程序?qū)⑻^本輪循環(huán)剩余的語句直接進入下一輪循環(huán),檢查下一個數(shù)是否為素數(shù)。3.ContinueContinue語句必須用于循環(huán)構(gòu)造中,423.ContinueOuterloop:for(i=1;i<100;i++)//標(biāo)號{for(j=2;j<i;j++){if((i%j)==0)continueOuterloop;//continue帶標(biāo)號});}3.ContinueOuterloop:for(i=1;i<433.Continue
intm=1; intn=0; for(i=1;i<5;i++) { m=m+I; if(i==3) continue; n=n+I }問:m=?n=?3.Continue intm=1;444.Return用于方法體中,退出該方法,并返回一定數(shù)值。return語句的一般格式為:return表達式;return關(guān)鍵字有兩方面的用途:指定一個方法返回什么值〔假設(shè)它沒有void返回值〕,并立即返回其后表達式的值。這個返回值的類型必須和被調(diào)用方法的返回值類型一致。如果方法沒有返回值,那么return語句中的表達式可以省略。就是return語句本身也可以省略,程序執(zhí)行到方法的最后一句后,遇到方法的完畢標(biāo)志“}〞時,程序流程自動返回到調(diào)用這個方法的程序中。例2.11應(yīng)用return語句返回結(jié)果4.Return用于方法體中,退出該方法,并返回一定數(shù)值。45小結(jié)本章內(nèi)容包括數(shù)據(jù)類型的介紹、語句、運算符、表達式以及運算符優(yōu)先級。其中運算符有算術(shù)運算符〔包含有一元運算符和二元運算符〕、關(guān)系運算符、邏輯運算符、位運算符以及賦值運算符等。表達式是程序設(shè)計中的最小組成單位,所以對表達式的理解非常重要。小結(jié)本章內(nèi)容包括數(shù)據(jù)類型的介紹、語句、運算符、表達式以及運算46《Java編程基礎(chǔ)》幻燈片本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請自行刪除,謝謝!本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請自行刪除,謝謝!《Java編程基礎(chǔ)》幻燈片本課件PPT僅供大家學(xué)習(xí)使學(xué)習(xí)目標(biāo)
學(xué)習(xí)Java編程基礎(chǔ),使學(xué)生能比較快速地進入學(xué)習(xí)Java編程環(huán)境,為以后熟練地應(yīng)用開發(fā)工具進行試驗和驗證各種技術(shù)細(xì)節(jié)打下良好的基礎(chǔ)。學(xué)習(xí)目標(biāo)學(xué)習(xí)Java編程基礎(chǔ),使學(xué)生能比較快速48本章知識點
數(shù)據(jù)類型常量、變量、表達式數(shù)據(jù)類型的轉(zhuǎn)換數(shù)組流程控制語句本章知識點數(shù)據(jù)類型492.1數(shù)據(jù)類型Java語言的數(shù)據(jù)類型可以分為兩大類:根本類型〔primitivetype〕和引用類型〔referencetype〕。Java數(shù)據(jù)類型基本類型整型浮點型字符型布爾型引用類型數(shù)組接口類2.1數(shù)據(jù)類型Java語言的數(shù)據(jù)類型可以分為兩大類:根本502.1數(shù)據(jù)類型數(shù)據(jù)所占存儲空間的大小是以字節(jié)為單位。數(shù)據(jù)類型所占字節(jié)表示范圍long(長整型)8-9223372036854775808~9223372036854775807int(整型)4-2147483648~2147483647(-231~231-1)short(短整型)2-32768~32767(-215~215-1)byte(位)1-128~127(-27~27-1)char(字符)10~255boolean(布爾)1布爾值只能使用true或falsefloat(單精度)4-3.4E38~3.4E38double(雙精度)8-1.7E308~1.7E3082.1數(shù)據(jù)類型數(shù)據(jù)所占存儲空間的大小是以字節(jié)為單位。數(shù)512.2常量、變量、表達式
常量
變量
數(shù)值類型之間的轉(zhuǎn)換以及混合運算
表達式
運算符的優(yōu)先級2.2常量、變量、表達式常量52常量1.整數(shù)類型常量2.浮點型常量3.字符型常量4.字符串常量5.布爾型常量常量1.整數(shù)類型常量531.整數(shù)類型常量在Java中,整數(shù)的數(shù)據(jù)類型可以分為long、int、short和byte四種類型。整型的取值范圍參見下表。
類型存儲位數(shù)值范圍單精度(float)4(bits)-3.4×1038~3.4×1038雙精度(double)8(bits)-1.7×10308~1.7×103081.整數(shù)類型常量在Java中,整數(shù)的數(shù)據(jù)類型可以分為long542.浮點型常量在計算中,為了要求計算的準(zhǔn)確性,對數(shù)據(jù)的要求是非常嚴(yán)格的。使用整數(shù)不能很好地表現(xiàn)數(shù)據(jù)的準(zhǔn)確性,這種情況下就引入了浮點型。浮點型就是可以帶小數(shù)點的數(shù)據(jù)類型?!?〕表示形式浮點型有兩種表示形式:小數(shù)點形式(如:12.37,-0.5946)和指數(shù)形式〔如2.5E4,2.1E-4〕〔2〕單精度和雙精度常數(shù)的表示方法Java語言在使用浮點數(shù)數(shù)據(jù)時默認(rèn)的類型是double類型,如果要指定是float或double型常數(shù)時,可以在常數(shù)的后面加上F(f)或D(d),如單精度表示12.37F,雙精度數(shù)表示:-0.5946D。2.浮點型常量在計算中,為了要求計算的準(zhǔn)確性,對數(shù)據(jù)的要求是553.字符型常量Java采用Unicode編碼系統(tǒng),這樣就可以在多平臺的系統(tǒng)中安心使用而不必?fù)?dān)憂在程序移植中出現(xiàn)問題。Java的字符型常量的表示形式有4種,分別是:〔1〕用單引號括起來的單個字符,這些字符包含在Unicode字符集中,如'A','a'。〔2〕Java字符集中還包括一些控制字符,但這些控制字符是不能顯示的,可以通過轉(zhuǎn)義字符來表示。〔3〕用單引號括起來的八進制Unicode字符,形式是'\ddd',其中d的范圍是0~7,表示數(shù)值的范圍在八進制的000~777之間,它只能表示局部Unicode字符內(nèi)容。如'\023'?!?〕用單引號括起來的十六進制Unicode字符,形式是'\uxxxx',u字符后面帶4位十六進制數(shù),它可以表示全部Unicode字符內(nèi)容。如'\u2af3'。3.字符型常量Java采用Unicode編碼系統(tǒng),這樣就可以564.字符串常量字符串常量是用雙引號括起來的由0個或多個字符組成的一個字符序列,字符串可以包含有轉(zhuǎn)義字符。如“Howareyou?〞、“Goodafternoon\n〞。轉(zhuǎn)義字符功能Unicode碼\b退格\u0008\t水平制表\u0009\n換行\(zhòng)u000a\f換頁\u000c\r回車\u000d4.字符串常量字符串常量是用雙引號括起來的由0個或多個字符組575.布爾型常量布爾型變量的取值只有true〔真〕和false〔假〕兩種,它表示邏輯的兩種狀態(tài)。
歸納注釋:Java是一種面向?qū)ο蟮恼Z言,應(yīng)將所有的數(shù)據(jù)類型都封裝成類,應(yīng)使用與類或?qū)ο笥嘘P(guān)的引用類型。但是,由于這些簡單數(shù)據(jù)類型應(yīng)用得十分廣泛,已被廣大程序員所接受,所以為了提高效率和簡化編程,
Java也就允許使用這些與面向?qū)ο鬅o關(guān)的基本數(shù)據(jù)類型。當(dāng)然這些基本數(shù)據(jù)類型都有對應(yīng)的類,在定義數(shù)據(jù)時也可以使用這些類去定義。例如,對應(yīng)基本的double類型,存在一個Double類;對應(yīng)基本的char類型,存在一個Character類等。5.布爾型常量布爾型變量的取值只有true〔真〕和false58變量變量就是在程序運行過程中其值可以被改變的量。變量蘊涵有兩個含義,其一是變量的名稱;其二是賦給變量的值。變量名稱就是用戶自己為變量定義的標(biāo)識符,而變量的值那么是存儲在用變量標(biāo)識符所標(biāo)記的存儲位置處的數(shù)據(jù)。在程序設(shè)計過程中,要想使用變量,首先要對變量進展聲明,聲明有兩點:第一是聲明變量的名稱;第二是聲明變量的數(shù)據(jù)類型。聲明的一般格式如下:類型名變量名1[,變量名2][,……]或類型名變量名1[=初值1][,變量名2[=初值2],…….]其中方括號中的內(nèi)容為可選項。
變量要先經(jīng)過聲明,然后就可以對變量進行賦值和使用,如果沒有對變量賦值就使用,程序就會出現(xiàn)語法錯誤。變量類型名包括整數(shù)類型、浮點類型、字符類型、字符串和布爾型等類型。變量變量就是在程序運行過程中其值可以被改變的量。變量蘊涵有兩59數(shù)值類型之間的轉(zhuǎn)換以及混合運算
Java語言中對變量定義時需要指名其數(shù)據(jù)類型,然而在Java中允許對變量的類型進展轉(zhuǎn)換。變量的數(shù)據(jù)類型轉(zhuǎn)換是指在同一表達式中的各種不同的數(shù)據(jù)類型之間所進展的轉(zhuǎn)換。數(shù)據(jù)類型的轉(zhuǎn)換分為“自動類型轉(zhuǎn)換〞和“強制類型轉(zhuǎn)換〞兩種。1.自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換是需要符合以下兩個條件:〔1〕轉(zhuǎn)換前的數(shù)據(jù)類型與轉(zhuǎn)換后的數(shù)據(jù)類型兼容?!?〕轉(zhuǎn)換后的數(shù)據(jù)類型比轉(zhuǎn)換前的數(shù)據(jù)類型表示的范圍大。查看例2.1不同整數(shù)數(shù)據(jù)類型的轉(zhuǎn)換數(shù)值類型之間的轉(zhuǎn)換以及混合運算Java語言中對變量定義時需60數(shù)值類型之間的轉(zhuǎn)換以及混合運算
2.強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換分為兩種:一種是為了保證計算的精度,對數(shù)據(jù)類型進展轉(zhuǎn)換,它與自動類型轉(zhuǎn)換不同的是強制類型轉(zhuǎn)換表達式中的變量類型是一樣的,如兩個整型數(shù)據(jù)類型進展除法運算,所得的結(jié)果應(yīng)該不是整型才能保證計算的精度,所以要對數(shù)據(jù)類型進展強制轉(zhuǎn)換;另一種是不需要精度要求,不讓系統(tǒng)進展自動轉(zhuǎn)換處理,如兩個數(shù)據(jù)類型一個是int類型,另一個是float類型,所得的結(jié)果按照前面所講內(nèi)容應(yīng)該是float類型,但是如果不想要小數(shù)點后面的數(shù)據(jù),那么就要進展強制數(shù)據(jù)轉(zhuǎn)換。查看例2-2強制整數(shù)數(shù)據(jù)類型的轉(zhuǎn)換數(shù)值類型之間的轉(zhuǎn)換以及混合運算2.強制類型轉(zhuǎn)換61例:
floatx=2.7f;inty=(int)x;
floatz=x;問:1、z=?,y=?2、Java程序?qū)崿F(xiàn)?例:62表達式表達式是用運算符把操作數(shù)〔變量、常量和方法等〕連接起來表達某種運算或含義的式子。其中運算符是對操作數(shù)進展運算的符號,如數(shù)學(xué)上的加號“+〞就是一個運算符,它是算術(shù)運算符。系統(tǒng)在處理表達式后根據(jù)處理結(jié)果返回一個值,該值的類型為表達式的類型。例如:intc=10+20;運算符包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符等。表達式是包含運算符和操作數(shù)的算式,它操作的對象叫操作數(shù),而操作是通過運算符來實現(xiàn)的。一個表達式可能同時包括多個操作,而操作的順序是由各運算符的優(yōu)先級及括號來決定的。也就是說有括號先進展括號內(nèi)的操作,否那么按運算符的優(yōu)先級次序運算。表達式表達式是用運算符把操作數(shù)〔變量、常量和方法等〕連接起來63表達式如果表達式包含有邏輯運算符和邏輯變量,我們稱為邏輯表達式,所得結(jié)果是邏輯型常數(shù)。表達式通常有計算結(jié)果,通過賦值運算符將結(jié)果賦給運算符左面的變量。表達式是通過運算符將操作數(shù)連接起來組成的,下面來講解運算符。1、算術(shù)運算符2、關(guān)系運算符3、邏輯運算符4、位運算符5、賦值運算符表達式如果表達式包含有邏輯運算符和邏輯變量,我們稱為邏輯表達641、算術(shù)運算符算術(shù)運算符是數(shù)學(xué)上最常用的一類〔種〕運算符,Java語言為浮點數(shù)和整型數(shù)提供了多種算術(shù)操作符,包括+、-、×、/等。在表達式中,由于算術(shù)運算符中操作數(shù)數(shù)目的不同,算術(shù)運算符可以分為一元運算符和二元運算符。二元運算符是指算術(shù)運算符的兩側(cè)都有操作數(shù)。二元運算符如下表所示。運算符操作說明+操作數(shù)1+操作數(shù)2求和-操作數(shù)1-操作數(shù)2求差*操作數(shù)1×操作數(shù)2求積/操作數(shù)1/操作數(shù)2求商%操作數(shù)1%操作數(shù)2取余1、算術(shù)運算符算術(shù)運算符是數(shù)學(xué)上最常用的一類〔種〕運算符,651、算術(shù)運算符一元運算符是指運算符只需要一個操作數(shù)。一元運算符如下表所示。運算符操作說明++操作數(shù)++或++操作數(shù)操作數(shù)+1――操作數(shù)――或――操作數(shù)操作數(shù)-1--操作數(shù)操作數(shù)取反說明:a++與++a的區(qū)別:a++在使用a之后,使a的值加1,因此執(zhí)行完a++之后,整個表達式的值為a,而a的值變?yōu)閍+1。++a在使用a之前,使a的值加1,因此執(zhí)行完++a之后,整個表達式和a的值都為a+1。i--和--i也是同樣的道理。1、算術(shù)運算符一元運算符是指運算符只需要一個操作數(shù)。一元運662關(guān)系運算符所謂關(guān)系是指將兩個操作數(shù)通過某種關(guān)系關(guān)聯(lián)在一起。如x>y,我們稱x大于y,這就是關(guān)系。表達關(guān)系的運算符就是關(guān)系運算符,包括:運算符>、>=、<、<=、==、!=。
運算符操作舉例含義>操作數(shù)1>操作數(shù)2x>yx大于y>=操作數(shù)1>=操作數(shù)2x>=yx大于等于y<操作數(shù)1<操作數(shù)2x<yx小于y<=操作數(shù)1<=操作數(shù)2x<=yx小于等于y==操作數(shù)1==操作數(shù)2x==yx等于y!=操作數(shù)1!=操作數(shù)2x!=yx不等于y注意:“==”運算符與“=”運算符是不同的,前者是關(guān)系運算符,而后者是賦值運算符,一定要注意它們之間的區(qū)別。由關(guān)系運算符組成的表達式最終的結(jié)果是一個邏輯值,它可作為程序設(shè)計中的條件判斷語句。如:if(x>y)就是一個條件判斷語句,關(guān)系運算符兩邊有兩個操作數(shù)x、y。關(guān)系運算符是將運算符兩邊的操作數(shù)進行判別,看是否為“相等”、“大于”、“小于”等“關(guān)系”,是一個關(guān)系表達式,最后結(jié)果為布爾型值。2關(guān)系運算符所謂關(guān)系是指將兩個操作數(shù)通過某種關(guān)系關(guān)聯(lián)在一673邏輯運算符邏輯運算符與關(guān)系運算符的不同之處是關(guān)系運算符的運算結(jié)果是布爾型值,而邏輯運算的操作數(shù)和運算結(jié)果都是布爾型值。包括:&、|、!、^、&&、||。運算符運算舉例含義&與x&yx,y都為真時結(jié)果才是真|或x|yx,y都為假時結(jié)果才是假!非!xx為真時結(jié)果是假,x為假時結(jié)果為真^異或x^yx,y都為真或都為假時結(jié)果為假&&條件與x&&yx,y都為真時結(jié)果為真。如果左側(cè)表達式的值就能決定整個表達式的值,則右側(cè)表達式不執(zhí)行||條件或x||yx,y都為假時結(jié)果為假。如果左側(cè)表達式的值就能決定整個表達式的值,則右側(cè)表達式不執(zhí)行3邏輯運算符邏輯運算符與關(guān)系運算符的不同之處是關(guān)系運算符684位運算符位運算是指對整數(shù)的二進制表示中的每一位進行操作,所得的結(jié)果一定是整數(shù)。包括:~、&、|、^、
<<、>>、>>>4位運算符位運算是指對整數(shù)的695賦值運算符Java語言中,賦值運算作為一種運算符來處理的,賦值運算的一般形式:變量名=表達式;其中“=〞是賦值運算符。賦值運算符不能理解為過去數(shù)學(xué)學(xué)過的等號概念,它實質(zhì)上是將賦值運算符右面的數(shù)據(jù)或表達式的值賦給賦值運算符左面的變量。5賦值運算符Java語言中,賦值運算作為一種運算符來處理705賦值運算符運算符運算舉例含義運算符運算舉例含義+=加法x+=yx=x+y&=與x&=yx=x&y-=減法x-=yx=x-y|=或x|=yx=x|y*=乘法x*=yx=x*y^=異或x^=yx=x^y/=除法x/=yx=x/y<<=左移x<<=yx=x<<y%=取余x%=yx=x%y>>=右移x>>=yx=x>>y>>>=不帶符號右移x>>>=yx=x>>>y賦值運算符還可以與二元算術(shù)運算符、邏輯運算符和位運算符組合成簡捷使用方式,如下表所示。5賦值運算符運算符運算舉例含義運算符運算舉例含義+=加法71條件運算符格式:表達式1?表達式2:表達式3運算過程:先計算表達式1的值,假設(shè)表達式1的值為true,那么條件表達式的值為表達式2的值;假設(shè)表達式1的值為false,那么條件表達式的值為表達式3的值。問:求y=|x|,該怎么表達?解:y=x>0?x:-x條件運算符格式:表達式1?表達式2:表達式372運算符的優(yōu)先級所謂優(yōu)先級是指當(dāng)一個表達式中出現(xiàn)多個不同運算符時,執(zhí)行運算的先后次序。如右表所示。運算符描述優(yōu)先級結(jié)合性.[]()域,數(shù)組,括號1從右至左++---!~一元操作符2*/%乘,除,取余3+-加,減4<<>>>>>位運算5<<=>>=邏輯運算6==!=邏輯運算7&按位與8^按位異或9|按位或10&&邏輯與11||邏輯或12?:條件運算符13=*=/=%=+=-=<<=>>=>>>=&=^=|=賦值運算14運算符的優(yōu)先級所謂優(yōu)先級是指當(dāng)一個表達式中出現(xiàn)多個不同運算符732.3數(shù)組數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有一樣的數(shù)組名,根據(jù)數(shù)組名和下標(biāo)來唯一地確定數(shù)組中的元素。數(shù)組有一維數(shù)組和多維數(shù)組,使用時要先聲明后創(chuàng)立。一維數(shù)組的聲明一維數(shù)組的創(chuàng)立與賦值多維數(shù)組2.3數(shù)組數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有一樣74一維數(shù)組的聲明數(shù)組是Java語言中的特殊數(shù)據(jù)類型,它們保存著能通過下標(biāo)索引來引用的一組同類數(shù)據(jù)。一維數(shù)組是指一個線性數(shù)據(jù)序列,聲明方式為:數(shù)據(jù)類型數(shù)組名[];或數(shù)據(jù)類型[]數(shù)組名例如:intarr1[];char[]arr2;聲明了兩個數(shù)組,arr1是整型數(shù)組,arr2是字符型數(shù)組。說明:其中“數(shù)據(jù)類型〞可以是Java中任意的數(shù)據(jù)類型,“數(shù)組名〞為一個合法的標(biāo)識符,“[]〞指明該變量是一個數(shù)組類型變量并且是一維的。Java在數(shù)組的定義中并不為數(shù)組元素分配內(nèi)存,因此“[]〞中不用指出數(shù)組中元素的個數(shù)即數(shù)組長度,而且對于如上定義的一個數(shù)組暫時還不能訪問它的任何元素。一維數(shù)組的聲明數(shù)組是Java語言中的特殊數(shù)據(jù)類型,它們保存著75一維數(shù)組的創(chuàng)立與賦值定義數(shù)組后,還必須為數(shù)組分配內(nèi)存、初始化。這有兩種方法。1.用運算符new分配內(nèi)存再賦值格式:數(shù)組名=new數(shù)據(jù)類型[size]其中,size指明數(shù)組的長度。如:intintArr[]=newint[2];charchArr[]=newchar[5];上述語句將數(shù)組的聲明和創(chuàng)立放在一起,第一條語句聲明了一個整型數(shù)組并分配了3個整型數(shù)據(jù)所占據(jù)的內(nèi)存空間,順序為intArr[0],intArr[1]。第二條語句聲明并分配了5個char型變量所占據(jù)的內(nèi)存空間。數(shù)組元素賦值的方法與變量一樣,如:intArr[0]=10;intArr[1]=20;注意下標(biāo)是從第一個元素的0開始,到數(shù)組長度減1。一維數(shù)組的創(chuàng)立與賦值定義數(shù)組后,還必須為數(shù)組分配內(nèi)存、初始化76一維數(shù)組的創(chuàng)立與賦值2.直接賦初值并定義數(shù)組的大小第二種方法是直接賦初值并定義數(shù)組的大小。初值必須用大括號括起,用逗號作分隔符,初值的個數(shù)表示數(shù)組的大小。例如:inta[]={1,2,3,4,5,6,7,8,9,10};charc[]={′a′,′b′,′c′,′北′,′京′}查看例2.3一維數(shù)組的使用。一維數(shù)組的創(chuàng)立與賦值2.直接賦初值并定義數(shù)組的大小77多維數(shù)組〔略〕與C++一樣,Java將多維數(shù)組看作數(shù)組的數(shù)組。例如二維數(shù)組就是一個特殊的一維數(shù)組,它的每個元素是一個一維數(shù)組。查看例2.4二維數(shù)組的使用。多維數(shù)組〔略〕與C++一樣,Java將多維數(shù)組看作數(shù)組的數(shù)組782.4流程控制語句任何一門面向?qū)ο蟮恼Z言都必須以構(gòu)造化程序設(shè)計為根底,面向?qū)ο笳Z言中的根本模塊都是用構(gòu)造化程序設(shè)計的編程來實現(xiàn)的。構(gòu)造化程序設(shè)計有3種根本的流程構(gòu)造:順序、分支和循環(huán),如以下圖所示。順序執(zhí)行結(jié)構(gòu)是最簡單的程序流程,它不需要控制語句,而分支控制結(jié)構(gòu)和循環(huán)控制結(jié)構(gòu)都是比較復(fù)雜的程序流程,它們需要專門的控制語句。所謂分支控制結(jié)構(gòu)是根據(jù)條件來判斷執(zhí)行哪一組語句,如前面已經(jīng)講的條件運算符(?:)就是實現(xiàn)分支控制的運算符,Java語言還提供了兩個專門的獨立控制語句:if語句和Switch語句。Java語言提供了3個專門的循環(huán)控制語句:for語句、while語句和do…while語句。2.4流程控制語句任何一門面向?qū)ο蟮恼Z言都必須以構(gòu)造化程792.4流程控制語句分支語句循環(huán)語句特殊的控制流語句2.4流程控制語句80分支語句1.if語句if語句是實現(xiàn)“二選一〞的選擇語句,它有兩種形式。第一種形式:if(條件表達式)語句組;如:if(x<0)x=y;第二種形式:if(條件表達式)語句組1;else語句組2;條件語句if…else,只要“條件表達式〞值為真,就執(zhí)行其后的“語句組1〞,否那么就執(zhí)行else后的“語句組2〞。注意else局部可選也可不選,,不選就是第一種情況。2.switch分支構(gòu)造switch是多分支的開關(guān)語句,其構(gòu)造為:switch〔條件表達式〕{casen1(判斷值1):語句組1;break;casen2(判斷值2):語句組2;break;…default:語句組;break;}查看例2.5一個條件語句if…else的例子和例2.6一個switch分支構(gòu)造的例子
條件表達式的類型必須為整型或字符型;
n1,n2,…必須為常量;
default語句是可選的;
break語句用于退出
switch,若無則程序?qū)⒉辉俦容^而是依次執(zhí)行所有語句。switch分支結(jié)構(gòu)實際上也是一種if…else結(jié)構(gòu)不過它在編碼時很容易寫出判斷條件,特別有很多選項的時候,它把括號里變量的值同每種情況列出的值作比較,如果相等,就執(zhí)行后面的語句,如果不等,就執(zhí)行default語句。在switch語句中,通常在每一種case情況后都應(yīng)使用break語句,否則,第一個相等情況后面所有的語句都會被執(zhí)行,這種情況叫做落空。分支語句1.if語句條件表達式的類型必須為整型或字符型;81循環(huán)語句
Java的循環(huán)語句分為3種:
1.for循環(huán)
2.while循環(huán)
3.do…while循環(huán)結(jié)構(gòu)循環(huán)語句Java的循環(huán)語句分為3種:821.for循環(huán)Java語言的for語句的語法格式是:For(初始語句;邏輯表達式;迭代語句){語句組;}for語句的語義是:先執(zhí)行初始語句,判斷邏輯表達式的值,當(dāng)邏輯表達式為真時,執(zhí)行循環(huán)體語句,執(zhí)行迭代語句,然后再去判別邏輯表達式的值。這個過程一直進展下去,直到邏輯表達式的值為假時,循環(huán)完畢,轉(zhuǎn)到for之后的語句。for循環(huán)構(gòu)造在實現(xiàn)順序遞增直到到達某一極限的循環(huán)時是一個強有力的工具,for語句的格式要求把一個變量和一個確定的極限作比較,當(dāng)?shù)竭_極限時,中止循環(huán)。
初始語句和迭代語句中可以含有多個語句,各語句間以逗號分隔。
for語句括號內(nèi)的3部分都是可選的,邏輯表達式為空時,默認(rèn)規(guī)定為恒真。1.for循環(huán)Java語言的for語句的語法格式是:初始語831.for循環(huán)例如:for(i=0;i<10;i++){語句組;}在這個例子中變量i被設(shè)為0;第二個表達式i<10,指出循環(huán)何時完畢,對0~9的數(shù)值表達式都為真〔這就是說循環(huán)應(yīng)該繼續(xù)〕;最后的表達式i++指出循環(huán)每次對變量做什么,在例子中,循環(huán)使i〔0~9〕共10次執(zhí)行循環(huán)體。
注意(1)初始語句可以是以逗號分開的多個語句,并且按照從左到右的順序逐個執(zhí)行。(2)迭代語句后面不能加分號。(3)三個表達式都可以為空。(4)若循環(huán)變量在for語句前面已經(jīng)有定義并具有循環(huán)初值,則初始語句可以為空(分號不可省略)。(5)若邏輯表達式或迭代語句為空,則循環(huán)體為無條件循環(huán)。(6)for語句可以嵌套。1.for循環(huán)842.while循環(huán)while循環(huán)先判斷邏輯表達式
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程師勞動合同樣本
- 2024醫(yī)院托管合作經(jīng)營合同
- 2024家電產(chǎn)品配送合同書模板
- 2024標(biāo)準(zhǔn)委托代理合同格式
- 2024下載裝飾工程承包合同書
- 2024年紙張產(chǎn)品購買合同
- 員工試用期間工作表現(xiàn)評估
- 2024年勞務(wù)派遣服務(wù)合作協(xié)議
- 600字代辦委托協(xié)議范本
- 創(chuàng)業(yè)孵化基地租賃協(xié)議案例
- 數(shù)學(xué)史上的三次數(shù)學(xué)危機
- 2024年水電暖安裝承包合同
- 缺乳(乳汁淤積)產(chǎn)婦的中醫(yī)護理
- 2024北師大版新教材初中數(shù)學(xué)七年級上冊內(nèi)容解讀課件(深度)
- 2024年公共營養(yǎng)師三級考試試卷及答案
- 2024年上半年軟考信息系統(tǒng)項目管理師真題
- 北京市西城區(qū)2023-2024學(xué)年高一下學(xué)期期末英語試題(解析版)
- 三位數(shù)乘兩位數(shù)乘法豎式計算練習(xí)100道及答案
- 【金融模擬交易實踐報告書3700字(論文)】
- 人教版美術(shù)六年級上冊《第3課 遠去的路》說課稿6
- iso220002024食品安全管理體系
評論
0/150
提交評論