版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章Java語言基礎(chǔ)朱海波1主要內(nèi)容:
標(biāo)識符與保留字變量和常量基本數(shù)據(jù)類型運(yùn)算符與表達(dá)式基本數(shù)據(jù)類型數(shù)組2第一節(jié)標(biāo)識符與保留字一、標(biāo)識符二、保留字三、分隔符3一、標(biāo)識符(Identifier)定義:所謂標(biāo)識符就是指用來標(biāo)識Java中的包、類、方法、變量、常量等的名稱。就像我們要為每個(gè)新出生的嬰兒取一個(gè)名字,我們同樣要為Java的每個(gè)元素指定一個(gè)名稱,以便編譯器可以唯一識別它們。規(guī)則:(1)標(biāo)識符由字母(a~z,A~Z)、數(shù)字、下劃線_和美元符號$組成;(2)首字母不能使用數(shù)字;(3)標(biāo)識符不能是保留字,例如class;(4)大小寫字母表示不同的意義,即代表不同的標(biāo)識符。思考:判定下面標(biāo)識符的有效性?
myMethod;_demo;yu$12;8value;lee#;ONE-HUNDRED;class4二、保留字(ReservedWord)定義:保留字也稱關(guān)鍵字(Keyword),就是已經(jīng)被Java語言本身使用,不能作其他用途使用的符號串。 保留字具有固定的語法含義,全部由小寫英文字母組成。Java語言的保留字包括:1、原始數(shù)據(jù)類型:byte、short、int、long、float、double、char、boolean2、循環(huán)保留字:
do、while、for、break、continue3、分支保留字:
if、else、switch、case、default、break5二、保留字4、方法、變量和類修飾符:
private、public、protected、final、static、abstract、synchronized、volatile5、異常處理:try、catch、finally、throw、throws6、對象相關(guān)保留字:
new、extends、implements、class、instanceof、this、super7、字面值常量:
false、true、null8、方法相關(guān)保留字:return、void9、包相關(guān)保留字:package、import10、備用:const、goto
留作將來供語言設(shè)計(jì)者擴(kuò)充語言功能時(shí)使用。6三、分隔符定義:分隔符是用來分隔Java程序中的基本元素的符號,有空白符和普通分隔符兩種。1、空白符:空格、回車、換行符、制表符。
Java編譯器忽略空白符,所以空白符主要用來格式化源代碼。7三、分隔符2、普通分隔符
(4種){};
,:
{}用來定義類體、方法體等。一對花括號括起來的代碼段就是一個(gè)語句塊。分號‘;’用來表示語句的結(jié)束逗號‘,’用來區(qū)分方法中的各個(gè)參數(shù)以及區(qū)分變量聲明中的各個(gè)變量。例如:Sum(a,b)intx,y冒號‘:’用于語句標(biāo)號中8第二節(jié)變量和常量
Java程序運(yùn)行過程中,其值可以改變的量稱為變量。變量名Vs變量值變量對應(yīng)著內(nèi)存中的一個(gè)或幾個(gè)單元,變量的值就存放在所對應(yīng)的內(nèi)存單元中。變量名就是給對應(yīng)的內(nèi)存單元取一個(gè)名稱,這樣在程序中,可以按變量名稱來區(qū)分和使用這些內(nèi)存單元。123xyz29第二節(jié)變量和常量Java程序運(yùn)行時(shí)值不可修改的量稱為常量。10一、變量的特性變量名:變量名是一個(gè)合法的標(biāo)識符,其命名必須遵循前面的標(biāo)識符命名規(guī)則。 變量名一般應(yīng)該具有的一定的含義,以增加程序的可讀性,例如:student,teacher。
11一、變量的特性變量的數(shù)據(jù)類型:可以是Java語言的任意一種數(shù)據(jù)類型;變量的作用域:指明可以訪問該變量的一段代碼。 聲明一個(gè)變量的同時(shí)也就指明了該變量的作用域。12二、變量的聲明變量在使用之前必須聲明。聲明一個(gè)變量就是在內(nèi)存中開辟一塊區(qū)域,并與該變量名建立起聯(lián)系。變量聲明的語法:類型變量名1[=變量值1]
[,變量名2
[=變量值2]…];
例如:inta=1024,b=123;charc=‘A’;a102413三、變量的作用域前面講到,在聲明變量的同時(shí)也就確定了該變量的作用域。實(shí)際上,是由變量聲明在程序中的位置來決定變量的作用域。按照變量作用域的不同,可以把變量分成下面四種類型:
(1)局部變量:在方法中聲明,其作用域?yàn)樵摲椒ǎ?/p>
(2)類變量(全局變量):在類中,而不是在類的某個(gè)方法中聲明,其作用域?yàn)檎麄€(gè)類;
(3)方法參數(shù):方法參數(shù)傳遞給方法,它的作用域是這個(gè)方法;14三、變量的作用域
(4)異常處理參數(shù):異常處理參數(shù)傳遞給異常處理器,其作用域?yàn)樵摦惓L幚砥?。publicclassAClass類變量聲明.....
局部變量聲明
try{
.....
catch(異常處理參數(shù))
.....類變量作用域方法參數(shù)作用域局部變量作用域異常處理參數(shù)作用域
publicvoidMethod1(參數(shù)行)15四、常量
常量:在程序運(yùn)行期間不會(huì)改變的量,如數(shù)字、字符、字符串等。
Java語言中的常量有下面兩大類:自定義常量:用final關(guān)鍵字修飾的變量,該變量的值一旦初始化,就不允許再發(fā)生改變。
例如,finalintNUM=100;NUM是一個(gè)整型的自定義常量;普通常量:又稱字面值,是源程序中表示的常數(shù)值,如12.6、246、false等,表示一個(gè)個(gè)具體的值。16四、常量普通常量按照數(shù)據(jù)類型的不同又分成下面五種:整型常量:123、-456、0。布爾型常量:true和false,分別代表真和假。字符常量:用單引號引起來的單個(gè)字符,如‘1’、‘a(chǎn)’、‘A’、‘$’等。17四、常量實(shí)型常量:0.123、1.23。字符串常量:用雙引號引起來的零個(gè)或者多個(gè)字符,如“”、“hello,Java”等。18第三節(jié)基本數(shù)據(jù)類型19一、整型數(shù)據(jù)類型類型缺省值長度取值范圍byte08位-27~27-1short016位-215~215-1int032位-231~231-1long064位-263~263-120二、浮點(diǎn)型數(shù)據(jù)類型類型缺省值長度取值范圍float0.032位-3.4*1038~3.4*1038
double0.064位-1.7*10308~1.7*1030821三、字符型數(shù)據(jù)類型類型缺省值長度取值范圍char'\u0000'
16位\u0000~\uFFFF
注:Java語言的字符使用16位的Unicode編碼表示,例如“\u0041”表示字母A。而一般計(jì)算機(jī)語言則使用ASCII碼,用8位表示一個(gè)字符。ASCII碼是Unicode碼的一個(gè)子集。Unicode碼通常用十六進(jìn)制表示,例如“\u00FE”等。其中“\u0000
”
~“\u00FF”
表示ASCII碼,“
\u0100”~“\uFFFF”表示其他的Unicode碼?!癨u”是一個(gè)轉(zhuǎn)義字符,用來表示其后的4個(gè)數(shù)字代表一個(gè)Unicode碼。其他轉(zhuǎn)義字符如“\n”:換行、“\r”:回車。22Unicode編碼與ASCII編碼Java的字符數(shù)據(jù)類型與其他語言相比有較大的改進(jìn)。C語言的字符類型是采用ASCII編碼,每個(gè)數(shù)據(jù)占用8個(gè)比特位,總共可以表示256個(gè)不同的字符。ASCII編碼具有一定的局限性,最典型的體現(xiàn)在處理以漢字為代表的東方文字方面。漢字的字符集大,僅用8位編碼是不夠的,所以傳統(tǒng)的處理方法是用兩個(gè)8位的字符來表示一個(gè)漢字。23Unicode編碼與ASCII編碼為了簡化問題,Java的字符類型采用了一種新的國際標(biāo)準(zhǔn)編碼方案——Unicode編碼。每個(gè)Unicode碼占用16個(gè)比特位,包含的信息量比ASCII碼多了很多倍,總共可以表示65536個(gè)不同的字符。無論東方字符還是西方字符,都可以統(tǒng)一用一個(gè)字符表達(dá)。由于采用Unicode編碼方案,為Java程序在基于不同語言的平臺(tái)間實(shí)現(xiàn)平滑移植鋪平了道路。24四、布爾型數(shù)據(jù)類型類型缺省值長度取值范圍booleanfalse
1位{false,true}25數(shù)據(jù)類型的轉(zhuǎn)換自動(dòng)(隱式)數(shù)據(jù)類型轉(zhuǎn)換:
當(dāng)不同數(shù)據(jù)類型的數(shù)據(jù)之間進(jìn)行混合運(yùn)算時(shí),系統(tǒng)自動(dòng)將數(shù)據(jù)從取值范圍小的類型轉(zhuǎn)換到取值范圍大的類型。
例如:
bytea=20; shortb=30;
intc=a+b;
小大26數(shù)據(jù)類型的轉(zhuǎn)換強(qiáng)制(顯式)數(shù)據(jù)類型轉(zhuǎn)換:
取值范圍大的數(shù)據(jù)類型轉(zhuǎn)換到取值范圍小的類型時(shí),必須強(qiáng)制進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。
大小強(qiáng)制轉(zhuǎn)換27數(shù)據(jù)類型的轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換的格式為:
(目標(biāo)數(shù)據(jù)類型)變量或表達(dá)式
例如:inta=20; byteb=(byte)a;!!在進(jìn)行強(qiáng)制類型轉(zhuǎn)換時(shí)要注意使目標(biāo)類型能夠容納原類型的所有信息。!!布爾型數(shù)據(jù)不能轉(zhuǎn)換成數(shù)值型數(shù)據(jù)。28第四、五節(jié)運(yùn)算符與表達(dá)式運(yùn)算符:對操作數(shù)(變量、常量和子表達(dá)式等)進(jìn)行運(yùn)算的符號。
Java運(yùn)算符包括:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、位運(yùn)算符等。表達(dá)式:用運(yùn)算符把操作數(shù)連接起來,用來表達(dá)某種運(yùn)算或含義的式子。29與C語言的不同與C不同之處:Java是強(qiáng)類型語言,類型限制比C嚴(yán)格,運(yùn)算符的操作數(shù)的類型會(huì)受到更多限制。Java不提供指針運(yùn)算符,增加了對象操作符
instanceof,字符串運(yùn)算符
+和零填充的右移>>>等301、算術(shù)運(yùn)算符與算術(shù)表達(dá)式運(yùn)算符含義表達(dá)式+加a+b
-減a-b
*乘a*b
/除a/b
%取模a%b
++遞增a++或++a--遞減b--或--b-取負(fù)數(shù)c=-a312、關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符用于測試兩個(gè)操作數(shù)之間的關(guān)系。關(guān)系表達(dá)式將返回一個(gè)布爾結(jié)果。運(yùn)算符含義表達(dá)式==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=b323、邏輯運(yùn)算符與邏輯表達(dá)式運(yùn)算符含義表達(dá)式說明&&邏輯與A&&BA、B都為假表達(dá)式為假|(zhì)|邏輯或A||BA、B都為真表達(dá)式為真^邏輯異或A^BA、B互異表達(dá)式為真!邏輯非!AA的反邏輯運(yùn)算符總是與布爾操作數(shù)一起使用334、位運(yùn)算符與位運(yùn)算表達(dá)式運(yùn)算符含義表達(dá)式~
按位非(NOT)
~a
&
按位與(AND)
a&b
|
按位或(OR)
a|b
^
按位異或(XOR)
a^b
>>
右移
(右移1位相當(dāng)于除2)a>>2
>>>
右移,左邊空出的位以0填充
a>>>2
<<
左移
(左移1位相當(dāng)于乘2)a<<1
34移位運(yùn)算示例00000000000000000000000000111111<<3的值為
00000000000000000000000111111000=504//(右邊永遠(yuǎn)加0);2)0000000000000000
0000000000111111>>3的值為
0000000000000000
0000000000000111=7//(最左邊為0時(shí),左邊加0)3)11111000000000000000000001111010>>3的值為
11111111000000000000000000001111//(最左邊為1時(shí),左邊加1)4)11111000000000000000000001111010>>>3的值為
00011111000000000000000000001111//(左邊永遠(yuǎn)加0)355、賦值運(yùn)算符與賦值表達(dá)式賦值表達(dá)式的形式:變量名=子表達(dá)式或采用復(fù)合形式:變量名操作符=子表達(dá)式如:x+=y;//等價(jià)于x=x+y;一次可以為多個(gè)變量賦值,如:inta=20000;intp,q,r,s;p=q=r=s=a;賦值運(yùn)算符(=)用于為變量賦值366、條件運(yùn)算符(?:)與條件表達(dá)式條件運(yùn)算符(?:)可以替代if-else語句true
false子表達(dá)式1?子表達(dá)式2:子表達(dá)式3
classTernaryOp{publicstaticvoidmain(Stringargs[]){intsalary,daysPresent=30;
salary=daysPresent==20?2000:3000;
System.out.println("您本月薪資為
$"+salary);}}377、Instanceof運(yùn)算符與表達(dá)式classStudent{publicstaticvoidmain(Stringargs[]){ Studentd=newStudent(); if(dinstanceofStudent){
System.out.println("d是學(xué)生類的實(shí)例"); } else{
System.out.println("d不是學(xué)生類的實(shí)例"); }}}
可以判斷對象是否屬于一個(gè)特定的類38運(yùn)算符的優(yōu)先次序表達(dá)式的運(yùn)算通常按照運(yùn)算符的優(yōu)先順序從高到低進(jìn)行,同級運(yùn)算符從左到右進(jìn)行。首先單運(yùn)算符,接著乘除加減,然后位運(yùn)算符,之后比較運(yùn)算,最后是賦值運(yùn)算。單運(yùn)算符乘除加減位運(yùn)算符比較運(yùn)算賦值運(yùn)算>>>>39第六節(jié)
基本數(shù)據(jù)類型數(shù)組數(shù)組是一種比較特殊的數(shù)據(jù)類型,分為基本數(shù)據(jù)類型的數(shù)組和復(fù)合數(shù)據(jù)類型的數(shù)組。本章我們主要介紹基本數(shù)據(jù)類型的數(shù)組。數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類型,可以用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來唯一地確定數(shù)組中的元素。數(shù)組分為一維數(shù)組和多維數(shù)組。40第六節(jié)
基本數(shù)據(jù)類型數(shù)組
聲明數(shù)組數(shù)組的創(chuàng)建與初始化多維數(shù)組41一、聲明數(shù)組聲明包含兩部分:數(shù)組的類型與數(shù)組的名稱。格式:采用C,C++標(biāo)準(zhǔn)形式:基本數(shù)據(jù)類型數(shù)組名[];基本數(shù)據(jù)類型[]數(shù)組名;
例如:chars[];intp[];char[]s;int[]p;其中,方括號[]是數(shù)組的標(biāo)志,不可或缺。42與C的不同之處
Java在聲明數(shù)組時(shí),并不為數(shù)組元素分配內(nèi)存空間。因此在聲明數(shù)組時(shí),[]中可以不用指出數(shù)組的大小。
Java是在創(chuàng)建數(shù)組時(shí)來指明數(shù)組的長度,并為數(shù)組元素分配內(nèi)存空間。
Java對數(shù)組元素進(jìn)行越界檢查,可以很好的保證數(shù)組操作的安全性。43二、數(shù)組的創(chuàng)建與初始化聲明數(shù)組僅僅指定數(shù)組的名字和數(shù)組元素的類型,要想真正使用數(shù)組還需要為它開辟內(nèi)存空間,即創(chuàng)建數(shù)組。在創(chuàng)建數(shù)組時(shí)必須指明數(shù)組的長度,以精確地確定該數(shù)組所占據(jù)的內(nèi)存空間的大小。創(chuàng)建數(shù)組的語法格式為:數(shù)組名=new基本數(shù)據(jù)類型
[數(shù)組元素個(gè)數(shù)];chars[];44二、數(shù)組的創(chuàng)建與初始化例如:s=newchar[10];
創(chuàng)建數(shù)組也可以與聲明數(shù)組結(jié)合在一起,用一條語句來完成,例如:chars[]=newchar[10];
也可以通過給數(shù)組賦初始值的方式來創(chuàng)建數(shù)組,例如:char
m[]={‘a(chǎn)’,‘b’,
‘c’,
‘d’,
‘e’,
‘f’,
‘g’,
‘h’,
‘i’}
數(shù)組名=new
基本數(shù)據(jù)類型
[數(shù)組元素個(gè)數(shù)];chars[];45一維數(shù)組元素的引用
數(shù)組元素的引用方式為:
數(shù)組名[index]
index為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,下標(biāo)從0開始計(jì)算。例如:
s[5]表示數(shù)組s中的第6個(gè)元素chars[]=newchar[10];46數(shù)組元素的個(gè)數(shù)與賦值
float[]tax=newfloat[5];
數(shù)組被創(chuàng)建后,該數(shù)組的大小值會(huì)被放在所分配內(nèi)存區(qū)的第一個(gè)地址,并以length作此地址的參考。所以我們可用tax.length
來獲得此數(shù)組的大小值。數(shù)組被賦值的方法如下:
tax[0]=6786.5; tax[1]=8763.79;
47三、多維數(shù)組聲明方法
inta[][];或
int[][]a;構(gòu)建方法
a=newint[2][4];//直接為每一維分配內(nèi)存,生成規(guī)則數(shù)組
a=new
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供水管理流程圖
- 三項(xiàng)崗位人員及班組長安全培訓(xùn)計(jì)劃表
- 直播帶貨產(chǎn)品課件
- 2025年熔化焊接與熱切割(復(fù)審)模擬考試題庫試卷
- 2024年長沙客運(yùn)資格證模擬考試題庫下載電子版
- 2024年??诳蛙噺臉I(yè)考試題庫及答案
- 甘南市重點(diǎn)中學(xué)2025屆高一數(shù)學(xué)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 福建省師大附中2025屆高一生物第一學(xué)期期末教學(xué)質(zhì)量檢測模擬試題含解析
- 湖北省宜昌市長陽縣第一高級中學(xué)2025屆高三生物第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 西塔塔吊施工方案科技雙優(yōu)化匯報(bào)
- 審查意見答復(fù)模板
- 中考作文考前輔導(dǎo):意高文自勝
- 公司收購聲明與承諾函
- 歷年北京市中小學(xué)生天文觀測競賽_天文知識_小學(xué)組
- 語文論文淺談如何在語文教學(xué)中培養(yǎng)學(xué)生情感
- 危險(xiǎn)化學(xué)品安全使用許可適用行業(yè)目錄(2013年版)3
- 濕法脫硫工藝計(jì)算書
- 轎車子午線輪胎用簾線品種及其性能
- 天然氣室外立管吊裝專項(xiàng)施工方案(完整版)
- 淺談博物館布展設(shè)計(jì)的內(nèi)容與形式
- 在音樂教學(xué)中培養(yǎng)學(xué)生的人文素養(yǎng)
評論
0/150
提交評論