版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
【本章導讀】本章主要介紹數(shù)據(jù)類型、數(shù)組、字符串、運算符與表達式、流程控制語句。這些都是Java語言中最為基礎的部分。對于Java初學者,首先要理解這些基本概念,掌握Java的基本語法,為今后的學習打下必要的基礎。【本章要點】數(shù)據(jù)類型數(shù)組字符串運算符與表達式流程控制語句2.1Java語言的數(shù)據(jù)類型類型分類類型名稱簡單數(shù)據(jù)類型布爾型字符型整型byteshortintlong浮點型(實型)floatdouble復合數(shù)據(jù)類型類接口數(shù)組
booleancharclassinterafce標識符和關鍵字用于標識各種對象的名稱的有效字符序列稱為標識符。構(gòu)成規(guī)則:在Java中,標識符以字母、下劃線或$開頭,由字母、下劃線、$和數(shù)字組成。嚴格區(qū)分大小寫,沒有長度限制。分類:關鍵字,用戶自定義標識符常量在程序的運行期間不能被修改的量。分類:普通常量,標識符常量標識符常量的聲明格式:
final數(shù)據(jù)類型常量名=數(shù)值如:finalinta=345
變量變量是Java程序中的基本存儲單元聲明格式:數(shù)據(jù)類型變量名[=數(shù)值[,變量名[=數(shù)值]…]變量的數(shù)據(jù)類型決定了變量所能容納的數(shù)值類型和它能進行的運算操作類型變量變量名命名規(guī)則變量的賦值
(1)在定義同時進行賦值
(2)先定義后賦值在Java程序中,定義的變量若是還沒有賦初值,Java會自動給予一個默認值。但不適用于局部變量。不同數(shù)據(jù)類型的默認值數(shù)據(jù)類型默認值byte0short0int0long0Lfloat0.0fdouble0.0dchar\u0000booleanfalse變量的作用域變量的作用域是指它的存在范圍,只有在這個范圍內(nèi),程序代碼才能訪問它。局部變量:定義在方法中或方法內(nèi)的一個代碼塊中,其作用域為它所在的代碼塊。整型整型變量:
byteb;shorts;inti;
longl;變量類型所占內(nèi)存位數(shù)取值范圍byte8-27~(27-1)short16-215~(215-1)int32-231~(231-1)long64-263~(263-1)整型整型常量有三種形式:十進制整數(shù):如236,-10,0八進制整數(shù):以0開頭,如012十六進制整數(shù):以0x開頭,如0x12浮點型浮點型變量:
floatmyFloat;
doublemyDouble;類型所占內(nèi)存位數(shù)取值范圍float32-3.4e38~3.4e038double64-1.7e08~1.7e308浮點型浮點型常量有兩種表示法:(1)十進制表示法:3.25,76.32f,-5.8f,256.(2)科學表示法:5.24e-8f(=5.24*10-8)-3.1425e+2(=-3.1425*102)字符型Java對字符采用Unicode字符編碼。由于計算機的內(nèi)存只能存儲二進制數(shù)據(jù),因此必須為各個字符進行編碼。所謂字符編碼,是指用一串二進制數(shù)來表示特定的字符。字符型ASCII編碼:是一個7位字符集,能表示128種字符,擴展的8位字符集ISO-Latin-1能表示256種字符。Unicode編碼:能表示世界各地官方語言中所必須的可顯示字符集,Java采用16位的Unicode編碼來表示字符。能表示65536種字符。字符型字符型常量‘h’,’H’轉(zhuǎn)義字符序列
Java還允許使用一種特殊形式的字符常量來表示一些難以用一般字符來表示的字符,這種特殊形式的字符是以一個“\”開頭的字符序列,稱為轉(zhuǎn)義字符。
Java轉(zhuǎn)義字符轉(zhuǎn)義字符意義\ddd\uxxxx\’\”\\\r\n\f\b\t1到3位八進制數(shù)所表示的字符1到4位十六進制數(shù)所表示的字符單引號字符雙引號字符反斜杠字符回車換行走紙換頁退格橫向跳格(水平制表符)字符型字符變量
charc=‘a(chǎn)’;char類型的值能夠被自動轉(zhuǎn)換成int型,并且能夠進行加減運算。字符串常量
Stringstr=“Thisisaboy.”布爾型Java的布爾型變量的取值范圍只有兩個值:false(假)和true(真)。Java中的布爾型不能轉(zhuǎn)換成其他類型。類型轉(zhuǎn)換自動類型轉(zhuǎn)換整型、實型和字符型數(shù)據(jù)需要進行混合運算時,首先需要把不同類型的數(shù)據(jù)轉(zhuǎn)化為同一類型,然后才能進行運算。轉(zhuǎn)換時,系統(tǒng)將按照數(shù)據(jù)類型的表示范圍由小到大的轉(zhuǎn)換原則自動進行。數(shù)據(jù)類型的表示范圍由小到大的順序依次為:小大byteshortcharintlongfloatdouble類型轉(zhuǎn)換強制類型轉(zhuǎn)換當表示范圍大的數(shù)據(jù)類型要轉(zhuǎn)換成表示范圍小的數(shù)據(jù)類型時,需要用到強制類型轉(zhuǎn)換,強制類型轉(zhuǎn)換的語法形式為:
(目標類型)要轉(zhuǎn)換的變量名或值inti=3;byteb=(byte)i;//int型變量i強制轉(zhuǎn)換為byte型類型轉(zhuǎn)換有時當兩個整數(shù)相除時,系統(tǒng)會把這種運算歸為整數(shù)類型的運算,因而會自動截去小數(shù)部分,使運算結(jié)果保持為整數(shù)。這顯然不是預期的結(jié)果,因此想要得到運算的結(jié)果為實型數(shù),就必須將兩個整數(shù)中的一個(或兩個)強制轉(zhuǎn)換為實型,此時下面的三種寫法均可行:(float)a/ba/(float)b(float)a/(float)b只要在變量前面加上欲轉(zhuǎn)換的類型,運行時系統(tǒng)就會自動將這一行語句里的變量進行類型轉(zhuǎn)換處理,但不會影響該變量原先定義的類型。2.4運算符與表達式對各中類型的數(shù)據(jù)處理過程稱為運算。表示不同運算的符號成為運算符。參與運算的數(shù)據(jù)稱為操作數(shù)。表達式由標識符、常量、變量和運算符組成,是程序的基本組成部分。算術運算類別名稱運算符運算規(guī)則運算對象表達式實例運行結(jié)果一元正+取原值整型(或)浮點型+3+3負-取負值-4-4二元加+加法4+59減-減法8-53乘*乘法
整型(或)浮點型4*936除/除法7.0/23.5模%整除取余
整型浮點型8%32傳統(tǒng)算術運算算術運算自增自減運算符如果要進行加1或者減1的運算,可以使用一種快捷運算符,又稱為自增自減運算符:“++”和“--”。例如:i=i+1;它等同與下面的語句:
i++;算術運算運算符名稱示例說明++自加1a++;a先參加運算再加1++a;a先加1后參與運算--自減1a--;a先參加運算再加1--a;a先參加運算再加1算術運算算術運算的優(yōu)先規(guī)則(從高到低):
(++、--同一級別)—>(*、/、%同一級別)—>(+、-同一級別),同一級別內(nèi)部,按照出現(xiàn)的先后順序執(zhí)行計算。
關系運算
關系運算實際上是“比較運算”,將兩個值通過關系運算符進行比較,關系運算符都是二元運算符,由關系運算符組成的關系表達式的計算結(jié)果為布爾類型。關系運算名稱運算符運算規(guī)則運算對象表達式實例運行結(jié)果小于<滿足則為真不滿足則為假整型(或)實型(或)字符型等2<3true小于或等于<=6<=6true大于>‘a(chǎn)’>’b’false大于或等于>=7.8>=5.6true等于==9==9true不等于!=8!=8false邏輯運算邏輯運算符經(jīng)常用來連接關系表達式,對關系表達式的值進行邏輯運算,因此邏輯運算符的運算對象必須是布爾型數(shù)據(jù),其邏輯表達式的運行結(jié)果也是布爾型數(shù)據(jù)。Java的邏輯運算符有三種。邏輯運算表1:邏輯運算符使用說明
類別名稱運算符運算規(guī)則運算對象一元邏輯非!參看下表布爾型二元邏輯與&&邏輯或||邏輯運算表2:邏輯運算符運算規(guī)則
ab!aa&&ba||bfalsefalsetruefalsefalsefalsetrue
falsetruetruefalsefalsefalsetruetruetrue
truetrue邏輯運算在Java中,運算符&&和||的運算規(guī)則遵循一種在電工學中稱為“短路”的執(zhí)行方式,即對于邏輯表達式的求解中,并不是所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達式的結(jié)果時,才執(zhí)行該運算符。邏輯運算
邏輯表達式往往可用于表示比較復雜的條件。例如要判別某一年year是否是閏年,閏年的判別條件是:能被4整除但不能被100整除,或者能被400整除??梢杂靡粋€邏輯表達式來表示:(year%4==0&&year%100!=0)||year%400==0當year為某一整數(shù)值時,上述表達式值為true,則year年為閏年,否則為非閏年。位運算位運算符用來對以二進制位為單位的數(shù)據(jù)進行操作和運算,其結(jié)果為整型值。運算符說明用法舉例&轉(zhuǎn)換為二進制數(shù)進行與運算1&1=1,1&0=0,0&1=0,0&0=0|轉(zhuǎn)換為二進制數(shù)進行或運算1|1=1,1|0=1,0|1=1,0|0=0^轉(zhuǎn)換為二進制數(shù)進行異或運算1^1=0,1^0=1,0^1=1,0^0=0~
進行數(shù)值的相反數(shù)減1運算~100=-100-1=-101>>向右移位15>>1=7<<向左移位15<<1=30>>>無符號向右移位15>>>1=7賦值運算符當需要為各種不同的變量賦值時,就必須使用賦值運算符“=”,這里的“=”不是“等于”的意思,而是“賦值”的意思。a1=3;a1=a1+1;j=i=3;復合賦值運算符運算符用法舉例說明意義+=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條件運算符條件運算符是三元運算符,其使用的語法形式為:<表達式>?e1:e2其中表達式值的類型為邏輯型,若表達式的值為真,則返回e1的值;表達式值為非真,返回e2的值。運算符的優(yōu)先級Java語言規(guī)定了運算符的優(yōu)先級與結(jié)合性。在表達式求值時,先按運算符的優(yōu)先級別由高到低的次序執(zhí)行,例如,算術運算符中采用“先乘除后加減”。如果在一個運算對象兩側(cè)的優(yōu)先級別相同,則按規(guī)定的“結(jié)合方向”處理,稱為運算符的“結(jié)合性”。Java規(guī)定了各種運算符的結(jié)合性,如算術運算符的結(jié)合方向為“自左至右”,即先左后右。Java中也有一些運算符的結(jié)合性是“自右至左”的。運算符的優(yōu)先級例如:當
a=3,b=4時若
k=a–5+b,則
k=2(先計算a-5,再計算-2+b)若
k=a+=b-=2,則
k=5(先計算b-=2,再計算a+=2)
2.5流程控制語句順序結(jié)構(gòu) 按照語句出現(xiàn)的先后次序依次執(zhí)行。選擇結(jié)構(gòu)
在多條執(zhí)行路徑中選擇一條執(zhí)行。循環(huán)結(jié)構(gòu)
在滿足一定的條件下反復執(zhí)行某段程序。順序結(jié)構(gòu)順序結(jié)構(gòu)開始語句1語句2語句n結(jié)束選擇結(jié)構(gòu)單分支語法if(條件表達式) {語句塊}表達式語句塊true選擇結(jié)構(gòu)雙分支結(jié)構(gòu)語法
if(條件表達式) {語句塊1} else{語句塊2}truefalse表達式語句塊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表達式1表達式2表達式n語句塊1語句塊2語句塊n語句塊n+1……選擇結(jié)構(gòu)switch語句語法:switch<表達式>{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語句時,首先計算表達式的值,其類型是整型或字符型。表達式的值與各個case的常量作比較,若相同,則執(zhí)行該case后面的語句塊;default子句為可選。如果表達式的值與任何一個case的常量都不相同,則執(zhí)行default之后的語句快,若沒有default子句,則什么都不執(zhí)行。switch語句說明break語句的作用是當執(zhí)行完一個case分支后,從switch結(jié)構(gòu)中退出。如果沒有break語句,當程序執(zhí)行完匹配的case子句塊后,還會繼續(xù)執(zhí)行下一個語句塊,直到遇到break語句或遇到“}”。循環(huán)結(jié)構(gòu)當在滿足一定條件的前提下需要反復執(zhí)行一些相同的操作時,使用循環(huán)結(jié)構(gòu)語句便是最好的選擇。Java語言提供的循環(huán)結(jié)構(gòu)語句包括for語句、while語句和do-while語句。作為一個循環(huán)結(jié)構(gòu)來說,應該包含如下內(nèi)容:賦初值部分:用于設置循環(huán)控制的一些初始條件。循環(huán)體部分:需要反復執(zhí)行的代碼(塊),當然也可以是一句單一的語句。循環(huán)控制變量增減方式部分:用于更改循環(huán)控制變量的狀況。判斷條件部分:是一個返回邏輯(布爾)值的表達式,用于判斷是否滿足循環(huán)終止條件,以便及時結(jié)束循環(huán)。while語句語法:
while(判斷條件)
{
(循環(huán)體)語句塊;循環(huán)控制變量增(減)值;
}利用while循環(huán)語句計算從1累加到100的結(jié)果。判斷條件循環(huán)體truefalse循環(huán)控制變量賦初值循環(huán)控制變量增(減)值do-while語句語法:
do{
循環(huán)體;
}while(循環(huán)條件);利用do-while循環(huán)語句計算從1累加到100的結(jié)果。falsetrue判斷條件循環(huán)體;循環(huán)控制變量增(減)值;賦循環(huán)控制變量初值do-while語句在不知道一個循環(huán)體會被重復執(zhí)行多少次的情況下,可以使用while循環(huán)結(jié)構(gòu)或者do-while循環(huán)語句。編程序計算當n為多大時下列不等式成立。10131211>++++n……for循環(huán)語句語法:for(表達式1;表達式2;表達式3){
循環(huán)體;
}循環(huán)變量賦初值循環(huán)條件循環(huán)變量增減值判斷條件循環(huán)體truefalse賦循環(huán)控制變量初值循環(huán)控制變量增(減)值for循環(huán)語句for循環(huán)語句的適應于明確知道重復執(zhí)行次數(shù)的情況。利用for循環(huán)語句計算從1累加到100的結(jié)果。循環(huán)的嵌套當循環(huán)中循環(huán)體又是一個循環(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)語句中。作用:使程序的流程從一個語句內(nèi)部轉(zhuǎn)移出去。語法:break[標號]標號的定義方法標號:循環(huán)塊使用帶標號的break語句,可以從多重循環(huán)內(nèi)部跳出所有的循環(huán)。continue語句用在循環(huán)語句中。作用:終止當前這一輪的循環(huán),不再執(zhí)行它后面的語句,直接進入下一輪的循環(huán)。語法:continue[標號]標
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度中醫(yī)婦科師承教育合作合同4篇
- 2025年度智能化生產(chǎn)線設備采購合同補充協(xié)議3篇
- 2024進出口業(yè)務銷售合同范本
- 2025不銹鋼水箱售后服務與維護保養(yǎng)合同范本3篇
- 2024版潛孔鉆租賃業(yè)務協(xié)議要約一
- 家用電烤盤建設項目申請報告可行性研究報告
- 2025年度智能駕駛技術研發(fā)中心高級工程師個人聘用合同3篇
- 2025年度個人抵押貸款合同終止及債權(quán)債務處理合同范本4篇
- 2025年度個人消費信貸融資委托服務協(xié)議3篇
- 2025年寧夏公路橋梁建設有限公司招聘筆試參考題庫含答案解析
- GB/T 12914-2008紙和紙板抗張強度的測定
- GB/T 1185-2006光學零件表面疵病
- ps6000自動化系統(tǒng)用戶操作及問題處理培訓
- 家庭教養(yǎng)方式問卷(含評分標準)
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設計和原理
- TSG ZF001-2006 安全閥安全技術監(jiān)察規(guī)程
- 部編版二年級語文下冊《蜘蛛開店》
- 鍋爐升降平臺管理
- 200m3╱h凈化水處理站設計方案
- 個體化健康教育記錄表格模板1
評論
0/150
提交評論