第2章 Java語言基礎(chǔ)_第1頁
第2章 Java語言基礎(chǔ)_第2頁
第2章 Java語言基礎(chǔ)_第3頁
第2章 Java語言基礎(chǔ)_第4頁
第2章 Java語言基礎(chǔ)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論