《Java語言程序設(shè)計(jì)》課件第02章 Java語言基礎(chǔ)_第1頁
《Java語言程序設(shè)計(jì)》課件第02章 Java語言基礎(chǔ)_第2頁
《Java語言程序設(shè)計(jì)》課件第02章 Java語言基礎(chǔ)_第3頁
《Java語言程序設(shè)計(jì)》課件第02章 Java語言基礎(chǔ)_第4頁
《Java語言程序設(shè)計(jì)》課件第02章 Java語言基礎(chǔ)_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

【本章導(dǎo)讀】本章主要介紹數(shù)據(jù)類型、數(shù)組、字符串、運(yùn)算符與表達(dá)式、流程控制語句。這些都是Java語言中最為基礎(chǔ)的部分。對(duì)于Java初學(xué)者,首先要理解這些基本概念,掌握J(rèn)ava的基本語法,為今后的學(xué)習(xí)打下必要的基礎(chǔ)?!颈菊乱c(diǎn)】數(shù)據(jù)類型數(shù)組字符串運(yùn)算符與表達(dá)式流程控制語句2.1Java語言的數(shù)據(jù)類型類型分類類型名稱簡(jiǎn)單數(shù)據(jù)類型布爾型字符型整型byteshortintlong浮點(diǎn)型(實(shí)型)floatdouble復(fù)合數(shù)據(jù)類型類接口數(shù)組

booleancharclassinterafce標(biāo)識(shí)符和關(guān)鍵字用于標(biāo)識(shí)各種對(duì)象的名稱的有效字符序列稱為標(biāo)識(shí)符。構(gòu)成規(guī)則:在Java中,標(biāo)識(shí)符以字母、下劃線或$開頭,由字母、下劃線、$和數(shù)字組成。嚴(yán)格區(qū)分大小寫,沒有長(zhǎng)度限制。分類:關(guān)鍵字,用戶自定義標(biāo)識(shí)符常量在程序的運(yùn)行期間不能被修改的量。分類:普通常量,標(biāo)識(shí)符常量標(biāo)識(shí)符常量的聲明格式:

final數(shù)據(jù)類型常量名=數(shù)值如:finalinta=345

變量變量是Java程序中的基本存儲(chǔ)單元聲明格式:數(shù)據(jù)類型變量名[=數(shù)值[,變量名[=數(shù)值]…]變量的數(shù)據(jù)類型決定了變量所能容納的數(shù)值類型和它能進(jìn)行的運(yùn)算操作類型變量變量名命名規(guī)則變量的賦值

(1)在定義同時(shí)進(jìn)行賦值

(2)先定義后賦值在Java程序中,定義的變量若是還沒有賦初值,Java會(huì)自動(dòng)給予一個(gè)默認(rèn)值。但不適用于局部變量。不同數(shù)據(jù)類型的默認(rèn)值數(shù)據(jù)類型默認(rèn)值byte0short0int0long0Lfloat0.0fdouble0.0dchar\u0000booleanfalse變量的作用域變量的作用域是指它的存在范圍,只有在這個(gè)范圍內(nèi),程序代碼才能訪問它。局部變量:定義在方法中或方法內(nèi)的一個(gè)代碼塊中,其作用域?yàn)樗诘拇a塊。整型整型變量:

byteb;shorts;inti;

longl;變量類型所占內(nèi)存位數(shù)取值范圍byte8-27~(27-1)short16-215~(215-1)int32-231~(231-1)long64-263~(263-1)整型整型常量有三種形式:十進(jìn)制整數(shù):如236,-10,0八進(jìn)制整數(shù):以0開頭,如012十六進(jìn)制整數(shù):以0x開頭,如0x12浮點(diǎn)型浮點(diǎn)型變量:

floatmyFloat;

doublemyDouble;類型所占內(nèi)存位數(shù)取值范圍float32-3.4e38~3.4e038double64-1.7e08~1.7e308浮點(diǎn)型浮點(diǎn)型常量有兩種表示法:(1)十進(jìn)制表示法:3.25,76.32f,-5.8f,256.(2)科學(xué)表示法:5.24e-8f(=5.24*10-8)-3.1425e+2(=-3.1425*102)字符型Java對(duì)字符采用Unicode字符編碼。由于計(jì)算機(jī)的內(nèi)存只能存儲(chǔ)二進(jìn)制數(shù)據(jù),因此必須為各個(gè)字符進(jìn)行編碼。所謂字符編碼,是指用一串二進(jìn)制數(shù)來表示特定的字符。字符型ASCII編碼:是一個(gè)7位字符集,能表示128種字符,擴(kuò)展的8位字符集ISO-Latin-1能表示256種字符。Unicode編碼:能表示世界各地官方語言中所必須的可顯示字符集,Java采用16位的Unicode編碼來表示字符。能表示65536種字符。字符型字符型常量‘h’,’H’轉(zhuǎn)義字符序列

Java還允許使用一種特殊形式的字符常量來表示一些難以用一般字符來表示的字符,這種特殊形式的字符是以一個(gè)“\”開頭的字符序列,稱為轉(zhuǎn)義字符。

Java轉(zhuǎn)義字符轉(zhuǎn)義字符意義\ddd\uxxxx\’\”\\\r\n\f\b\t1到3位八進(jìn)制數(shù)所表示的字符1到4位十六進(jìn)制數(shù)所表示的字符單引號(hào)字符雙引號(hào)字符反斜杠字符回車換行走紙換頁退格橫向跳格(水平制表符)字符型字符變量

charc=‘a(chǎn)’;char類型的值能夠被自動(dòng)轉(zhuǎn)換成int型,并且能夠進(jìn)行加減運(yùn)算。字符串常量

Stringstr=“Thisisaboy.”布爾型Java的布爾型變量的取值范圍只有兩個(gè)值:false(假)和true(真)。Java中的布爾型不能轉(zhuǎn)換成其他類型。類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換整型、實(shí)型和字符型數(shù)據(jù)需要進(jìn)行混合運(yùn)算時(shí),首先需要把不同類型的數(shù)據(jù)轉(zhuǎn)化為同一類型,然后才能進(jìn)行運(yùn)算。轉(zhuǎn)換時(shí),系統(tǒng)將按照數(shù)據(jù)類型的表示范圍由小到大的轉(zhuǎn)換原則自動(dòng)進(jìn)行。數(shù)據(jù)類型的表示范圍由小到大的順序依次為:小大byteshortcharintlongfloatdouble類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換當(dāng)表示范圍大的數(shù)據(jù)類型要轉(zhuǎn)換成表示范圍小的數(shù)據(jù)類型時(shí),需要用到強(qiáng)制類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換的語法形式為:

(目標(biāo)類型)要轉(zhuǎn)換的變量名或值inti=3;byteb=(byte)i;//int型變量i強(qiáng)制轉(zhuǎn)換為byte型類型轉(zhuǎn)換有時(shí)當(dāng)兩個(gè)整數(shù)相除時(shí),系統(tǒng)會(huì)把這種運(yùn)算歸為整數(shù)類型的運(yùn)算,因而會(huì)自動(dòng)截去小數(shù)部分,使運(yùn)算結(jié)果保持為整數(shù)。這顯然不是預(yù)期的結(jié)果,因此想要得到運(yùn)算的結(jié)果為實(shí)型數(shù),就必須將兩個(gè)整數(shù)中的一個(gè)(或兩個(gè))強(qiáng)制轉(zhuǎn)換為實(shí)型,此時(shí)下面的三種寫法均可行:(float)a/ba/(float)b(float)a/(float)b只要在變量前面加上欲轉(zhuǎn)換的類型,運(yùn)行時(shí)系統(tǒng)就會(huì)自動(dòng)將這一行語句里的變量進(jìn)行類型轉(zhuǎn)換處理,但不會(huì)影響該變量原先定義的類型。2.4運(yùn)算符與表達(dá)式對(duì)各中類型的數(shù)據(jù)處理過程稱為運(yùn)算。表示不同運(yùn)算的符號(hào)成為運(yùn)算符。參與運(yùn)算的數(shù)據(jù)稱為操作數(shù)。表達(dá)式由標(biāo)識(shí)符、常量、變量和運(yùn)算符組成,是程序的基本組成部分。算術(shù)運(yùn)算類別名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象表達(dá)式實(shí)例運(yùn)行結(jié)果一元正+取原值整型(或)浮點(diǎn)型+3+3負(fù)-取負(fù)值-4-4二元加+加法4+59減-減法8-53乘*乘法

整型(或)浮點(diǎn)型4*936除/除法7.0/23.5模%整除取余

整型浮點(diǎn)型8%32傳統(tǒng)算術(shù)運(yùn)算算術(shù)運(yùn)算自增自減運(yùn)算符如果要進(jìn)行加1或者減1的運(yùn)算,可以使用一種快捷運(yùn)算符,又稱為自增自減運(yùn)算符:“++”和“--”。例如:i=i+1;它等同與下面的語句:

i++;算術(shù)運(yùn)算運(yùn)算符名稱示例說明++自加1a++;a先參加運(yùn)算再加1++a;a先加1后參與運(yùn)算--自減1a--;a先參加運(yùn)算再加1--a;a先參加運(yùn)算再加1算術(shù)運(yùn)算算術(shù)運(yùn)算的優(yōu)先規(guī)則(從高到低):

(++、--同一級(jí)別)—>(*、/、%同一級(jí)別)—>(+、-同一級(jí)別),同一級(jí)別內(nèi)部,按照出現(xiàn)的先后順序執(zhí)行計(jì)算。

關(guān)系運(yùn)算

關(guān)系運(yùn)算實(shí)際上是“比較運(yùn)算”,將兩個(gè)值通過關(guān)系運(yùn)算符進(jìn)行比較,關(guān)系運(yùn)算符都是二元運(yùn)算符,由關(guān)系運(yùn)算符組成的關(guān)系表達(dá)式的計(jì)算結(jié)果為布爾類型。關(guān)系運(yùn)算名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象表達(dá)式實(shí)例運(yùn)行結(jié)果小于<滿足則為真不滿足則為假整型(或)實(shí)型(或)字符型等2<3true小于或等于<=6<=6true大于>‘a(chǎn)’>’b’false大于或等于>=7.8>=5.6true等于==9==9true不等于!=8!=8false邏輯運(yùn)算邏輯運(yùn)算符經(jīng)常用來連接關(guān)系表達(dá)式,對(duì)關(guān)系表達(dá)式的值進(jìn)行邏輯運(yùn)算,因此邏輯運(yùn)算符的運(yùn)算對(duì)象必須是布爾型數(shù)據(jù),其邏輯表達(dá)式的運(yùn)行結(jié)果也是布爾型數(shù)據(jù)。Java的邏輯運(yùn)算符有三種。邏輯運(yùn)算表1:邏輯運(yùn)算符使用說明

類別名稱運(yùn)算符運(yùn)算規(guī)則運(yùn)算對(duì)象一元邏輯非!參看下表布爾型二元邏輯與&&邏輯或||邏輯運(yùn)算表2:邏輯運(yùn)算符運(yùn)算規(guī)則

ab!aa&&ba||bfalsefalsetruefalsefalsefalsetrue

falsetruetruefalsefalsefalsetruetruetrue

truetrue邏輯運(yùn)算在Java中,運(yùn)算符&&和||的運(yùn)算規(guī)則遵循一種在電工學(xué)中稱為“短路”的執(zhí)行方式,即對(duì)于邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的結(jié)果時(shí),才執(zhí)行該運(yùn)算符。邏輯運(yùn)算

邏輯表達(dá)式往往可用于表示比較復(fù)雜的條件。例如要判別某一年year是否是閏年,閏年的判別條件是:能被4整除但不能被100整除,或者能被400整除??梢杂靡粋€(gè)邏輯表達(dá)式來表示:(year%4==0&&year%100!=0)||year%400==0當(dāng)year為某一整數(shù)值時(shí),上述表達(dá)式值為true,則year年為閏年,否則為非閏年。位運(yùn)算位運(yùn)算符用來對(duì)以二進(jìn)制位為單位的數(shù)據(jù)進(jìn)行操作和運(yùn)算,其結(jié)果為整型值。運(yùn)算符說明用法舉例&轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行與運(yùn)算1&1=1,1&0=0,0&1=0,0&0=0|轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行或運(yùn)算1|1=1,1|0=1,0|1=1,0|0=0^轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行異或運(yùn)算1^1=0,1^0=1,0^1=1,0^0=0~

進(jìn)行數(shù)值的相反數(shù)減1運(yùn)算~100=-100-1=-101>>向右移位15>>1=7<<向左移位15<<1=30>>>無符號(hào)向右移位15>>>1=7賦值運(yùn)算符當(dāng)需要為各種不同的變量賦值時(shí),就必須使用賦值運(yùn)算符“=”,這里的“=”不是“等于”的意思,而是“賦值”的意思。a1=3;a1=a1+1;j=i=3;復(fù)合賦值運(yùn)算符運(yùn)算符用法舉例說明意義+=a+=ba+b的值存放到a中a=a+b-=a-=ba-b的值存放到a中a=a-b*=a*=ba*b的值存放到a中a=a*b/=a/=ba/b的值存放到a中a=a/b%=a%=ba%b的值存放到a中a=a%b條件運(yùn)算符條件運(yùn)算符是三元運(yùn)算符,其使用的語法形式為:<表達(dá)式>?e1:e2其中表達(dá)式值的類型為邏輯型,若表達(dá)式的值為真,則返回e1的值;表達(dá)式值為非真,返回e2的值。運(yùn)算符的優(yōu)先級(jí)Java語言規(guī)定了運(yùn)算符的優(yōu)先級(jí)與結(jié)合性。在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別由高到低的次序執(zhí)行,例如,算術(shù)運(yùn)算符中采用“先乘除后加減”。如果在一個(gè)運(yùn)算對(duì)象兩側(cè)的優(yōu)先級(jí)別相同,則按規(guī)定的“結(jié)合方向”處理,稱為運(yùn)算符的“結(jié)合性”。Java規(guī)定了各種運(yùn)算符的結(jié)合性,如算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇?,即先左后右。Java中也有一些運(yùn)算符的結(jié)合性是“自右至左”的。運(yùn)算符的優(yōu)先級(jí)例如:當(dāng)

a=3,b=4時(shí)若

k=a–5+b,則

k=2(先計(jì)算a-5,再計(jì)算-2+b)若

k=a+=b-=2,則

k=5(先計(jì)算b-=2,再計(jì)算a+=2)

2.5流程控制語句順序結(jié)構(gòu) 按照語句出現(xiàn)的先后次序依次執(zhí)行。選擇結(jié)構(gòu)

在多條執(zhí)行路徑中選擇一條執(zhí)行。循環(huán)結(jié)構(gòu)

在滿足一定的條件下反復(fù)執(zhí)行某段程序。順序結(jié)構(gòu)順序結(jié)構(gòu)開始語句1語句2語句n結(jié)束選擇結(jié)構(gòu)單分支語法if(條件表達(dá)式) {語句塊}表達(dá)式語句塊true選擇結(jié)構(gòu)雙分支結(jié)構(gòu)語法

if(條件表達(dá)式) {語句塊1} else{語句塊2}truefalse表達(dá)式語句塊2語句塊1選擇結(jié)構(gòu)嵌套if(多分支結(jié)構(gòu))語法:

if(…){if(…)語句1;

else語句2;} else {if(…)語句3 else語句4;}選擇結(jié)構(gòu)if…elseif(多分支結(jié)構(gòu))語法:if(條件1) {語句塊1}elseif(條件2) {語句塊2}……elseif(條件n) {語句塊n}else {語句塊n+1}truetruetruefalsefalsefalse表達(dá)式1表達(dá)式2表達(dá)式n語句塊1語句塊2語句塊n語句塊n+1……選擇結(jié)構(gòu)switch語句語法:switch<表達(dá)式>{case數(shù)值1:{語句塊1}break;case數(shù)值2:{語句塊2}break;……case數(shù)值n:{語句塊n}break;

default:{語句塊n+1}}falsetruetruetruefalsefalse數(shù)值1數(shù)值2數(shù)值n語句塊1語句塊2語句塊ndefault………breakbreakbreakswitch語句說明執(zhí)行switch語句時(shí),首先計(jì)算表達(dá)式的值,其類型是整型或字符型。表達(dá)式的值與各個(gè)case的常量作比較,若相同,則執(zhí)行該case后面的語句塊;default子句為可選。如果表達(dá)式的值與任何一個(gè)case的常量都不相同,則執(zhí)行default之后的語句快,若沒有default子句,則什么都不執(zhí)行。switch語句說明break語句的作用是當(dāng)執(zhí)行完一個(gè)case分支后,從switch結(jié)構(gòu)中退出。如果沒有break語句,當(dāng)程序執(zhí)行完匹配的case子句塊后,還會(huì)繼續(xù)執(zhí)行下一個(gè)語句塊,直到遇到break語句或遇到“}”。循環(huán)結(jié)構(gòu)當(dāng)在滿足一定條件的前提下需要反復(fù)執(zhí)行一些相同的操作時(shí),使用循環(huán)結(jié)構(gòu)語句便是最好的選擇。Java語言提供的循環(huán)結(jié)構(gòu)語句包括for語句、while語句和do-while語句。作為一個(gè)循環(huán)結(jié)構(gòu)來說,應(yīng)該包含如下內(nèi)容:賦初值部分:用于設(shè)置循環(huán)控制的一些初始條件。循環(huán)體部分:需要反復(fù)執(zhí)行的代碼(塊),當(dāng)然也可以是一句單一的語句。循環(huán)控制變量增減方式部分:用于更改循環(huán)控制變量的狀況。判斷條件部分:是一個(gè)返回邏輯(布爾)值的表達(dá)式,用于判斷是否滿足循環(huán)終止條件,以便及時(shí)結(jié)束循環(huán)。while語句語法:

while(判斷條件)

{

(循環(huán)體)語句塊;循環(huán)控制變量增(減)值;

}利用while循環(huán)語句計(jì)算從1累加到100的結(jié)果。判斷條件循環(huán)體truefalse循環(huán)控制變量賦初值循環(huán)控制變量增(減)值do-while語句語法:

do{

循環(huán)體;

}while(循環(huán)條件);利用do-while循環(huán)語句計(jì)算從1累加到100的結(jié)果。falsetrue判斷條件循環(huán)體;循環(huán)控制變量增(減)值;賦循環(huán)控制變量初值do-while語句在不知道一個(gè)循環(huán)體會(huì)被重復(fù)執(zhí)行多少次的情況下,可以使用while循環(huán)結(jié)構(gòu)或者do-while循環(huán)語句。編程序計(jì)算當(dāng)n為多大時(shí)下列不等式成立。10131211>++++n……for循環(huán)語句語法:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){

循環(huán)體;

}循環(huán)變量賦初值循環(huán)條件循環(huán)變量增減值判斷條件循環(huán)體truefalse賦循環(huán)控制變量初值循環(huán)控制變量增(減)值for循環(huán)語句for循環(huán)語句的適應(yīng)于明確知道重復(fù)執(zhí)行次數(shù)的情況。利用for循環(huán)語句計(jì)算從1累加到100的結(jié)果。循環(huán)的嵌套當(dāng)循環(huán)中循環(huán)體又是一個(gè)循環(huán)結(jié)構(gòu),這種形式稱為循環(huán)的嵌套。根據(jù)嵌套的層數(shù)不同,可分為二重循環(huán)、三重循環(huán)等。多層循環(huán)的執(zhí)行過程:外層循環(huán)每執(zhí)行一次,內(nèi)層循環(huán)就要從頭開始執(zhí)行一輪。輸出九九乘法表publicclassMuiTable{publicstaticvoidmain(Stringargs[]){inti,j;for(i=1;i<=9;i++) //外層循環(huán)

{for(j=1;j<=9;j++)//內(nèi)層循環(huán)

{System.out.print(i+"*"+j+"="+(i*j)+"\t");}System.out.println();}}}轉(zhuǎn)向控制語句轉(zhuǎn)向控制語句用在選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中,使程序員更方便地控制程序執(zhí)行的方向。三種轉(zhuǎn)向控制語句:break,continue,return語句。break語句用在switch語句和循環(huán)語句中。作用:使程序的流程從一個(gè)語句內(nèi)部轉(zhuǎn)移出去。語法:break[標(biāo)號(hào)]標(biāo)號(hào)的定義方法標(biāo)號(hào):循環(huán)塊使用帶標(biāo)號(hào)的break語句,可以從多重循環(huán)內(nèi)部跳出所有的循環(huán)。continue語句用在循環(huán)語句中。作用:終止當(dāng)前這一輪的循環(huán),不再執(zhí)行它后面的語句,直接進(jìn)入下一輪的循環(huán)。語法:continue[標(biāo)號(hào)]標(biāo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論