版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第二章Java語言基礎(chǔ)朱海波1主要內(nèi)容:
標(biāo)識符與保留字變量和常量基本數(shù)據(jù)類型運算符與表達式基本數(shù)據(jù)類型數(shù)組2第一節(jié)標(biāo)識符與保留字一、標(biāo)識符二、保留字三、分隔符3一、標(biāo)識符(Identifier)定義:所謂標(biāo)識符就是指用來標(biāo)識Java中的包、類、方法、變量、常量等的名稱。就像我們要為每個新出生的嬰兒取一個名字,我們同樣要為Java的每個元素指定一個名稱,以便編譯器可以唯一識別它們。規(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è)計者擴充語言功能時使用。6三、分隔符定義:分隔符是用來分隔Java程序中的基本元素的符號,有空白符和普通分隔符兩種。1、空白符:空格、回車、換行符、制表符。
Java編譯器忽略空白符,所以空白符主要用來格式化源代碼。7三、分隔符2、普通分隔符
(4種){};
,:
{}用來定義類體、方法體等。一對花括號括起來的代碼段就是一個語句塊。分號‘;’用來表示語句的結(jié)束逗號‘,’用來區(qū)分方法中的各個參數(shù)以及區(qū)分變量聲明中的各個變量。例如:Sum(a,b)intx,y冒號‘:’用于語句標(biāo)號中8第二節(jié)變量和常量
Java程序運行過程中,其值可以改變的量稱為變量。變量名Vs變量值變量對應(yīng)著內(nèi)存中的一個或幾個單元,變量的值就存放在所對應(yīng)的內(nèi)存單元中。變量名就是給對應(yīng)的內(nèi)存單元取一個名稱,這樣在程序中,可以按變量名稱來區(qū)分和使用這些內(nèi)存單元。123xyz29第二節(jié)變量和常量Java程序運行時值不可修改的量稱為常量。10一、變量的特性變量名:變量名是一個合法的標(biāo)識符,其命名必須遵循前面的標(biāo)識符命名規(guī)則。 變量名一般應(yīng)該具有的一定的含義,以增加程序的可讀性,例如:student,teacher。
11一、變量的特性變量的數(shù)據(jù)類型:可以是Java語言的任意一種數(shù)據(jù)類型;變量的作用域:指明可以訪問該變量的一段代碼。 聲明一個變量的同時也就指明了該變量的作用域。12二、變量的聲明變量在使用之前必須聲明。聲明一個變量就是在內(nèi)存中開辟一塊區(qū)域,并與該變量名建立起聯(lián)系。變量聲明的語法:類型變量名1[=變量值1]
[,變量名2
[=變量值2]…];
例如:inta=1024,b=123;charc=‘A’;a102413三、變量的作用域前面講到,在聲明變量的同時也就確定了該變量的作用域。實際上,是由變量聲明在程序中的位置來決定變量的作用域。按照變量作用域的不同,可以把變量分成下面四種類型:
(1)局部變量:在方法中聲明,其作用域為該方法;
(2)類變量(全局變量):在類中,而不是在類的某個方法中聲明,其作用域為整個類;
(3)方法參數(shù):方法參數(shù)傳遞給方法,它的作用域是這個方法;14三、變量的作用域
(4)異常處理參數(shù):異常處理參數(shù)傳遞給異常處理器,其作用域為該異常處理器。publicclassAClass類變量聲明.....
局部變量聲明
try{
.....
catch(異常處理參數(shù))
.....類變量作用域方法參數(shù)作用域局部變量作用域異常處理參數(shù)作用域
publicvoidMethod1(參數(shù)行)15四、常量
常量:在程序運行期間不會改變的量,如數(shù)字、字符、字符串等。
Java語言中的常量有下面兩大類:自定義常量:用final關(guān)鍵字修飾的變量,該變量的值一旦初始化,就不允許再發(fā)生改變。
例如,finalintNUM=100;NUM是一個整型的自定義常量;普通常量:又稱字面值,是源程序中表示的常數(shù)值,如12.6、246、false等,表示一個個具體的值。16四、常量普通常量按照數(shù)據(jù)類型的不同又分成下面五種:整型常量:123、-456、0。布爾型常量:true和false,分別代表真和假。字符常量:用單引號引起來的單個字符,如‘1’、‘a(chǎn)’、‘A’、‘$’等。17四、常量實型常量:0.123、1.23。字符串常量:用雙引號引起來的零個或者多個字符,如“”、“hello,Java”等。18第三節(jié)基本數(shù)據(jù)類型19一、整型數(shù)據(jù)類型類型缺省值長度取值范圍byte08位-27~27-1short016位-215~215-1int032位-231~231-1long064位-263~263-120二、浮點型數(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。而一般計算機語言則使用ASCII碼,用8位表示一個字符。ASCII碼是Unicode碼的一個子集。Unicode碼通常用十六進制表示,例如“\u00FE”等。其中“\u0000
”
~“\u00FF”
表示ASCII碼,“
\u0100”~“\uFFFF”表示其他的Unicode碼?!癨u”是一個轉(zhuǎn)義字符,用來表示其后的4個數(shù)字代表一個Unicode碼。其他轉(zhuǎn)義字符如“\n”:換行、“\r”:回車。22Unicode編碼與ASCII編碼Java的字符數(shù)據(jù)類型與其他語言相比有較大的改進。C語言的字符類型是采用ASCII編碼,每個數(shù)據(jù)占用8個比特位,總共可以表示256個不同的字符。ASCII編碼具有一定的局限性,最典型的體現(xiàn)在處理以漢字為代表的東方文字方面。漢字的字符集大,僅用8位編碼是不夠的,所以傳統(tǒng)的處理方法是用兩個8位的字符來表示一個漢字。23Unicode編碼與ASCII編碼為了簡化問題,Java的字符類型采用了一種新的國際標(biāo)準(zhǔn)編碼方案——Unicode編碼。每個Unicode碼占用16個比特位,包含的信息量比ASCII碼多了很多倍,總共可以表示65536個不同的字符。無論東方字符還是西方字符,都可以統(tǒng)一用一個字符表達。由于采用Unicode編碼方案,為Java程序在基于不同語言的平臺間實現(xiàn)平滑移植鋪平了道路。24四、布爾型數(shù)據(jù)類型類型缺省值長度取值范圍booleanfalse
1位{false,true}25數(shù)據(jù)類型的轉(zhuǎn)換自動(隱式)數(shù)據(jù)類型轉(zhuǎn)換:
當(dāng)不同數(shù)據(jù)類型的數(shù)據(jù)之間進行混合運算時,系統(tǒng)自動將數(shù)據(jù)從取值范圍小的類型轉(zhuǎn)換到取值范圍大的類型。
例如:
bytea=20; shortb=30;
intc=a+b;
小大26數(shù)據(jù)類型的轉(zhuǎn)換強制(顯式)數(shù)據(jù)類型轉(zhuǎn)換:
取值范圍大的數(shù)據(jù)類型轉(zhuǎn)換到取值范圍小的類型時,必須強制進行數(shù)據(jù)類型的轉(zhuǎn)換。
大小強制轉(zhuǎn)換27數(shù)據(jù)類型的轉(zhuǎn)換強制轉(zhuǎn)換的格式為:
(目標(biāo)數(shù)據(jù)類型)變量或表達式
例如:inta=20; byteb=(byte)a;!!在進行強制類型轉(zhuǎn)換時要注意使目標(biāo)類型能夠容納原類型的所有信息。!!布爾型數(shù)據(jù)不能轉(zhuǎn)換成數(shù)值型數(shù)據(jù)。28第四、五節(jié)運算符與表達式運算符:對操作數(shù)(變量、常量和子表達式等)進行運算的符號。
Java運算符包括:算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符、位運算符等。表達式:用運算符把操作數(shù)連接起來,用來表達某種運算或含義的式子。29與C語言的不同與C不同之處:Java是強類型語言,類型限制比C嚴(yán)格,運算符的操作數(shù)的類型會受到更多限制。Java不提供指針運算符,增加了對象操作符
instanceof,字符串運算符
+和零填充的右移>>>等301、算術(shù)運算符與算術(shù)表達式運算符含義表達式+加a+b
-減a-b
*乘a*b
/除a/b
%取模a%b
++遞增a++或++a--遞減b--或--b-取負數(shù)c=-a312、關(guān)系運算符與關(guān)系表達式關(guān)系運算符用于測試兩個操作數(shù)之間的關(guān)系。關(guān)系表達式將返回一個布爾結(jié)果。運算符含義表達式==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=b323、邏輯運算符與邏輯表達式運算符含義表達式說明&&邏輯與A&&BA、B都為假表達式為假|(zhì)|邏輯或A||BA、B都為真表達式為真^邏輯異或A^BA、B互異表達式為真!邏輯非!AA的反邏輯運算符總是與布爾操作數(shù)一起使用334、位運算符與位運算表達式運算符含義表達式~
按位非(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移位運算示例00000000000000000000000000111111<<3的值為
00000000000000000000000111111000=504//(右邊永遠加0);2)0000000000000000
0000000000111111>>3的值為
0000000000000000
0000000000000111=7//(最左邊為0時,左邊加0)3)11111000000000000000000001111010>>3的值為
11111111000000000000000000001111//(最左邊為1時,左邊加1)4)11111000000000000000000001111010>>>3的值為
00011111000000000000000000001111//(左邊永遠加0)355、賦值運算符與賦值表達式賦值表達式的形式:變量名=子表達式或采用復(fù)合形式:變量名操作符=子表達式如:x+=y;//等價于x=x+y;一次可以為多個變量賦值,如:inta=20000;intp,q,r,s;p=q=r=s=a;賦值運算符(=)用于為變量賦值366、條件運算符(?:)與條件表達式條件運算符(?:)可以替代if-else語句true
false子表達式1?子表達式2:子表達式3
classTernaryOp{publicstaticvoidmain(Stringargs[]){intsalary,daysPresent=30;
salary=daysPresent==20?2000:3000;
System.out.println("您本月薪資為
$"+salary);}}377、Instanceof運算符與表達式classStudent{publicstaticvoidmain(Stringargs[]){ Studentd=newStudent(); if(dinstanceofStudent){
System.out.println("d是學(xué)生類的實例"); } else{
System.out.println("d不是學(xué)生類的實例"); }}}
可以判斷對象是否屬于一個特定的類38運算符的優(yōu)先次序表達式的運算通常按照運算符的優(yōu)先順序從高到低進行,同級運算符從左到右進行。首先單運算符,接著乘除加減,然后位運算符,之后比較運算,最后是賦值運算。單運算符乘除加減位運算符比較運算賦值運算>>>>39第六節(jié)
基本數(shù)據(jù)類型數(shù)組數(shù)組是一種比較特殊的數(shù)據(jù)類型,分為基本數(shù)據(jù)類型的數(shù)組和復(fù)合數(shù)據(jù)類型的數(shù)組。本章我們主要介紹基本數(shù)據(jù)類型的數(shù)組。數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有相同的數(shù)據(jù)類型,可以用一個統(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ù)組元素分配內(nèi)存空間。因此在聲明數(shù)組時,[]中可以不用指出數(shù)組的大小。
Java是在創(chuàng)建數(shù)組時來指明數(shù)組的長度,并為數(shù)組元素分配內(nèi)存空間。
Java對數(shù)組元素進行越界檢查,可以很好的保證數(shù)組操作的安全性。43二、數(shù)組的創(chuàng)建與初始化聲明數(shù)組僅僅指定數(shù)組的名字和數(shù)組元素的類型,要想真正使用數(shù)組還需要為它開辟內(nèi)存空間,即創(chuàng)建數(shù)組。在創(chuàng)建數(shù)組時必須指明數(shù)組的長度,以精確地確定該數(shù)組所占據(jù)的內(nèi)存空間的大小。創(chuàng)建數(shù)組的語法格式為:數(shù)組名=new基本數(shù)據(jù)類型
[數(shù)組元素個數(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ù)組元素個數(shù)];chars[];45一維數(shù)組元素的引用
數(shù)組元素的引用方式為:
數(shù)組名[index]
index為數(shù)組下標(biāo),它可以為整型常數(shù)或表達式,下標(biāo)從0開始計算。例如:
s[5]表示數(shù)組s中的第6個元素chars[]=newchar[10];46數(shù)組元素的個數(shù)與賦值
float[]tax=newfloat[5];
數(shù)組被創(chuàng)建后,該數(shù)組的大小值會被放在所分配內(nèi)存區(qū)的第一個地址,并以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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度制造業(yè)員工勞動合同樣本匯編與解讀3篇
- 2025年度乙方租房個性化定制服務(wù)合同3篇
- 2024年中國滑板門市場調(diào)查研究報告
- 2025年度年度果樹種植與果園土地承包技術(shù)創(chuàng)新協(xié)議3篇
- 2024年中國涂敷鋼領(lǐng)市場調(diào)查研究報告
- 2025年度旅行社旅游住宿設(shè)施承包運營合同3篇
- 2024年沂水中心醫(yī)院臨沂市第二人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年中國快送料曲軸市場調(diào)查研究報告
- 2025年度校車租賃與校園應(yīng)急疏散演練合同3篇
- 2024年臥式風(fēng)冷柴油機項目可行性研究報告
- QC成果解決鋁合金模板混凝土氣泡、爛根難題
- 管線管廊布置設(shè)計規(guī)范
- 提升教練技術(shù)--回應(yīng)ppt課件
- 招聘與錄用選擇題
- 《工資、薪金的個人所得稅的計算》教學(xué)設(shè)計
- 精品洲際酒店集團皇冠酒店設(shè)計標(biāo)準(zhǔn)手冊
- 周視瞄準(zhǔn)鏡的初步設(shè)計-北京理工大學(xué)-光電學(xué)院小學(xué)期作業(yè)
- Writing寫作教學(xué)設(shè)計
- 心房起搏電極的位置選擇ppt課件
- 四川省南充市2019-2020學(xué)年九年級上期末數(shù)學(xué)試卷(含答案解析)
- 上海市寶山區(qū)2019屆高三英語一模含答案
評論
0/150
提交評論