java02java程序設(shè)計(jì)基礎(chǔ)_第1頁
java02java程序設(shè)計(jì)基礎(chǔ)_第2頁
java02java程序設(shè)計(jì)基礎(chǔ)_第3頁
java02java程序設(shè)計(jì)基礎(chǔ)_第4頁
java02java程序設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

西北農(nóng)林科技大學(xué)(

INFORMATION)西農(nóng)林科技大學(xué)第二章

Java程序設(shè)計(jì)基礎(chǔ)信息類專業(yè)課程主要內(nèi)容(

INFORMATION)西農(nóng)林科技大學(xué)(1)標(biāo)識符和關(guān)鍵字

(2)數(shù)據(jù)類型(3)變量和常量

(4)數(shù)據(jù)類型轉(zhuǎn)換

(5)運(yùn)算符(6)程序流程控制語句

(7)結(jié)構(gòu)化程序設(shè)計(jì)2.1標(biāo)識符和關(guān)鍵字(

INFORMATION)西農(nóng)林科技大學(xué)Java中的標(biāo)識符:可以用來標(biāo)識變量名、類名、類中的方法名和文件名等.標(biāo)識符組成:

(1)

字母,

(2)數(shù)字,

(3)下劃線“_”和

(4)美元符號“$”;首字符必須是(1)

字母,

(2)下劃線“_”和

(3)美元符號“$”;所有標(biāo)識符是區(qū)分大小寫的;除去關(guān)鍵字、false、true和null;問題:是/不是標(biāo)識符?myVariable9pinsMYVARIABLEia+ctesting1-2-3myvariablejava¨My

Variable$myvariable9pins(

INFORMATION)西農(nóng)林科技大學(xué)It"s貓標(biāo)識符的習(xí)慣命名(

INFORMATION)西農(nóng)林科技大學(xué)能表達(dá)明確意義的英文單詞命名,并采用規(guī)范的單詞縮寫形式與單詞分隔形式。表示常量時(shí)標(biāo)識符全部用大寫字母和下劃線表示,如

PI,SALES_TAX。表示類名或接口名時(shí),標(biāo)識符用大寫字母開頭,如

CreditCard。表示變量名和方法名,以小寫字母開頭,單詞之間不要有分隔符,第二及后面單詞第一個(gè)字符用大寫字母,如authorName。Java關(guān)鍵字(

INFORMATION)西農(nóng)林科技大學(xué)具有特殊含義的字符序列例如:

public、

static和class具有特殊用途,不能作為變量名、方法名和類名2.2數(shù)據(jù)類型(

INFORMATION)西農(nóng)林科技大學(xué)2.3變量和常量(

INFORMATION)西農(nóng)林科技大學(xué)變量在計(jì)算機(jī)內(nèi)部對應(yīng)著一個(gè)存儲單元,而且總是具有某種數(shù)據(jù)類型:基本數(shù)據(jù)類型或引用數(shù)據(jù)類型變量總是具有與其數(shù)據(jù)類型相對應(yīng)的值每個(gè)變量均具有:

名字、類型、一定大小的存儲單元以及值變量名對應(yīng)內(nèi)存的位置Java變量必須屬于某種類型(

INFORMATION)西農(nóng)林科技大學(xué)變量值也必須與變量類型相匹配例如:int

studentNumber;//

聲明單個(gè)變量double

velocity,

distance;

//

聲明多個(gè)變量studentNumber=30;

//

給變量賦以整數(shù)30int

studentNumber=30;//

聲明變量,并賦初值變量在內(nèi)存中的存儲方式(

INFORMATION)西農(nóng)林科技大學(xué)int

ID

=

42889;String

s

=“Hello

World!

”;StringHello

World!”;SIDE3FA08C142889堆棧堆常量(

INFORMATION)西農(nóng)林科技大學(xué)賦值后不能更改的值使用關(guān)鍵final使常量不能改變?nèi)鏵inal

double

SALES_TAX=6.5;如果試圖改變常量的值,編譯器將發(fā)出一條出錯(cuò)信息Java常量(

INFORMATION)西農(nóng)林科技大學(xué)Java常量包括基本數(shù)據(jù)類型常量、字符串(String

)常量和null布爾(boolean)常量只有兩個(gè):

true

false‘c",

‘a(chǎn)

",

‘Q "

‘Z "

是char常量.34是int常量1.5,

45.6,

76.4E8和-32.0是double常量34L是long常量.1.5F,

45.6f,

76.4E8F和-32.0F是float常量“Hello

World!

”是String常量null是引用數(shù)據(jù)類型的常量任意引用數(shù)據(jù)類型的常量(null)2.4數(shù)據(jù)類型轉(zhuǎn)換(

INFORMATION)西農(nóng)林科技大學(xué)用變量、常量賦值給另一個(gè)變量時(shí),兩者的數(shù)據(jù)類型必須一致。如不一致,則要進(jìn)行數(shù)據(jù)的類型轉(zhuǎn)換類型轉(zhuǎn)換有隱式轉(zhuǎn)換(自動(dòng)類型轉(zhuǎn)換)和顯式轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換)兩種隱式類型轉(zhuǎn)換(

INFORMATION)西農(nóng)林科技大學(xué)當(dāng)占用比特位較少的類型轉(zhuǎn)換為占有比特位數(shù)較多的數(shù)據(jù)時(shí),使用隱式類型轉(zhuǎn)換轉(zhuǎn)換過程由Java編譯器自動(dòng)進(jìn)行例:將短格式整型數(shù)據(jù)賦值為長格式整型數(shù)據(jù),不會出現(xiàn)錯(cuò)誤,如:int

i

=

123;long

j

=

i;若反過來,將長格式賦值給短格式整數(shù),如:

long

j=25L;int

i

=

j;以及將雙精度數(shù)據(jù)賦值為單精度變量,如:

float

a=2.5;將出現(xiàn)編譯錯(cuò)誤。顯示類型轉(zhuǎn)換(

INFORMATION)西農(nóng)林科技大學(xué)當(dāng)長格式數(shù)據(jù)賦值給短格式整型變量,雙精度數(shù)據(jù)給單精度類型賦值,浮點(diǎn)型數(shù)據(jù)給整型變量賦值時(shí),均要進(jìn)行顯示類型轉(zhuǎn)換,即強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換的格式為:(目標(biāo)數(shù)據(jù)類型)變量名例如:int

a

=

260;byte

b;b

=

(byte)a;2.5運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)對基本數(shù)據(jù)類型的常量與變量進(jìn)行加工的過程成為運(yùn)算,表示各種不同運(yùn)算的符號稱為運(yùn)算符,參與運(yùn)算的數(shù)據(jù)稱為操作數(shù)。Java語言的運(yùn)算符分成以下幾類:一元運(yùn)算符二元或三元運(yùn)算符前綴或中綴或后綴運(yùn)算符Java運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)算術(shù)運(yùn)算符關(guān)系運(yùn)算符布爾邏輯運(yùn)算符位運(yùn)算符賦值類運(yùn)算符條件運(yùn)算符其他運(yùn)算符1、算術(shù)運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)算術(shù)運(yùn)算符包括:+,-,*,/,++,--,%沒有指數(shù)運(yùn)算//

2.03.0Math.pow(2.0,

3.0);整數(shù)除法:截去余數(shù)7

/

5 結(jié)果為

1取模:返回余數(shù)7

%

5 結(jié)果為

2問題?7/-5=-7%5=7%-5=-7.0/5=7/-5.0=7%5.0=-7%-5.0=(

INFORMATION)西農(nóng)林科技大學(xué)-1-22-1.4-1.42.0-2.02、關(guān)系運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)六個(gè)關(guān)系運(yùn)算符:

<、

>、<=、>=、==

!=例如://1

>

2;false3.5!=1;//true51.5>=23.0;//true540<=654;//true24

==

3*8;boolean

isEqual=(10<

10);//

true//

isEqual=

false;關(guān)系運(yùn)算符的注意事項(xiàng)(

INFORMATION)西農(nóng)林科技大學(xué)<、>、<=和>=只能用來比較兩個(gè)數(shù)值類型數(shù)據(jù)

(numbers含characters)的大小不能用于Strings、booleans、arrays或其他類型3、布爾邏輯運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)六個(gè)布爾邏輯運(yùn)算符:&&||&

(邏輯與AND)|

(邏輯或OR)^

(邏輯異或XOR

)!

(邏輯非NOT)單目運(yùn)算符, 即只有一個(gè)操作數(shù)(條件與AND)(條件或OR)4、位運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)位運(yùn)算符包括:&、|、~、^、>>、>>>和<<>>

帶符號右移<<

左移>>>不帶符號右移越晦澀難懂的,越會被SCJP考到

(?)移位操作是:先將整數(shù)寫成二進(jìn)制形式,然后按位操作,最后產(chǎn)生一個(gè)新的數(shù)注意:

只用于整數(shù)5、賦值類運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)賦值類運(yùn)算符包括:=、+=、-=、*=、/=、&=、|=、%=、<<=、>>=和>>>=op1=op1 二元運(yùn)算符

op2;等價(jià)于

op1二元運(yùn)算符=

op2;例如:a=a+b;等價(jià)于a+=b;6、條件運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)條件運(yùn)算符“?:”的表達(dá)式形式為“op1?op2:

op3”op1:布爾表達(dá)式例如:int

k=

(

(i>=0)

?

1

:

-1);7、其他運(yùn)算符(

INFORMATION)西農(nóng)林科技大學(xué)其他運(yùn)算符包括:(類型)、.、[]、()、instanceof和new例如:int

a=51;char

c=(char)a;運(yùn)算符優(yōu)先級(

INFORMATION)西農(nóng)林科技大學(xué)一元后綴一元前綴創(chuàng)建和強(qiáng)制類型轉(zhuǎn)換[

]

. (

)

++

--++

--

+

=

~

!new

(type)倍數(shù)*/%增量+-移位<<>>>>>關(guān)系

<>>=

<=

instanceof等價(jià)==!=與

&異或

^或

|布爾與

&&布爾或

||條件

?:賦值

+=

-=

*=

/=

%=

>>=

<<=

>>>=

&=

^=

|=2.6程序流程控制語句(

INFORMATION)西農(nóng)林科技大學(xué)if

/

else

if

/

elsewhile~do

whileforswitch

casebreakcontinueif-else語句(

INFORMATION)西農(nóng)林科技大學(xué)if-else語句根據(jù)判定條件的真假來執(zhí)行兩種操作中的一種。它的形式如下:if(布爾表達(dá)式){語句1;}[

else{語句2;}]其中,用“[]”括起的else部分是可選的(即可有可無的)。若無else部分,if語句的流程如下圖:無else部分的if語句的流程圖(

INFORMATION)西農(nóng)林科技大學(xué)布爾表達(dá)式truefalse語句1后續(xù)語句若有else部分,if語句的流程如圖(

INFORMATION)西農(nóng)林科技大學(xué)注意:else子句不能作為語

句單獨(dú)使用,

它必須是if語句的一部分,

與if配對使用。布爾表達(dá)式truefalse語句1后續(xù)語句語句2例:判斷成績是否優(yōu)秀(

INFORMATION)西農(nóng)林科技大學(xué)class

If_NoElse{public

static

void

main(String[

]

args){int

scoreOfMark=89;if(scoreOfMark>=90){System.out.println(“祝賀你,你的成績優(yōu)秀);}else{System.out.println(“你的成績未達(dá)到優(yōu)秀,請繼續(xù)努力!);}}}while語句(

INFORMATION)西農(nóng)林科技大學(xué)while語句的語法形式為:while(布爾表達(dá)式){語句}while語句用于在布爾表達(dá)式(即測試條件)的值保持為真(true)時(shí)反復(fù)地執(zhí)行其中的內(nèi)嵌語句(一般叫做循環(huán)體)。while語句的流程圖(

INFORMATION)西農(nóng)林科技大學(xué)布爾表達(dá)式Truefalse循環(huán)體例:用while語句求1+2+…+10的和。(

INFORMATION)西農(nóng)林科技大學(xué)public

class

WhileOfSum{public

static

void

main(String[

]

args)

{int

i,sum;//累加器清0//i的初始值為1sum=0;i=1;while

(i<=10){sum+=i;i++;}System.out.println(sum=+sum);}}do~

while語句(

INFORMATION)西農(nóng)林科技大學(xué)Java還提供了另一個(gè)與while語句類似的語句:do~while語句。

do~while語句的語法形式如下:do{語句;}while(布爾表達(dá)式);do~while語句的流程圖(

INFORMATION)西農(nóng)林科技大學(xué)循環(huán)體true布爾表達(dá)式falsefor語句(

INFORMATION)西農(nóng)林科技大學(xué)for語句是循環(huán)的另一種表示形式。

for語句的語法形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){語句;}例如要使循環(huán)執(zhí)行某一段代碼1000次,可以表達(dá)為:

for

(int

number=0;number<1000;number++){……

//一段代碼}for語句的流程圖(

INFORMATION)西農(nóng)林科技大學(xué)求解表達(dá)式1表達(dá)式2truefalse循環(huán)體求解表達(dá)式3For語句的下一句例:用for語句求1+2+ …+10

的和(

INFORMATION)西農(nóng)林科技大學(xué)public

class

ForOfSum{public

static

void

main(String[

]

args)

{int

i,sum;sum=0;

// 累加器清0for(i=1;i<=10;i++){sum+=i;}System.out.println(sum=+sum);}}for語句常見的錯(cuò)誤(

INFORMATION)西農(nóng)林科技大學(xué)錯(cuò)誤一:for語句不寫大括號{

}for(int

i=1,sum=0;i<=100;i++)sum+=I;System.out.println(

“i=”+i+“,+sum=”+sum);錯(cuò)誤二:利用浮點(diǎn)類型的=或!=運(yùn)算作為條件表達(dá)式for(double

x=0.1;x!=1.0;x+=0.1){System.

out.println(x+;);}switch語句(

INFORMATION)西農(nóng)林科技大學(xué)switch語句根據(jù)表達(dá)式的結(jié)果來執(zhí)行多個(gè)操作中的一個(gè),它的語法形式如下:switch(表達(dá)式){case

常量1:語句1;[break

;]case

常量2:語句2;[break;]…case

常量n:語句n;[break;][default:缺省處理語句break

;]}switch語句的流程圖(

INFORMATION)西農(nóng)林科技大學(xué)表達(dá)式…….常量n常量1常量2default語句1break語句2break語句nbreak缺省處理語句break后續(xù)語句switch語句的注意點(diǎn)(

1)(

INFORMATION)西農(nóng)林科技大學(xué)使用switch語句時(shí),要注意表達(dá)式必須是符合byte,char,short,int類型 的表達(dá)式,而不能使用浮點(diǎn)類型或long類型,也不能為一個(gè)字符串;switch

語句將表達(dá)式的值依次與每個(gè)

case子句中的

常量值相比較。如果 匹配成功,則執(zhí)行該

case

子句中常量值后的語句,直到遇到

break

語句 為止;case子句中常量的類型必須與

表達(dá)式的類型相容,而且每個(gè)

case

子句中常量的值必須是不同的;default子句是可選的,當(dāng)表達(dá)式的值與任一case子句中的值都不匹配時(shí), 就執(zhí)行default后的語句。switch語句的注意點(diǎn)(

2)(

INFORMATION)西農(nóng)林科技大學(xué)break語句在執(zhí)行完一個(gè)case 分支后,使程序跳出switch語句,執(zhí)行switch 語句的后續(xù)語句。在一些特殊的情況下,例如多個(gè)不同的case值要執(zhí)行一組相同的操作,可以寫成如下形式:…case

常量n:case

常量n+1:語句[break;]…switch語句的注意點(diǎn)(

3)(

INFORMATION)西農(nóng)林科技大學(xué)case

分支中包括多個(gè)執(zhí)行語句時(shí),可以不用花括號“{}”括起;通過if-else語句可以實(shí)現(xiàn)

switch 語句所有的功能。但通常使用switch語句更簡練,且可讀性強(qiáng),程序的執(zhí)行效率也高;if-else 語句可以基于一個(gè)范圍內(nèi)的值或一個(gè)條件來進(jìn)行不同的操作,但switch 語句中的每個(gè)case 子句都必須對應(yīng)一個(gè)單值。例:用switch語句實(shí)現(xiàn)學(xué)生成績的百分制到等級制的轉(zhuǎn)換(

INFORMATION)西農(nóng)林科技大學(xué)class

SwitchDemo{public

static

void

main(String[

]

args)

{int

testScore=88;char

grade;//兩個(gè)整型數(shù)相除的結(jié)果還是整型//此處沒有使用breakbreak;//值為10和9時(shí)的操作是相同的break;switch

(testScore/10)

{case

10:case

9:grade="A";case

8:grade="B";case

7:grade="C";break;case

6:grade="D";break;default:grade="F";

break;}System.out.println(grade

is:+grade);}}break語句(

INFORMATION)西農(nóng)林科技大學(xué)對于Java中的三種類型的循環(huán):while、do-while、for來說,正常的退出循環(huán)的方法是當(dāng)測試條件變?yōu)閒alse時(shí)。但有時(shí)即使,也希望循環(huán)立即終止,這時(shí)可以用

break測試的條件為true語句實(shí)現(xiàn)此功能。break語句的一般語法格式為:break[標(biāo)號];break語句不能用于循環(huán)語句和switch語句之外的任何其它語句中。例:break語句的例子(

INFORMATION)西農(nóng)林科技大學(xué)public

class

BreakDemo

{public

static

void

main(String[

]

args)

{int

index=0;while

(index<=100)

{index+=10;if

(index==40)break;tru/* 當(dāng)index的值大于100時(shí),循環(huán)將終止。但有一種特殊的情f況a,ls如e果index的值等于40,循環(huán)也將立即終止。*/System.out.println(The

index

is

+index);}}}輸出結(jié)果:The

index

is

10The

index

is

20The

index

is

30continue語句(

INFORMATION)西農(nóng)林科技大學(xué)Continue語句只能在循環(huán)中使用。它和break語句的區(qū)別是continue語句只結(jié)束本次循環(huán),而不是

終止整個(gè)循環(huán)的執(zhí)行;而break語句則是結(jié)束整個(gè)循環(huán)語句的執(zhí)行。continue語句的一般格式為:continue[標(biāo)號];例:continue語句的例子(

INFORMATION)西農(nóng)林科技大學(xué)而不像正public

class

ContinueDemo{public

static

void

main(String[]

args){int

index=0;while(index<=99){index+=10;/*當(dāng)index的值等于40時(shí),使循環(huán)回到while語句處,常處理那樣去執(zhí)行后面的輸出語句*/if(index==40)continue;false

tuSryestem.out.println(The

index

is

+index);}}}學(xué)生成績查詢系統(tǒng)——案例1(

INFORMATION)西農(nóng)林科技大學(xué)打印某學(xué)生某一學(xué)期所有課程的成績和等級(優(yōu)、良、中、及格和不及格),并給出平均成績。public

class

P

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論