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

下載本文檔

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

評論

0/150

提交評論