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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章Java語言基礎朱海波1主要內容:

標識符與保留字變量和常量基本數據類型運算符與表達式基本數據類型數組2第一節(jié)標識符與保留字一、標識符二、保留字三、分隔符3一、標識符(Identifier)定義:所謂標識符就是指用來標識Java中的包、類、方法、變量、常量等的名稱。就像我們要為每個新出生的嬰兒取一個名字,我們同樣要為Java的每個元素指定一個名稱,以便編譯器可以唯一識別它們。規(guī)則:(1)標識符由字母(a~z,A~Z)、數字、下劃線_和美元符號$組成;(2)首字母不能使用數字;(3)標識符不能是保留字,例如class;(4)大小寫字母表示不同的意義,即代表不同的標識符。思考:判定下面標識符的有效性?

myMethod;_demo;yu$12;8value;lee#;ONE-HUNDRED;class4二、保留字(ReservedWord)定義:保留字也稱關鍵字(Keyword),就是已經被Java語言本身使用,不能作其他用途使用的符號串。 保留字具有固定的語法含義,全部由小寫英文字母組成。Java語言的保留字包括:1、原始數據類型: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、對象相關保留字:

new、extends、implements、class、instanceof、this、super7、字面值常量:

false、true、null8、方法相關保留字:return、void9、包相關保留字:package、import10、備用:const、goto

留作將來供語言設計者擴充語言功能時使用。6三、分隔符定義:分隔符是用來分隔Java程序中的基本元素的符號,有空白符和普通分隔符兩種。1、空白符:空格、回車、換行符、制表符。

Java編譯器忽略空白符,所以空白符主要用來格式化源代碼。7三、分隔符2、普通分隔符

(4種){};

,:

{}用來定義類體、方法體等。一對花括號括起來的代碼段就是一個語句塊。分號‘;’用來表示語句的結束逗號‘,’用來區(qū)分方法中的各個參數以及區(qū)分變量聲明中的各個變量。例如:Sum(a,b)intx,y冒號‘:’用于語句標號中8第二節(jié)變量和常量

Java程序運行過程中,其值可以改變的量稱為變量。變量名Vs變量值變量對應著內存中的一個或幾個單元,變量的值就存放在所對應的內存單元中。變量名就是給對應的內存單元取一個名稱,這樣在程序中,可以按變量名稱來區(qū)分和使用這些內存單元。123xyz29第二節(jié)變量和常量Java程序運行時值不可修改的量稱為常量。10一、變量的特性變量名:變量名是一個合法的標識符,其命名必須遵循前面的標識符命名規(guī)則。 變量名一般應該具有的一定的含義,以增加程序的可讀性,例如:student,teacher。

11一、變量的特性變量的數據類型:可以是Java語言的任意一種數據類型;變量的作用域:指明可以訪問該變量的一段代碼。 聲明一個變量的同時也就指明了該變量的作用域。12二、變量的聲明變量在使用之前必須聲明。聲明一個變量就是在內存中開辟一塊區(qū)域,并與該變量名建立起聯系。變量聲明的語法:類型變量名1[=變量值1]

[,變量名2

[=變量值2]…];

例如:inta=1024,b=123;charc=‘A’;a102413三、變量的作用域前面講到,在聲明變量的同時也就確定了該變量的作用域。實際上,是由變量聲明在程序中的位置來決定變量的作用域。按照變量作用域的不同,可以把變量分成下面四種類型:

(1)局部變量:在方法中聲明,其作用域為該方法;

(2)類變量(全局變量):在類中,而不是在類的某個方法中聲明,其作用域為整個類;

(3)方法參數:方法參數傳遞給方法,它的作用域是這個方法;14三、變量的作用域

(4)異常處理參數:異常處理參數傳遞給異常處理器,其作用域為該異常處理器。publicclassAClass類變量聲明.....

局部變量聲明

try{

.....

catch(異常處理參數)

.....類變量作用域方法參數作用域局部變量作用域異常處理參數作用域

publicvoidMethod1(參數行)15四、常量

常量:在程序運行期間不會改變的量,如數字、字符、字符串等。

Java語言中的常量有下面兩大類:自定義常量:用final關鍵字修飾的變量,該變量的值一旦初始化,就不允許再發(fā)生改變。

例如,finalintNUM=100;NUM是一個整型的自定義常量;普通常量:又稱字面值,是源程序中表示的常數值,如12.6、246、false等,表示一個個具體的值。16四、常量普通常量按照數據類型的不同又分成下面五種:整型常量:123、-456、0。布爾型常量:true和false,分別代表真和假。字符常量:用單引號引起來的單個字符,如‘1’、‘a’、‘A’、‘$’等。17四、常量實型常量:0.123、1.23。字符串常量:用雙引號引起來的零個或者多個字符,如“”、“hello,Java”等。18第三節(jié)基本數據類型19一、整型數據類型類型缺省值長度取值范圍byte08位-27~27-1short016位-215~215-1int032位-231~231-1long064位-263~263-120二、浮點型數據類型類型缺省值長度取值范圍float0.032位-3.4*1038~3.4*1038

double0.064位-1.7*10308~1.7*1030821三、字符型數據類型類型缺省值長度取值范圍char'\u0000'

16位\u0000~\uFFFF

注:Java語言的字符使用16位的Unicode編碼表示,例如“\u0041”表示字母A。而一般計算機語言則使用ASCII碼,用8位表示一個字符。ASCII碼是Unicode碼的一個子集。Unicode碼通常用十六進制表示,例如“\u00FE”等。其中“\u0000

~“\u00FF”

表示ASCII碼,“

\u0100”~“\uFFFF”表示其他的Unicode碼?!癨u”是一個轉義字符,用來表示其后的4個數字代表一個Unicode碼。其他轉義字符如“\n”:換行、“\r”:回車。22Unicode編碼與ASCII編碼Java的字符數據類型與其他語言相比有較大的改進。C語言的字符類型是采用ASCII編碼,每個數據占用8個比特位,總共可以表示256個不同的字符。ASCII編碼具有一定的局限性,最典型的體現在處理以漢字為代表的東方文字方面。漢字的字符集大,僅用8位編碼是不夠的,所以傳統(tǒng)的處理方法是用兩個8位的字符來表示一個漢字。23Unicode編碼與ASCII編碼為了簡化問題,Java的字符類型采用了一種新的國際標準編碼方案——Unicode編碼。每個Unicode碼占用16個比特位,包含的信息量比ASCII碼多了很多倍,總共可以表示65536個不同的字符。無論東方字符還是西方字符,都可以統(tǒng)一用一個字符表達。由于采用Unicode編碼方案,為Java程序在基于不同語言的平臺間實現平滑移植鋪平了道路。24四、布爾型數據類型類型缺省值長度取值范圍booleanfalse

1位{false,true}25數據類型的轉換自動(隱式)數據類型轉換:

當不同數據類型的數據之間進行混合運算時,系統(tǒng)自動將數據從取值范圍小的類型轉換到取值范圍大的類型。

例如:

bytea=20; shortb=30;

intc=a+b;

小大26數據類型的轉換強制(顯式)數據類型轉換:

取值范圍大的數據類型轉換到取值范圍小的類型時,必須強制進行數據類型的轉換。

大小強制轉換27數據類型的轉換強制轉換的格式為:

(目標數據類型)變量或表達式

例如:inta=20; byteb=(byte)a;!!在進行強制類型轉換時要注意使目標類型能夠容納原類型的所有信息。!!布爾型數據不能轉換成數值型數據。28第四、五節(jié)運算符與表達式運算符:對操作數(變量、常量和子表達式等)進行運算的符號。

Java運算符包括:算術運算符、關系運算符、邏輯運算符、賦值運算符、位運算符等。表達式:用運算符把操作數連接起來,用來表達某種運算或含義的式子。29與C語言的不同與C不同之處:Java是強類型語言,類型限制比C嚴格,運算符的操作數的類型會受到更多限制。Java不提供指針運算符,增加了對象操作符

instanceof,字符串運算符

+和零填充的右移>>>等301、算術運算符與算術表達式運算符含義表達式+加a+b

-減a-b

*乘a*b

/除a/b

%取模a%b

++遞增a++或++a--遞減b--或--b-取負數c=-a312、關系運算符與關系表達式關系運算符用于測試兩個操作數之間的關系。關系表達式將返回一個布爾結果。運算符含義表達式==等于a==b!=不等于a!=b>大于a>b<小于a<b>=大于或等于a>=b<=小于或等于a<=b323、邏輯運算符與邏輯表達式運算符含義表達式說明&&邏輯與A&&BA、B都為假表達式為假||邏輯或A||BA、B都為真表達式為真^邏輯異或A^BA、B互異表達式為真!邏輯非!AA的反邏輯運算符總是與布爾操作數一起使用334、位運算符與位運算表達式運算符含義表達式~

按位非(NOT)

~a

&

按位與(AND)

a&b

|

按位或(OR)

a|b

^

按位異或(XOR)

a^b

>>

右移

(右移1位相當于除2)a>>2

>>>

右移,左邊空出的位以0填充

a>>>2

<<

左移

(左移1位相當于乘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、賦值運算符與賦值表達式賦值表達式的形式:變量名=子表達式或采用復合形式:變量名操作符=子表達式如: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是學生類的實例"); } else{

System.out.println("d不是學生類的實例"); }}}

可以判斷對象是否屬于一個特定的類38運算符的優(yōu)先次序表達式的運算通常按照運算符的優(yōu)先順序從高到低進行,同級運算符從左到右進行。首先單運算符,接著乘除加減,然后位運算符,之后比較運算,最后是賦值運算。單運算符乘除加減位運算符比較運算賦值運算>>>>39第六節(jié)

基本數據類型數組數組是一種比較特殊的數據類型,分為基本數據類型的數組和復合數據類型的數組。本章我們主要介紹基本數據類型的數組。數組是有序數據的集合,數組中的每個元素具有相同的數據類型,可以用一個統(tǒng)一的數組名和下標來唯一地確定數組中的元素。數組分為一維數組和多維數組。40第六節(jié)

基本數據類型數組

聲明數組數組的創(chuàng)建與初始化多維數組41一、聲明數組聲明包含兩部分:數組的類型與數組的名稱。格式:采用C,C++標準形式:基本數據類型數組名[];基本數據類型[]數組名;

例如:chars[];intp[];char[]s;int[]p;其中,方括號[]是數組的標志,不可或缺。42與C的不同之處

Java在聲明數組時,并不為數組元素分配內存空間。因此在聲明數組時,[]中可以不用指出數組的大小。

Java是在創(chuàng)建數組時來指明數組的長度,并為數組元素分配內存空間。

Java對數組元素進行越界檢查,可以很好的保證數組操作的安全性。43二、數組的創(chuàng)建與初始化聲明數組僅僅指定數組的名字和數組元素的類型,要想真正使用數組還需要為它開辟內存空間,即創(chuàng)建數組。在創(chuàng)建數組時必須指明數組的長度,以精確地確定該數組所占據的內存空間的大小。創(chuàng)建數組的語法格式為:數組名=new基本數據類型

[數組元素個數];chars[];44二、數組的創(chuàng)建與初始化例如:s=newchar[10];

創(chuàng)建數組也可以與聲明數組結合在一起,用一條語句來完成,例如:chars[]=newchar[10];

也可以通過給數組賦初始值的方式來創(chuàng)建數組,例如:char

m[]={‘a’,‘b’,

‘c’,

‘d’,

‘e’,

‘f’,

‘g’,

‘h’,

‘i’}

數組名=new

基本數據類型

[數組元素個數];chars[];45一維數組元素的引用

數組元素的引用方式為:

數組名[index]

index為數組下標,它可以為整型常數或表達式,下標從0開始計算。例如:

s[5]表示數組s中的第6個元素chars[]=newchar[10];46數組元素的個數與賦值

float[]tax=newfloat[5];

數組被創(chuàng)建后,該數組的大小值會被放在所分配內存區(qū)的第一個地址,并以length作此地址的參考。所以我們可用tax.length

來獲得此數組的大小值。數組被賦值的方法如下:

tax[0]=6786.5; tax[1]=8763.79;

47三、多維數組聲明方法

inta[][];或

int[][]a;構建方法

a=newint[2][4];//直接為每一維分配內存,生成規(guī)則數組

a=new

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論