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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第二講

JAVA語言基礎(chǔ)

主要內(nèi)容Java語言的基本組成

Java技術(shù)關(guān)鍵字八個基本數(shù)據(jù)類型數(shù)組選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)Java語言的基本組成Java語言主要由以下五種元素組成:標識符、關(guān)鍵字、文字、運算符和分隔符。這五種元素有著不同的語法含義和組成規(guī)則,它們互相配合。注釋三種允許的Java技術(shù)程序注釋風(fēng)格//單行注釋/*單行或

多行注釋*//**文檔注釋*/文檔注釋一般放在一個變量或函數(shù)定義之前,指示在任何自動生成文檔系統(tǒng)中調(diào)入。標識符賦予變量、類、對象和方法的名稱命名規(guī)則:可包含一個字母、數(shù)字、下劃線(_)或美元符號($),但不能以數(shù)字開頭是大小寫區(qū)別對待的,且無最大長度

不能和關(guān)鍵字相同

合法標識符非法標識符

try

try#

group_7

7group

opendoor

open-door

Boolean

boolean

Java標識符的命名約定

(1)類名和接口名一般使用名詞,首字母大寫,若名稱是多個單詞的組合,每個單詞的第一個字母都應(yīng)該大寫,如:classStudent{}(2)變量名和方法名一般用小寫英文單詞命名,若名稱是多個單詞的組合,則第一個單詞小寫,后面單詞的第一個字母大寫,如:balanceAccount(3)常量名應(yīng)該全部大寫并用下劃線將詞分隔開,如:MAX_ARRAY_SIZE或MY_NAMEJava關(guān)鍵字

abstractdoimplementsprivatethrowbooleandoubleimportprotectedthrowsbreakelseinstanceofpublictransientbyteextendsintreturntruecasefalseinterfaceshorttrycatchfinallongstaticvoidcharfinallynativesupervolatileclassfloatnewswitchwhilecontinuefornullsynchronizeddefaultifpackagethisjava數(shù)據(jù)類型數(shù)據(jù)類型的分類如下所示:數(shù)據(jù)類型基本數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型數(shù)值型字符型:char布爾型:boolean整型:byte,short,int,long實型:float,double類:class數(shù)組和字符串接口:interface基本Java類型

邏輯型boolean字符型char整數(shù)型byte

short

int

long浮點型double

float

邏輯型──boolean

有兩個值:true和false不允許在數(shù)值型和邏輯型數(shù)據(jù)間進行轉(zhuǎn)換例: booleantruth=true;字符型──char

代表一個16-bitUnicode字符必須用單引號包括引用的文字轉(zhuǎn)義字符‘a(chǎn)’‘\t’一個制表符‘\u????’一個特殊的Unicode字符。????應(yīng)嚴格按照四個16進制數(shù)字進行替換整型──byte,short,int,long

缺省為int采用三種進制──十進制、八進制和16進制2十進制值是2077首位的0表示這是一個八進制的數(shù)值0xBAAC首位的0x表示這是一個16進制的數(shù)值用字母“L”和“l(fā)”定義long整型數(shù)據(jù)數(shù)值范圍類型長度取值范圍byte8bits-27——27-1short16bits-215——215-1int32bits-231——231-1long64bits-263——263-1浮點型──float和double

float:32位double:64位缺省為double浮點文字包括小數(shù)點或下列各項之一E或e(指數(shù)形式)F或f(float)D或d(double)1402E232.718F123.4E+306D變量先定義后使用變量的初始化變量的使用范圍

類型轉(zhuǎn)換

自動類型轉(zhuǎn)換強制類型轉(zhuǎn)換格式:(數(shù)據(jù)類型說明符)(表達式)

inta;

charb;

a=(int)b;

強制轉(zhuǎn)換得到的是中間變量類型,原變量類型不變自動類型轉(zhuǎn)換整型,實型,字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進行運算,轉(zhuǎn)換從低級到高級。要實現(xiàn)自動類型轉(zhuǎn)變,需要同時滿足兩個條件,第一是兩種類型彼此兼容,第二是目標類型的取值范圍大于源類型。進行類型轉(zhuǎn)換要注意使目標類型能夠容納原類型的所有信息,不會丟失信息的類型轉(zhuǎn)換有:原始類型目標類型

byte-〉short-〉char-〉int-〉long-〉float-〉double

運算符

優(yōu)先級. [] ()++ -- ! ~/ %+ -<< >> >>> <> <= >=== !=&^&&||?:= += -=

運算符和表達式算術(shù)運算符關(guān)系運算符位運算符邏輯運算符賦值運算符條件運算符運算符的優(yōu)先級數(shù)據(jù)類型轉(zhuǎn)換算術(shù)運算符算術(shù)運算符一般用于對整型數(shù)和浮點型數(shù)運算。算術(shù)運算符有+(加)、-(減)、*(乘)、/(除)和%(取余數(shù))五個二元運算符+(正)、-(負)、++(自增)、--(自減)四個一元運算符。關(guān)系運算符運算符實際操作例子<小于a<b>大于a>b<=小于等于a<=b>大于等于a>=b==等于a==b!=不等于a!=b位運算符運算符功能示例~按位取反~op&按位與op1&op2|按位或op1|op2^按位異或op1^op2<<按位左移op1<<op2>>按位右移op1>>op2>>>按位無符號右移op1>>>op2邏輯運算符邏輯運算符的運算對象只能是布爾型數(shù)據(jù),并且運算結(jié)果也是布爾型數(shù)據(jù)。邏輯運算符包括以下幾種:!(邏輯非)、&&(邏輯與)、||(邏輯或)。15/6 =215%6 =315>>2 =315<<2 =6015>>>2 =3-15>>2 =-4-15>>>2=1073741820字符串運算符

+

運算符可以把字符串連接起來如果哪一個操作數(shù)不是字符串,在連接之前它會被轉(zhuǎn)換成字符串

例:“a=“+12復(fù)合數(shù)據(jù)類型

引用類型可以被認為就是指向?qū)嶋H值或者指向變量所代表的實際值的指針復(fù)合數(shù)據(jù)類型分成三種,它們是:類(class)、接口(interface)和數(shù)組(array)默認值就是null

數(shù)組是程序開發(fā)中使用最多的數(shù)據(jù)結(jié)構(gòu)之一。Java語言同樣支持數(shù)組的使用,與其他語言不同的是Java數(shù)組是一種引用數(shù)據(jù)類型。所謂數(shù)組是名稱相同,下標不同的一組變量,它用來存儲一組類型相同的數(shù)據(jù)。數(shù)組數(shù)組的定義使用數(shù)組一般需要三個步驟:①聲明數(shù)組:聲明數(shù)組元素的數(shù)據(jù)類型;②創(chuàng)建數(shù)組:為數(shù)組元素分配存儲空間;③數(shù)組的初始化:為數(shù)組元素賦值。數(shù)組的聲明使用數(shù)組之前需要聲明數(shù)組,聲明數(shù)組就是告訴編譯器數(shù)組名和數(shù)組元素的類型。數(shù)組聲明的一般格式是:type[]arrayName;或typearrayName[];double[]score;String[]words;注意數(shù)組聲明不能指定數(shù)組的元素個數(shù),這一點與C/C++是不同的。創(chuàng)建數(shù)組數(shù)組聲明僅僅聲明一個數(shù)組對象的引用,而創(chuàng)建數(shù)組是為數(shù)組的每個元素分配存儲空間。創(chuàng)建數(shù)組使用new語句,一般格式為: arrayName=newtype[arraySize];該語句的功能是分配arraySize個type類型的存儲空間,并通過arrayName來引用。例如:score=newdouble[5];words=newString[3];創(chuàng)建數(shù)組數(shù)組的聲明和創(chuàng)建數(shù)組也可以用一個語句完成,例如:double[]score=newdouble[5];String[]words=newString[3];注意數(shù)組的大小可以在運行時指定,這一點C/C++不允許。數(shù)組的初始化數(shù)組的初始化就是為數(shù)組的每個元素賦初值,通常有兩種方法:(1)使用默認值初始化當用new運算符創(chuàng)建一個數(shù)組時,系統(tǒng)就為數(shù)組元素分配了存儲空間,這時每個元素都被初始化。基本數(shù)據(jù)類型的數(shù)組使用該類型的初值初始化,引用類型的數(shù)組其初值為null。對于引用類型的數(shù)組(對象數(shù)組)初始化還要為每個數(shù)組元素分配引用空間.數(shù)組的初始化數(shù)據(jù)類型初始值數(shù)據(jù)類型初始值booleanfalselong0Lbyte0float0.0Fshort0double0.0Dint0char\u0000referencenull數(shù)組的初始化設(shè)有下面聲明和創(chuàng)建數(shù)組的語句:double[]score=newdouble[5];String[]words=newString[3];length:5score[0]:0.0score[1]:0.0score[2]:0.0score[3]:0.0score[4]:0.0scorelength:3words[0]:nullwords[1]:nullwords[2]:nullwordsscore數(shù)組和words數(shù)組創(chuàng)建后的效果數(shù)組的初始化對于引用類型數(shù)組(對象數(shù)組)初始化還要為每個數(shù)組元素分配引用空間,例如:words[0]=newString("How");words[1]=newString("are");words[2]=newString("you");length:3words[0]words[1]words[2]wordsHowareyouwords數(shù)組元素創(chuàng)建后的效果數(shù)組的初始化聲明數(shù)組的同時對數(shù)組元素初始化適合數(shù)組元素較少的情況,也稱為靜態(tài)初始化,double[]score={79,84.5,63,90,98};String[]args={"How","are","you"};上面兩句還可以寫成:double[]sales=newdouble[]{79,84.5,63,90,98}; String[]args=newString[]{"How","are","you",};數(shù)組元素的使用數(shù)組的使用定義了一個數(shù)組,并使用new運算符為數(shù)組元素分配了內(nèi)存空間后,就可以使用數(shù)組中的每一個元素。數(shù)組元素的使用方式是: arrayName[index]其中,index為數(shù)組元素的下標,下標從0開始,到數(shù)組的長度減1。數(shù)組的使用數(shù)組一經(jīng)創(chuàng)建就不能改變數(shù)組的大小。數(shù)組作為對象提供了一個length成員變量,它表示數(shù)組元素的個數(shù),訪問該成員變量的方法為arrayName.length。為了保證安全性,Java運行時系統(tǒng)要對數(shù)組元素的范圍進行越界檢查,若超出數(shù)組元素的范圍如score[5],Java會拋出ArrayIndexOutOfBoundsException運行時異常。數(shù)組界限

所有數(shù)組的下標都從0開始一個數(shù)組中元素的數(shù)量被作為具有l(wèi)ength屬性的部分數(shù)組對象而存儲

intlist=new

int

10;

for(inti=0;i<list.length;i++) { System.out.println(listi);

}程序控制語句選擇(分支)結(jié)構(gòu)if語句if(邏輯表達式) {語句或塊;}

if(邏輯表達式) {語句或塊;}

else{語句或塊;}intcount;count=getCount();if(count<0) { System.out.println(“Error!");}else { System.out.println("count="+count);}switch語句

switch(expr1){

caseexpr2:statements;break;

caseexpr3:statements;break;

default:statements;break;

}expr1必須是int、byte、short或char類型表達式,不允許使用浮點或long表達式。switch(colorNum){ case0: setBackground(Color.red);break; case1: setBackground(Color.green);break; default: setBackground(Color.black);break;}while循環(huán)

while(邏輯表達式){循環(huán)體}例:inti=0;while(i<10){ System.out.println(“Howareyou."); i++;}System.out.println("Finally!");

do-while循環(huán)

do

{ 循環(huán)體}while(邏輯表達式);例: inti=0;

do{ System.out.println(“Howareyou."); i++; }while(i<10); System.out.println("Finally!");for循環(huán)

for(expr1;booleantestexpr;expr2){

statementorblock;

}例:

for(inti=0;i<10;i++){ System.out.println("AreyouOK?");}增強的for循環(huán)在J2SE5.0中,Java語言增加了一種循環(huán)結(jié)構(gòu),稱為增強的for循環(huán),它主要用于對數(shù)組和集合對象的元素的迭代。增強的for循環(huán)可以用來迭代數(shù)組和對象集合的每個元素。增強的for循環(huán)的一般格式為:for(typeidentifier:expression){ //循環(huán)體}例:使用for循環(huán),代碼如下:publicintsumArray(intarray[]){intsum=0;for(inti=0;i<array.length;i++){sum=sum+array[i];}returnsum;}若使用增強的for循環(huán),該段代碼可重寫如下:publicintsumArray(intarray[]){intsum=0;for(inti:array){sum=sum+i;}returnsum;}publicclassEnhancedForDemo{ publicstaticvoidmain(Stringargs[]){ String[]season={"Spring","Summer","Fall","Winter"};

for(Stringelement:season){ System.out.print(""+element);} }}break和continuebreak[label];break語句被用來從switch語句、循環(huán)語句和預(yù)先給定了label的塊中退出。continue[label];continue語句被用來略過并跳到循環(huán)體的結(jié)尾。label:語句;label可標識控制需要轉(zhuǎn)換到的任何有效語句,它被用來標識循環(huán)構(gòu)造的復(fù)合語句。test:for(...){ ....

while(...) {

if(j>10) {

breaktest; } }//endwhile}//endfortest:for(...){ ....

while(...) {

if(j>10) {

continuet

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論