Java程序設(shè)計@第02章-Java基本語法綜述綜述_第1頁
Java程序設(shè)計@第02章-Java基本語法綜述綜述_第2頁
Java程序設(shè)計@第02章-Java基本語法綜述綜述_第3頁
Java程序設(shè)計@第02章-Java基本語法綜述綜述_第4頁
Java程序設(shè)計@第02章-Java基本語法綜述綜述_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計第02章Java基本語法本章內(nèi)容CORE-C02-01數(shù)據(jù)與數(shù)據(jù)類型

CORE-C02-02數(shù)據(jù)存儲與量

CORE-C02-03數(shù)據(jù)輸入與輸出

CORE-C02-04數(shù)據(jù)運算與運算符

CORE-C02-05運算與條件流程控制

CORE-C02-06運算與循環(huán)流程控制

CORE-C02-07運算與中斷流程控制

CORE-C02-08數(shù)組

CORE-C02-09方法

本章目標(biāo)1、能根據(jù)需要定義各種變量。2、能對變量正確賦值。3、能對變量進(jìn)行各種運算。4、能使用控制語句控制程序的運行。5、能熟練使用數(shù)組。6、能封裝方法。7、能調(diào)用方法。重點:

1.熟練使用各種數(shù)據(jù)類型的定義。2.熟練使用數(shù)組和各種控制語句。 3.掌握從鍵盤接收數(shù)據(jù)的方法。第01節(jié)

數(shù)據(jù)與數(shù)據(jù)類型知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用1CORE-C02-01數(shù)據(jù)與數(shù)據(jù)類型1、數(shù)據(jù)值

√√2、定長數(shù)據(jù)類型

√√3、用戶自定義類型√√√1、數(shù)據(jù)值-1數(shù)據(jù)值是計算機(jī)最重要的概念:計算機(jī)的核心功能是處理數(shù)據(jù),所以任何計算機(jī)語言中數(shù)據(jù)是最重要的概念,而在數(shù)字計算機(jī)中數(shù)據(jù)的表現(xiàn)為數(shù)據(jù)值。數(shù)據(jù)值的存儲:計算機(jī)要處理處理數(shù)據(jù)的首要問題是數(shù)據(jù)值在計算機(jī)內(nèi)存中的存儲,而要存儲數(shù)據(jù)值則必須要先確定數(shù)據(jù)的大小與格式(數(shù)據(jù)值類型),然后數(shù)據(jù)值的記錄方式。數(shù)據(jù)值的類型與記錄方式:邏輯類型:true/false。(1字節(jié))字符類型:’a’或者0-255之間的數(shù)。(本質(zhì)是一個無符號的1字節(jié)整數(shù))整數(shù)類型:1234,4523(1,2,4字節(jié))或者3456L,3456L(8字節(jié))。為了數(shù)據(jù)存儲的有效性,整數(shù)根據(jù)大小分為1、2、4、8字節(jié)整數(shù)。小數(shù)類型:23.56,45.78d、45.78D(8字節(jié))或者56.89f、56.89F(4字節(jié))。為了數(shù)據(jù)存儲的有效性,小數(shù)根據(jù)大小分為4、8字節(jié)小數(shù)。字符串類型:”Hello”,null。

字符串是多個字符的快捷表現(xiàn)形式,內(nèi)存存儲實際是字符格式。固定長數(shù)據(jù)值變長1、數(shù)據(jù)值-2整數(shù)數(shù)據(jù)值的進(jìn)制表示二進(jìn)制:0b10101八進(jìn)制:07777十進(jìn)制:123456十六進(jìn)制:0xFFA12

0XfA6FF (x不區(qū)分大小寫)整數(shù)數(shù)據(jù)值的后綴整數(shù)數(shù)據(jù)值一般使用4字節(jié),如果8字節(jié)的整數(shù)數(shù)據(jù)值,則需要加L或者l后綴。小數(shù)數(shù)據(jù)值的科學(xué)表示普通表示:123.56科學(xué)表示:1.2356e2;小數(shù)數(shù)據(jù)值的后綴一般小數(shù)都是8字節(jié)的雙精度數(shù),如果需要4字節(jié)的小數(shù),則需要f或者F后綴,8字節(jié)也可以使用d或者D后綴。1、數(shù)據(jù)值-3字符數(shù)據(jù)值的轉(zhuǎn)義表示字符除使用’A’形式的有形字符表示外,還可以使用轉(zhuǎn)義字符表示:‘\n’ 回車‘\t’ 水平制表符‘\b‘ 空格‘\r‘ 換行‘\f’ 換頁‘\'‘ 單引號‘\"‘ 雙引號‘\\’ 反斜杠‘\ddd’ 三位八進(jìn)制‘\udddd’ 四位十六進(jìn)制1、數(shù)據(jù)值-4JavaSE7.0引入了下劃線來增強(qiáng)數(shù)字類型的可讀性。下劃線規(guī)則:不能出現(xiàn)在與禁止有關(guān)的符號前后。不能出現(xiàn)在小數(shù)點前后。不能出現(xiàn)在后綴前后。不能出現(xiàn)在數(shù)字值前后,只能在中間。floatf=12.4_5_6f;

inti=12_34_56;2、定長數(shù)據(jù)類型固定長數(shù)據(jù)值一般是直接存儲的分配的內(nèi)存空間之中,一般稱為基本數(shù)據(jù)類型。Java基本數(shù)據(jù)類型的表示:邏輯類型:boolean。1字節(jié)字符類型:char。2字節(jié)整數(shù)類型:1字節(jié)整數(shù)類型:byte。2字節(jié)整數(shù)類型:short。4字節(jié)整數(shù)類型:int。8字節(jié)整數(shù)類型:long。小數(shù)類型:4字節(jié)小數(shù):float。8字節(jié)小數(shù):double。注意:還有一個特殊的類型,沒有類型的類型void類型。在函數(shù)返回類型的時候使用,不能用來定義變量,后面講函數(shù)的時候再詳細(xì)講解。3、用戶自定義類型用戶自定義數(shù)據(jù)類型也稱復(fù)合數(shù)據(jù)類型就是使用基本數(shù)據(jù)類型根據(jù)用戶需要組合成的新的數(shù)據(jù)類型。用戶自定義數(shù)據(jù)類型的長度根據(jù)用戶的需要而不定,所以用戶自定義數(shù)據(jù)類型是屬于變長數(shù)據(jù)類型。Java語言的數(shù)據(jù)表達(dá)能力:由于Java語言引入的用戶自定義數(shù)據(jù)類型的表達(dá)方式,所以基本上Java語言可以表達(dá)與存儲任何數(shù)據(jù)值。字符串類型屬于用戶自定義類型,由于字符串太常用,所以O(shè)racle公司的工程師已經(jīng)利用Java語法把字符串定義成一種用戶自定義數(shù)據(jù)類型。字符串自定義類型:String。用戶自定義數(shù)據(jù)值與基本數(shù)據(jù)值的存儲空間的分配方式是不同的?;緮?shù)據(jù)類型是事先分配。(加載時分配)用戶自定義類型是數(shù)據(jù)值確定的時候分配。(運行時分配)第02節(jié)

數(shù)據(jù)存儲與量知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用2CORE-C02-02數(shù)據(jù)存儲與量1、定義變量

√√2、初始化變量與變量賦值

√√3、使用變量

√√4、賦值與類型轉(zhuǎn)換

√√5、字符串

√√6、常量

√√7、量的作用域

√√1、定義變量數(shù)據(jù)值在Java中使用有兩種方式:1、直接使用,我們稱為字面值。2、先申請內(nèi)存(我們把命名的內(nèi)存稱為量),并對內(nèi)存命名(定義量),然后把數(shù)據(jù)放入內(nèi)存(量初始化或量賦值),如果量的值可以反復(fù)賦值,則稱為變量,否則稱為常量。變量定義語法:數(shù)據(jù)類型變量名[=值]; //定義一個變量數(shù)據(jù)類型變量名1[=值],變量名2[=值],……;//定義多個變量2、初始化變量與變量賦值-1第一次變量賦值稱為變量初始化。Java變量如果沒有初始化,編譯器會提供初始值。邏輯變量默認(rèn)初始值是false。字符變量默認(rèn)是空字符(ASCII碼為0的字符)。整數(shù)變量默認(rèn)值是0。小數(shù)變量默認(rèn)值是0.0。用戶自定義類型變量默認(rèn)值是null。變量賦值語法:變量初始化方式:變量名=值;//值可以是字面值,另外一個變量,表達(dá)式,函數(shù)調(diào)用;變量名=字面值; //使用賦值語句初始化數(shù)據(jù)類型變量=字面值;//在定義變量的同時初始化。數(shù)據(jù)類型變量=字面值,變量=字面值,…..;2、初始化變量與變量賦值-2邏輯變量賦值字符變量賦值booleanb_data;b_data=true; //賦值方式1booleanisrunning=false; //賦值方式2booleanisup=true,isdown=false,isright; //賦值方式3charc1;c1=‘A’; //賦標(biāo)準(zhǔn)字符值。c1=65; //賦ASCII字符值,ASCII可以是2、8、16進(jìn)制等。c1=‘\53’; //賦8進(jìn)制轉(zhuǎn)義字符值。c1=‘\n’; //賦普通轉(zhuǎn)義字符值。c1=‘\u4e2d’; //賦16進(jìn)制(unicode)轉(zhuǎn)義字符值。charc2=c1; //把另外一個字符賦值給字符變量。

c2=‘中’; //Java支持Unicode字符—漢字本地字符2、初始化變量與變量賦值-3賦值注意事項:賦值的范圍:按照字節(jié)計算。賦值的形式:賦值語句,定義變量的時候賦值。賦值的格式:進(jìn)制,字面值類型,使用另外一個變量賦值,表達(dá)式,函數(shù)。使用變量賦值的時候,注意字節(jié)大小的轉(zhuǎn)換,小可以轉(zhuǎn)換為大類型。字符型也屬于整數(shù)類型,字符除不能轉(zhuǎn)換為byte與short型。byted_byte=127; //賦值范圍-128~127 2的7次方。shortd_short=200; //賦值范圍-32768~32767 2的15次方。intd_int=200000; //賦值范圍-2147483648~21474836472的31次方。longd_long=9999999; //賦值范圍 2的63次方。

//上面的整數(shù)值可以是2、8、10、16進(jìn)制,整數(shù)字面值都是4字節(jié),如果超過4字節(jié)使用L/l后綴。

byteb1=‘c’; //賦字符值,不能賦字符變量。

charc1=‘A’;shorts1=c1; //賦字符變量。s1=d_short; //賦另外一個整數(shù)變量。

2、初始化變量與變量賦值-4小數(shù)(浮點數(shù))變量賦值注意事項:賦值的范圍與精度:float精度7位左右,double精度16位左右。賦值的形式:賦值語句,定義變量的時候賦值。賦值的格式:普通計數(shù)與科學(xué)計數(shù),字面值類型,使用另外一個變量賦值,表達(dá)式,函數(shù)。使用變量賦值的時候,注意字節(jié)大小的轉(zhuǎn)換,小可以轉(zhuǎn)換為大類型。整數(shù)類型也可以轉(zhuǎn)換為小數(shù)類型。注意:浮點數(shù)字面值默認(rèn)是8字節(jié)。floatf=5.555555f; //

正負(fù)3.4028235E+38F范圍內(nèi)doubled=5.5555555; //正負(fù)1.7976931348623157E+308范圍內(nèi)

3、使用變量定義變量的主要目的是存放數(shù)據(jù),要使用存放在變量的數(shù)據(jù)就是使用變量。變量的使用方式:用來給另外一個變量賦值。在表達(dá)式中使用。直接用在函數(shù)中。inti=20;floatf=i; //用來給另外一個變量賦值intj=i+20; //用在表達(dá)式中System.out.println(j); //用在函數(shù)調(diào)用中4、賦值與類型轉(zhuǎn)換-1給變量賦值的時候,如果變量的類型與值的類型不一致,則只有兩種可能情形存在:1、錯誤:編譯器提示類型錯誤不能賦值。2、成功:編譯器自動把值的類型進(jìn)行轉(zhuǎn)換。賦值時的類型轉(zhuǎn)換:1、編譯器自動轉(zhuǎn)換:隱式轉(zhuǎn)換。2、在代碼中使用轉(zhuǎn)換語法:顯示轉(zhuǎn)換4、賦值與類型轉(zhuǎn)換-2隱式轉(zhuǎn)換規(guī)則:內(nèi)存空間能夠存儲,數(shù)據(jù)范圍有包含關(guān)系,不能出現(xiàn)數(shù)據(jù)丟失。不同格式的數(shù)據(jù)類型之間一般不能轉(zhuǎn)換。邏輯值不能轉(zhuǎn)換為數(shù)字型(字符,整數(shù)與浮點數(shù))變量。如果是字面值賦值給變量,只要數(shù)據(jù)不丟失都可以賦值。charc=‘A’;shorts=c;//不自動轉(zhuǎn)換,盡管char與short都是2字節(jié),但出現(xiàn)數(shù)據(jù)范圍不同。

inti=c;//會自動轉(zhuǎn)換,char空間小于int,char范圍包含int,轉(zhuǎn)換不會丟失數(shù)據(jù)

byte: shortintlongfloatdouble char: intlongfloatdoubleshort: intlongfloatdoubleint: longfloatdoublelong: floatdoublefloat: doublebyteb=‘a(chǎn)’charc=97;shorts=‘a(chǎn)’; //這里三種情況在變量賦值給變量都會出現(xiàn)語法錯誤。4、賦值與類型轉(zhuǎn)換-3顯式轉(zhuǎn)換語法(類型)值或者變量顯式轉(zhuǎn)換規(guī)則只有同類類型才能轉(zhuǎn)換。charc=‘A’;shorts=(short)c;inti=(int)23.67;charc=(char)true; //boolean型不能轉(zhuǎn)換為數(shù)字型,反之亦然。

inti=(int)”1234”; //字符串類型不能轉(zhuǎn)換為整數(shù)類型。

4、賦值與類型轉(zhuǎn)換-4把字符串轉(zhuǎn)換為整數(shù)把字符串轉(zhuǎn)換為浮點數(shù)把整數(shù)轉(zhuǎn)換為字符串inti=Integer.parseInt(“123”);floatf=Float.parseFloat(“123.56”);doubled=Double.parseDouble(“123.56”);Stringstr=“”+1234;5、字符串字符串字面值“字符串值”定義字符串String字符串變量;字符串賦值字符串變量=“字符串”;字符串變量=另外一個字符串變量;字符串長度連接字符串Stringstr=“Hello”;intlenth=str.length();Stringstr1=“Hello”+“world”;str1=“”+123;Stringstr2=str1+”Hello”;6、常量定義常量:注意:常量只能賦值一次。常量不是一定要在定義的時候初始化的。final類型常量名[=初始值];finalintii=20; //在定義的時候初始化。ii=30; //不允許,因為常量不能二次賦值。

finalintj;j=20; //允許,因為常量j在這里是第一次賦值。j=30; //不允許,因為常量不能二次賦值。

7、量的作用域變量的作用域與他定義的位置和修飾符號有關(guān)。通常變量可以在兩個位置定義:在類塊中定義—成員變量在函數(shù)塊中定義—局部變量影響變量作用域的修飾符號-全局變量static。static只能修飾在類塊中定義的變量,不能修飾函數(shù)塊中定義的變量。static修飾的變量使用方式:類塊名.變量名.classClsA{intm_a=20; //成員變量publicstaticvoidmain(String[]args){

inta=30; //局部變量}}classClsA{

staticintm_a=20; //全局變量}第03節(jié)

數(shù)據(jù)輸入與輸出知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用3CORE-C02-03數(shù)據(jù)輸入與輸出1、輸入數(shù)據(jù)

√√2、格式化輸出

√√可以使用Scanner類創(chuàng)建一個對象:scanner對象調(diào)用下列方法,讀取用戶在命令行(例如,MS-DOS窗口)輸入的各種基本類型數(shù)據(jù):next()//輸入字符串nextInt()//輸入整數(shù)nextDouble()//輸入浮點數(shù)nextBoolean()、nextByte()、nextShort()、nextLong()、nextFloat()Scannerscanner=newScanner(System.in);

1、輸入數(shù)據(jù)Scannerscanner=newScanner(System.in);Stringstr=scanner.next();Scannerscanner=newScanner(System.in);inti=scanner.nextInt();Scannerscanner=newScanner(System.in);doubled=scanner.nextDouble();2、格式化輸出-1用System.out.println()或System.out.print()可輸出串值、表達(dá)式的值,二者的區(qū)別是前者輸出數(shù)據(jù)后換行,后者不換行。允許使用并置符號:“+”將變量、表達(dá)式或一個常數(shù)值與一個字符串并置一起輸出,如:

System.out.println(m+"個數(shù)的和為"+sum);System.out.println(“:”+123+“大于”+122);2、格式化輸出-1JDK1.5新增了和C語言中printf函數(shù)類似的數(shù)據(jù)輸出方法,該方法使用格式如下:

System.out.printf("格式控制部分",表達(dá)式1,表達(dá)式2,…表達(dá)式n)格式控制部分由格式控制符號:%d、%c、%f、%s和普通的字符組成,普通字符原樣輸出。格式符號用來輸出表達(dá)式的值。%d:輸出int類型數(shù)據(jù)值%c:輸出char型數(shù)據(jù)。%f:輸出浮點型數(shù)據(jù),小數(shù)部分最多保留6位%s:輸出字符串?dāng)?shù)據(jù)。輸出數(shù)據(jù)時也可以控制數(shù)據(jù)在命令行的位置,例如:%md:輸出的int型數(shù)據(jù)占m列%m.nf:輸出的浮點型數(shù)據(jù)占m列,小數(shù)點保留n位。System.out.printf(“thisis%+8.2f”,123.45);System.out.printf(“thisis%4$+8.2f”,1,2,3,123.45);//參數(shù)索引從1開始2、格式化輸出-1數(shù)字格式化輸出貨幣格式財務(wù)格式字符串格式化輸出NumberFormatnf=NumberFormat.getIntegerInstance();Stringstr=nf.format(12345);NumberFormatnf=NumberFormat.getCurrencyInstance();Stringstr=nf.format(12345.6789);Stringresult=MessageFormat.format(“{0},{1,number,integer},{3}”, //number有三種格式:integer”Hello”,123,456.78); //currency,percent.第04節(jié)

數(shù)據(jù)運算與運算符知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用4CORE-C02-04數(shù)據(jù)運算與運算符1、算數(shù)運算

√√2、關(guān)系運算

√√3、邏輯運算

√√4、位運算

√√5、復(fù)合運算

√√6、運算與數(shù)據(jù)類型轉(zhuǎn)換

√√7、運算優(yōu)先級

√√8、數(shù)學(xué)函數(shù)與數(shù)學(xué)運算

√√運算符的最大作用可以根據(jù)用戶需要形成不同的表達(dá)式。1、算數(shù)運算單目:+(取正)-(取負(fù))++(自增1)--(自減1)雙目:+(加)-(減)*(乘)/(除)%(取余)注意:++與--分前與后。當(dāng)與其他環(huán)境在一起使用,前后的意義不同。前:先自增(減),在參與環(huán)境運算。后:先參與環(huán)境運算,再自增(減)。2、關(guān)系運算等于符號:==不等于符號:!=大于符號:>

小于符號:<大于等于符號:>=小于等于符號:<=3、邏輯運算邏輯與&&邏輯或||邏輯否!4、位運算位算術(shù)運算符&(與)

~(非)|(或)^(異或)位移運算符<<(帶符號左移)>>(帶符號右移)>>>(無號右移)5、復(fù)合運算與賦值運算符號=復(fù)合的運算,也稱賦值運算符。=+=-=*=/=%=&=^=|=<<=>>=特殊的三目運算:邏輯表達(dá)式?表達(dá)式1:表達(dá)式26、運算與數(shù)據(jù)類型轉(zhuǎn)換-1當(dāng)各種運算符號形成表達(dá)式,其中參與運算的目的類型不一樣就導(dǎo)致最終的返回數(shù)據(jù)的類型難以確定。Java對復(fù)雜表達(dá)式的最終返回數(shù)據(jù)的類型指定了相應(yīng)的規(guī)則:參與運算的數(shù)據(jù)必須滿足運算符號要求的類型。最后返回的數(shù)據(jù)類型符合最后執(zhí)行的運算符號的規(guī)則。6、運算與數(shù)據(jù)類型轉(zhuǎn)換-2算術(shù)運算的目的數(shù)據(jù)類型參與所有算術(shù)運算的基本數(shù)據(jù)類型有(可以混合)charbyteshortintlongfloatdouble對boolean等其他類型無效。算術(shù)運算返回數(shù)據(jù)的類型規(guī)則加減乘除取余遵循的規(guī)則:按照intlongfloatdouble從小到大的原則,返回參與運算的最大類型。最小返回int類型。計算兩個byte變量運算也是返回int類型。自增/自減準(zhǔn)尋的規(guī)則:返回類型與參與運算的類型一致。float自增后還是float,byte自增后還是byte類型。6、運算與數(shù)據(jù)類型轉(zhuǎn)換-3關(guān)系運算符的目的數(shù)據(jù)類型:參與關(guān)系運算的基本數(shù)據(jù)類型有(可以混合):charbyteshortintlongfloatdoublebooleanstring支持(==關(guān)系運算符)。關(guān)系運算返回數(shù)據(jù)的類型規(guī)則返回boolean類型的數(shù)據(jù)。6、運算與數(shù)據(jù)類型轉(zhuǎn)換-4邏輯運算符的目的數(shù)據(jù)類型:只能是boolean類型。其他類型不能參與邏輯運算。邏輯運算返回數(shù)據(jù)的類型規(guī)則只能是邏輯類型。6、運算與數(shù)據(jù)類型轉(zhuǎn)換-5位運算符的目的數(shù)據(jù)類型:參與位算術(shù)運算的基本數(shù)據(jù)類型有(可以混合):charbyteshortintlong參與位移運算的基本數(shù)據(jù)類型有(可以混合):charbyteshortintlong位運算返回數(shù)據(jù)的類型規(guī)則位算術(shù)與位移運算符遵循的規(guī)則:按照intlongfloatdouble從小到大的原則,返回參與運算的最大類型。最小返回int類型。計算兩個byte變量運算也是返回int類型。位移運算符遵循的特別規(guī)則bytecharshortint位移的位數(shù)是先對32取余后的結(jié)果位移。long位移的位數(shù)是對64取余后的結(jié)果位移。byteb=45;intc=b>>2;intd=b>>34; //與b>>2的效果完全一樣。6、運算與數(shù)據(jù)類型轉(zhuǎn)換-6復(fù)合運算符的目的數(shù)據(jù)類型:滿足=前的運算符參與運算的目的類型。邏輯運算返回數(shù)據(jù)的類型規(guī)則=后的變量自動轉(zhuǎn)換為左邊的變量類型后進(jìn)行運算。最后的返回值自定轉(zhuǎn)換為左邊的變量類型。byteb=45;doubled=45.45;b+=d; //合法,因為byte與double符合+的運算類型 //d先轉(zhuǎn)換為byte型,進(jìn)行完+運算后再轉(zhuǎn)換為byte。b>>=d; //不合法,因為double不是>>的運算類型。6、運算與數(shù)據(jù)類型轉(zhuǎn)換-7?:三目運算的目的數(shù)據(jù)類型第一目:必須是boolean類型。第二目與第三目可以是任意類型,如果需要使用變量存儲運算結(jié)果,則兩個目的數(shù)據(jù)類型必須相同。如果不需要使用變量存儲,而是直接打印輸出,則數(shù)據(jù)類型可以不同。System.out.println(true?12:”Hello”); //合法

intk=true?12:”Hello”; //非法7、運算優(yōu)先級可以使用()改變優(yōu)先級別。優(yōu)先級別從高到低排列[]() ++--!~instanceof*/%+-<<>>>>><><=>==!=&^&&||?:=op=8、數(shù)學(xué)函數(shù)與數(shù)學(xué)運算Java提供了很多工具來提供強(qiáng)大的數(shù)據(jù)運算:Math工具提供的運算有三角函數(shù)運算。指數(shù)與對數(shù)運算。取整運算。隨機(jī)數(shù)運算。BigDecimal提供大小數(shù)運算。BigInteger提供大整數(shù)運算。參考Math、BigDecimal、BigInteger類第05節(jié)

運算與條件流程控制知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用5CORE-C02-05運算與條件流程控制1、if條件塊

√√2、if嵌套塊

√√3、switch條件塊

√√1、if條件塊條件if塊語法:執(zhí)行流程如果if中的表達(dá)式返回true,則執(zhí)行緊隨的塊,如果后面有else塊,執(zhí)行完畢直接跳轉(zhuǎn)到else塊的結(jié)束位置,否則執(zhí)行其后緊隨的代碼。如果if中的表達(dá)式返回false,則直接跳轉(zhuǎn)到緊隨塊的結(jié)束位置,如果后面有else塊,則執(zhí)行else塊,否則執(zhí)行其后緊隨的代碼。語法規(guī)則:當(dāng)if塊或者else塊只有一個語句(塊當(dāng)成一個語句),可以省略{}。if(返回結(jié)果為boolean類型的邏輯表達(dá)式){ //語句;}else{ //語句;}必須可選2、if嵌套塊-1條件if嵌套有兩種情況-1:在if塊嵌套if(條件1){ //語句 if(條件2){ //語句 }else{ //語句 } //語句}else{ //語句;}2、if嵌套塊-2條件if嵌套有兩種情況-2:在else塊嵌套:可以省略else的{}。if(條件1){ //語句}else{ if(條件2){ //語句 }else{ //語句 }}if(條件1){ //語句}elseif(條件2){ //語句}else{ //語句}3、switch條件塊條件switch語法條件switch使用的表達(dá)式規(guī)則:表達(dá)式類型必須是char、byte、short、int類型在JavaSE7.0以后增加了String類型。switch(表達(dá)式){case常量表達(dá)式1:

語句; break; //break可選。case常量表達(dá)式2:

語句; break;…default:

語句; break;}執(zhí)行流程:

如果表達(dá)式的值匹配那個case。

則從那個case開始執(zhí)行,

直到break才跳轉(zhuǎn)到switch塊結(jié)束位置。

如果沒有break,則繼續(xù)執(zhí)行到結(jié)束位置。第06節(jié)

運算與循環(huán)流程控制知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用6CORE-C02-06運算與循環(huán)流程控制1、while循環(huán)塊√√√2、for循環(huán)塊√√√3、for與while比較

√√4、循環(huán)嵌套使用√√√1、while循環(huán)塊循環(huán)while塊語法:條件表達(dá)式規(guī)則:必須返回boolean類型。執(zhí)行流程:判定條件表達(dá)式是否是true或者false;如果是true,則執(zhí)行塊中語句,執(zhí)行完畢后跳轉(zhuǎn)到while繼續(xù)判定。如果是false,則直接跳轉(zhuǎn)到while塊的結(jié)束位置。while(條件表達(dá)式){

語句;}2、for循環(huán)塊-1循環(huán)for塊的語法規(guī)則:語句可以是任何合法的語句,如果是多個語句使用逗號(,)分隔。條件表達(dá)式必須返回boolean值。注意:多個語句的時候,語句如果是變量定義語句,則必須都是變量定義語句,而且還必須是同一類型的變量。頭for中的語句、表達(dá)式、語句可以為空。注意:表達(dá)式為空,默認(rèn)是true,而不是false。執(zhí)行流程:首先執(zhí)行語句1(可以是逗號分隔的多個語句)。然后判定表達(dá)式的值是true還是false。如果是true,則執(zhí)行語句3(可以是用分號分隔的多個語句)。執(zhí)行完畢后,則跳轉(zhuǎn)執(zhí)行語句2,然后再判定條件表達(dá)死。如果是false,則直接跳轉(zhuǎn)到for塊的結(jié)束位置。for(語句1;條件表達(dá)式;語句2){

語句3;}2、for循環(huán)塊-2在JDK1.5引入了一種爭對集合與數(shù)組的特例化循環(huán)for變量in數(shù)組/集合{}注意:該循環(huán)在數(shù)組與集合的時候?qū)iT講解.3、for與while比較循環(huán)for與while本質(zhì)上是等價,效果一樣的。主要區(qū)別:循環(huán)for把循環(huán)的三個要素在循環(huán)頭中設(shè)置。格式固定,容易理解與使用。循環(huán)while需要程序員自己在適當(dāng)?shù)牡胤娇刂蒲h(huán)3要素。格式靈活,使用自由。for(inti=0;i<100;i++){System.out.println(i);}inti=0;while(i<100){System.out.println(i);

i++;}注意不同顏色對應(yīng)的部分。4、循環(huán)嵌套使用循環(huán)是可以嵌套使用的。循環(huán)還可以結(jié)合if控制,形成對程序流程復(fù)雜的控制,實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯流程。循環(huán)嵌套,但不能交錯。for(語句;條件表達(dá)式;語句){

語句; for(語句;條件表達(dá)式;語句){

語句; }

語句;}第07節(jié)

運算與中斷流程控制知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用7CORE-C02-07運算與中斷流程控制1、break中斷語句

√√2、contine中斷語句

√√3、return中斷語句

√√1、break中斷語句語句break在Java中有兩種使用場景:在switch中使用,用來分隔匹配成功的代碼段的執(zhí)行。用法:break;在循環(huán)中使用,用來結(jié)束循環(huán)。循環(huán)中break語句的使用方法:獨立使用:break;中斷當(dāng)前循環(huán)。與標(biāo)簽結(jié)合使用:中斷指定標(biāo)簽的循環(huán)。定義標(biāo)簽:

標(biāo)簽名:規(guī)則:標(biāo)簽只能定義在循環(huán)頭的前面,中間不能有可執(zhí)行代碼。標(biāo)簽與循環(huán)是綁定的,表示一個循環(huán)的名字。在break中使用標(biāo)簽:break標(biāo)簽名;A:

//標(biāo)簽:對循環(huán)命名,便于跳轉(zhuǎn)執(zhí)行流程。for(語句;條件表達(dá)式;語句){ for(語句;條件表達(dá)式;語句){ breakA;//不是中斷內(nèi)層循環(huán),而是中斷外層循環(huán)。

break; //中斷當(dāng)前層循環(huán)-內(nèi)層循環(huán)。 }}2、contine中斷語句語句continue的使用:在循環(huán)中使用,用來跳轉(zhuǎn)到循環(huán)開始:在for與while跳轉(zhuǎn)位置有差別。循環(huán)中continue語句的使用方法:獨立使用。與標(biāo)簽結(jié)合使用。A:

//標(biāo)簽:對循環(huán)命名,便于跳轉(zhuǎn)執(zhí)行流程。for(語句;條件表達(dá)式;語句){ for(語句;條件表達(dá)式;語句){ continueA;//跳轉(zhuǎn)到A代表的循環(huán)開始位置。

continue;//跳轉(zhuǎn)到當(dāng)前循環(huán)開始位置。 }}for(語句1;表達(dá)式;語句2){

語句3;continue;//跳轉(zhuǎn)到語句2

語句4;

}while(表達(dá)式){

語句3;continue;//跳轉(zhuǎn)到表達(dá)式

語句4;

}3、return中斷語句語句return實際上與循環(huán)無關(guān),該語句是中斷函數(shù)的,并且還可以返回一個數(shù)據(jù)。在循環(huán)中使用return語句,直接跳轉(zhuǎn)到循環(huán)所在函數(shù)的結(jié)尾。注意:在方法或者函數(shù)的章節(jié)還會描述該語句的具體使用。return返回的值或者表達(dá)式; //返回的值根據(jù)情況是可選第08節(jié)

數(shù)組知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用8CORE-C02-08數(shù)組1、定義數(shù)組

√√2、初始化數(shù)組與數(shù)組賦值

√√3、使用數(shù)組

√√4、命令行參數(shù)數(shù)組

√√5、數(shù)組循環(huán)與for語句增強(qiáng)

√√6、多維數(shù)組

√√7、不規(guī)則數(shù)組√√√8、數(shù)組操作

√√1、定義數(shù)組數(shù)組是一次定義多個變量的另外一種方式,與前面定義多個變量的語法一樣,數(shù)組的類型都是一樣的,而且變量名也一樣,不同的變量使用下標(biāo)的方式來區(qū)別。定義數(shù)組的語法:注意:類型可以是基本類型與用戶自定義類型。

類型[]數(shù)組名;

類型

數(shù)組名[];

類型[]數(shù)組名1,數(shù)組名2,……;類型

數(shù)組名1[],數(shù)組名2[],…….;2、初始化數(shù)組與數(shù)組賦值-1沒有初始化的數(shù)組是不能使用的。變量不初始化也可以使用。數(shù)組變量的存儲方式與一般變量不一樣。一般變量:定義變量時分配一個空間,賦值時,數(shù)據(jù)就放入到該空間。數(shù)組變量:定義變量時分配一個4字節(jié)空間,但不能存放數(shù)組的值,如果需要存放,則需要分配新的空間存放數(shù)據(jù),并把新分配的空間地址存放在開始分配的4字節(jié)空間中。數(shù)組的初始化包含兩個過程:空間分配:根據(jù)實際數(shù)據(jù)長度分配空間。對數(shù)組中的每個變量賦初值。注意:數(shù)組在分配空間的時候會用缺省的初始值對數(shù)組的每個變量進(jìn)行初始化。

數(shù)組名=new類型[變量個數(shù)]; //對已經(jīng)定義的數(shù)組進(jìn)行空間分配

類型[]數(shù)組名=new類型[變量個數(shù)]; //在申明數(shù)組的時候同時進(jìn)行空間分配2、初始化數(shù)組與數(shù)組賦值-2數(shù)組中每個變量的初始化:數(shù)組的每個變量的表示:數(shù)組名[下標(biāo)],數(shù)組下標(biāo)從0開始編號。數(shù)組中變量初始化方式:int[]arr=newint[4]; //方式一:對數(shù)組每個變量逐一初始化。arr[0]=1;arr[3]=4;arr[4]=5; //非法:數(shù)組不能越界

int[]arr=newint[]{1,2,3,4};//方式二:在分配空間的時候批量初始化。//注意:不要指定變量個數(shù)。

int[]arr={1,2,3,4}; //方式三:在聲明的時候newint[]可以省略arr={1,2,3,4}; //不是申明,所以newint[]不能省略,省略就錯誤。

3、使用數(shù)組-1使用數(shù)組的場景:在賦值的時候使用。在表達(dá)式中使用。在函數(shù)調(diào)用的時候使用。使用數(shù)組的方式:使用數(shù)組中的某個變量。使用整個數(shù)組。int[]arr={1,2,3,4};inti=arr[1]; //賦值使用。System.out.println(arr[i]); //直接使用。System.out.println(arr[i]+20); //在表達(dá)式中使用。intr=Math.sqrt(arr[3]); //在函數(shù)中使用。

int[]arr={5,3,2,4,1};Arrays.sort(arr); //直接使用數(shù)組。

3、使用數(shù)組-2數(shù)組的長度利用數(shù)組長度,可以清楚數(shù)組邊界,防止訪問數(shù)組越界。int[]arr={5,3,2,4,1};intlen=arr.length; //直接使用數(shù)組。

int[]arr={5,3,2,4,1}; //利用數(shù)組長度,可以防止使用數(shù)組的時候越界。for(inti=0;i<arr.length;i++){ //可以利用數(shù)組的長度,方便的遍歷數(shù)組。 System.out.println(arr[i]);}4、命令行參數(shù)數(shù)組命令行格式:命令參數(shù)1參數(shù)2……Java是命令-ea:…是第一個參數(shù)TestException是第二個參數(shù)在Java程序中也可以帶命令行參數(shù)Java中訪問命令行參數(shù)通過main函數(shù)的數(shù)組參數(shù)String[].javaClass文件參數(shù)1參數(shù)2參數(shù)3publicstaticvoidmain(String[]args){ intlen=args.length;//命令行參數(shù)個數(shù)}5、數(shù)組循環(huán)與for語句增強(qiáng)在for…in中使用數(shù)組int[]arr={1,2,3,4,5,6};for(inti:arr){ System.out.println(i); //注意:i不是arr數(shù)組的下標(biāo),而是變量}6、多維數(shù)組多維數(shù)組的申明語法多維數(shù)組的初始化語法多維數(shù)組的使用語法多維數(shù)組的長度

int[][][]arr1,arr2,arr3;int[][]arr4[],arr5[],arr6[];int[]arr7[][],arr8[][],arr9[][];intarr10[][][],arr11[][][],arr12[][][];int[][]arr1=newint[2][3];int[][]arr2=newint[][]{{1,2},{3,4},{5,6}};int[][]arr3={{1,2},{3,4},{5,6}};int[][]arr1={{1,2},{3,4},{5,6}};System.out.println(arr1[1][0]);int[][]arr1={{1,2},{3,4},{5,6}};intlen1=arr1[1].length; //二維數(shù)組的第一行的長度:列數(shù)

intlen2=arr1.length; //二維數(shù)組的行數(shù)7、不規(guī)則數(shù)組在Java中因為多維數(shù)組存儲空間結(jié)構(gòu)的特殊性,允許數(shù)組是不規(guī)則數(shù)組。int[][]arr1={{1,2,3},{3,4},{5,6,7,8,9}};//定義了3行,第一行3個變量,第二行2個變量,第三行5個變量的數(shù)組。8、數(shù)組操作多維數(shù)組可以轉(zhuǎn)化低維數(shù)組:維數(shù)只能逐步降低。操作數(shù)組的一個強(qiáng)大工具:Arrays工具排序。二分法查找。初始化??截悺O嗟扰卸?。轉(zhuǎn)換為字符串。int[][]arr1={{1,2},{3,4},{5,6}};int[]arr2=arr1[1]; //arr1[1]就是1維數(shù)組;第09節(jié)

方法

知識點預(yù)覽#節(jié)知識點難點重點應(yīng)用9CORE-C02-09方法1、方法的定義

√√2、方法的參數(shù)

√√3、方法的變長參數(shù)√√√4、方法調(diào)用

√√5、方法重載

√√6、main方法

√√1、方法的定義-1方法是一組語句形成的有名塊。對語句分組的好處便于重復(fù)調(diào)用。也稱為語句封裝。一個例子:

修飾符號返回數(shù)據(jù)類型函數(shù)名(參數(shù)類型參數(shù),……)異常列表{

語句組;}staticpublic

void

main(String[]

args)throwsException{ System.out.println(“HelloJava!”);//被封裝的語句}修飾符號返回數(shù)據(jù)類型函數(shù)名參數(shù)類型參數(shù)異常列表1、方法的定義-2方法的修飾符號:

控制作用域【必須】:publicprotectedprivate缺省public表示在哪兒都可以調(diào)用

控制方法的改變【可選】:final

控制方法的使用方式【可選】:staticstatic表示方法成為全局方法,可以直接調(diào)用。

方法的異常列表:throws異常類型1,異常類型2【可選】一個最簡潔的方法void

show(){ ……;}1、方法的定義-3方法的返回值:無返回值,使用void。有返回值,就使用返回值的類型。語句return:無返回值,不需要使用return或者直接使用return。有返回值,使用return表達(dá)式或者值。return返回的值必須與方法頭中返回值類型一致。intadd(inta,intb){ returna+b;}

voidshow(){ return;}2、方法的參數(shù)為了保證方法的靈活性,允許為封裝的代碼提供不同的處理數(shù)據(jù),這個由參數(shù)來實現(xiàn)并完成。方法參數(shù)的作用域:只能在方法塊內(nèi)使用,當(dāng)方法執(zhí)行完畢,參數(shù)變量被釋放。形參:定義方法的時候,方法的參數(shù)名可以隨意改變(但須遵循Java標(biāo)識符的命名規(guī)則),因為參

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論