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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

CORE-C02-05運(yùn)算與條件流程控制

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

CORE-C02-07運(yùn)算與中斷流程控制

CORE-C02-08數(shù)組

CORE-C02-09方法

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

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

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

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

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

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

0XfA6FF (x不區(qū)分大小寫(xiě))整數(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’ 換頁(yè)‘\'‘ 單引號(hào)‘\"‘ 雙引號(hào)‘\\’ 反斜杠‘\ddd’ 三位八進(jìn)制‘\udddd’ 四位十六進(jìn)制1、數(shù)據(jù)值-4JavaSE7.0引入了下劃線來(lái)增強(qiáng)數(shù)字類型的可讀性。下劃線規(guī)則:不能出現(xiàn)在與禁止有關(guān)的符號(hào)前后。不能出現(xiàn)在小數(shù)點(diǎn)前后。不能出現(xiàn)在后綴前后。不能出現(xiàn)在數(shù)字值前后,只能在中間。floatf=12.4_5_6f;

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

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

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

√√3、使用變量

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

√√5、字符串

√√6、常量

√√7、量的作用域

√√1、定義變量數(shù)據(jù)值在Java中使用有兩種方式:1、直接使用,我們稱為字面值。2、先申請(qǐng)內(nèi)存(我們把命名的內(nèi)存稱為量),并對(duì)內(nèi)存命名(定義量),然后把數(shù)據(jù)放入內(nèi)存(量初始化或量賦值),如果量的值可以反復(fù)賦值,則稱為變量,否則稱為常量。變量定義語(yǔ)法:數(shù)據(jù)類型變量名[=值]; //定義一個(gè)變量數(shù)據(jù)類型變量名1[=值],變量名2[=值],……;//定義多個(gè)變量2、初始化變量與變量賦值-1第一次變量賦值稱為變量初始化。Java變量如果沒(méi)有初始化,編譯器會(huì)提供初始值。邏輯變量默認(rèn)初始值是false。字符變量默認(rèn)是空字符(ASCII碼為0的字符)。整數(shù)變量默認(rèn)值是0。小數(shù)變量默認(rèn)值是0.0。用戶自定義類型變量默認(rèn)值是null。變量賦值語(yǔ)法:變量初始化方式:變量名=值;//值可以是字面值,另外一個(gè)變量,表達(dá)式,函數(shù)調(diào)用;變量名=字面值; //使用賦值語(yǔ)句初始化數(shù)據(jù)類型變量=字面值;//在定義變量的同時(shí)初始化。數(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; //把另外一個(gè)字符賦值給字符變量。

c2=‘中’; //Java支持Unicode字符—漢字本地字符2、初始化變量與變量賦值-3賦值注意事項(xiàng):賦值的范圍:按照字節(jié)計(jì)算。賦值的形式:賦值語(yǔ)句,定義變量的時(shí)候賦值。賦值的格式:進(jìn)制,字面值類型,使用另外一個(gè)變量賦值,表達(dá)式,函數(shù)。使用變量賦值的時(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é),如果超過(guò)4字節(jié)使用L/l后綴。

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

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

2、初始化變量與變量賦值-4小數(shù)(浮點(diǎn)數(shù))變量賦值注意事項(xiàng):賦值的范圍與精度:float精度7位左右,double精度16位左右。賦值的形式:賦值語(yǔ)句,定義變量的時(shí)候賦值。賦值的格式:普通計(jì)數(shù)與科學(xué)計(jì)數(shù),字面值類型,使用另外一個(gè)變量賦值,表達(dá)式,函數(shù)。使用變量賦值的時(shí)候,注意字節(jié)大小的轉(zhuǎn)換,小可以轉(zhuǎn)換為大類型。整數(shù)類型也可以轉(zhuǎn)換為小數(shù)類型。注意:浮點(diǎn)數(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ù)就是使用變量。變量的使用方式:用來(lái)給另外一個(gè)變量賦值。在表達(dá)式中使用。直接用在函數(shù)中。inti=20;floatf=i; //用來(lái)給另外一個(gè)變量賦值intj=i+20; //用在表達(dá)式中System.out.println(j); //用在函數(shù)調(diào)用中4、賦值與類型轉(zhuǎn)換-1給變量賦值的時(shí)候,如果變量的類型與值的類型不一致,則只有兩種可能情形存在:1、錯(cuò)誤:編譯器提示類型錯(cuò)誤不能賦值。2、成功:編譯器自動(dòng)把值的類型進(jìn)行轉(zhuǎn)換。賦值時(shí)的類型轉(zhuǎn)換:1、編譯器自動(dòng)轉(zhuǎn)換:隱式轉(zhuǎn)換。2、在代碼中使用轉(zhuǎn)換語(yǔ)法:顯示轉(zhuǎn)換4、賦值與類型轉(zhuǎn)換-2隱式轉(zhuǎn)換規(guī)則:內(nèi)存空間能夠存儲(chǔ),數(shù)據(jù)范圍有包含關(guān)系,不能出現(xiàn)數(shù)據(jù)丟失。不同格式的數(shù)據(jù)類型之間一般不能轉(zhuǎn)換。邏輯值不能轉(zhuǎn)換為數(shù)字型(字符,整數(shù)與浮點(diǎn)數(shù))變量。如果是字面值賦值給變量,只要數(shù)據(jù)不丟失都可以賦值。charc=‘A’;shorts=c;//不自動(dòng)轉(zhuǎn)換,盡管char與short都是2字節(jié),但出現(xiàn)數(shù)據(jù)范圍不同。

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

byte: shortintlongfloatdouble char: intlongfloatdoubleshort: intlongfloatdoubleint: longfloatdoublelong: floatdoublefloat: doublebyteb=‘a(chǎn)’charc=97;shorts=‘a(chǎn)’; //這里三種情況在變量賦值給變量都會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。4、賦值與類型轉(zhuǎn)換-3顯式轉(zhuǎn)換語(yǔ)法(類型)值或者變量顯式轉(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)換為浮點(diǎn)數(shù)把整數(shù)轉(zhuǎn)換為字符串inti=Integer.parseInt(“123”);floatf=Float.parseFloat(“123.56”);doubled=Double.parseDouble(“123.56”);Stringstr=“”+1234;5、字符串字符串字面值“字符串值”定義字符串String字符串變量;字符串賦值字符串變量=“字符串”;字符串變量=另外一個(gè)字符串變量;字符串長(zhǎng)度連接字符串Stringstr=“Hello”;intlenth=str.length();Stringstr1=“Hello”+“world”;str1=“”+123;Stringstr2=str1+”Hello”;6、常量定義常量:注意:常量只能賦值一次。常量不是一定要在定義的時(shí)候初始化的。final類型常量名[=初始值];finalintii=20; //在定義的時(shí)候初始化。ii=30; //不允許,因?yàn)槌A坎荒芏钨x值。

finalintj;j=20; //允許,因?yàn)槌A縥在這里是第一次賦值。j=30; //不允許,因?yàn)槌A坎荒芏钨x值。

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

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

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

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

√√2、格式化輸出

√√可以使用Scanner類創(chuàng)建一個(gè)對(duì)象:scanner對(duì)象調(diào)用下列方法,讀取用戶在命令行(例如,MS-DOS窗口)輸入的各種基本類型數(shù)據(jù):next()//輸入字符串nextInt()//輸入整數(shù)nextDouble()//輸入浮點(diǎn)數(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ù)后換行,后者不換行。允許使用并置符號(hào):“+”將變量、表達(dá)式或一個(gè)常數(shù)值與一個(gè)字符串并置一起輸出,如:

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

System.out.printf("格式控制部分",表達(dá)式1,表達(dá)式2,…表達(dá)式n)格式控制部分由格式控制符號(hào):%d、%c、%f、%s和普通的字符組成,普通字符原樣輸出。格式符號(hào)用來(lái)輸出表達(dá)式的值。%d:輸出int類型數(shù)據(jù)值%c:輸出char型數(shù)據(jù)。%f:輸出浮點(diǎn)型數(shù)據(jù),小數(shù)部分最多保留6位%s:輸出字符串?dāng)?shù)據(jù)。輸出數(shù)據(jù)時(shí)也可以控制數(shù)據(jù)在命令行的位置,例如:%md:輸出的int型數(shù)據(jù)占m列%m.nf:輸出的浮點(diǎn)型數(shù)據(jù)占m列,小數(shù)點(diǎn)保留n位。System.out.printf(“thisis%+8.2f”,123.45);System.out.printf(“thisis%4$+8.2f”,1,2,3,123.45);//參數(shù)索引從1開(kāi)始2、格式化輸出-1數(shù)字格式化輸出貨幣格式財(cái)務(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ùn)算與運(yùn)算符知識(shí)點(diǎn)預(yù)覽#節(jié)知識(shí)點(diǎn)難點(diǎn)重點(diǎn)應(yīng)用4CORE-C02-04數(shù)據(jù)運(yùn)算與運(yùn)算符1、算數(shù)運(yùn)算

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

√√3、邏輯運(yùn)算

√√4、位運(yùn)算

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

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

√√7、運(yùn)算優(yōu)先級(jí)

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

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

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

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

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

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

√√2、if嵌套塊

√√3、switch條件塊

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

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

語(yǔ)句; break;…default:

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

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

則從那個(gè)case開(kāi)始執(zhí)行,

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

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

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

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

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

語(yǔ)句3;}2、for循環(huán)塊-2在JDK1.5引入了一種爭(zhēng)對(duì)集合與數(shù)組的特例化循環(huán)for變量in數(shù)組/集合{}注意:該循環(huán)在數(shù)組與集合的時(shí)候?qū)iT講解.3、for與while比較循環(huán)for與while本質(zhì)上是等價(jià),效果一樣的。主要區(qū)別:循環(huán)for把循環(huán)的三個(gè)要素在循環(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++;}注意不同顏色對(duì)應(yīng)的部分。4、循環(huán)嵌套使用循環(huán)是可以嵌套使用的。循環(huán)還可以結(jié)合if控制,形成對(duì)程序流程復(fù)雜的控制,實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯流程。循環(huán)嵌套,但不能交錯(cuò)。for(語(yǔ)句;條件表達(dá)式;語(yǔ)句){

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

語(yǔ)句; }

語(yǔ)句;}第07節(jié)

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

√√2、contine中斷語(yǔ)句

√√3、return中斷語(yǔ)句

√√1、break中斷語(yǔ)句語(yǔ)句break在Java中有兩種使用場(chǎng)景:在switch中使用,用來(lái)分隔匹配成功的代碼段的執(zhí)行。用法:break;在循環(huán)中使用,用來(lái)結(jié)束循環(huán)。循環(huán)中break語(yǔ)句的使用方法:獨(dú)立使用: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)是綁定的,表示一個(gè)循環(huán)的名字。在break中使用標(biāo)簽:break標(biāo)簽名;A:

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

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

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

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

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

語(yǔ)句4;

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

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

語(yǔ)句4;

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

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

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

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

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

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

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

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

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

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

類型

數(shù)組名[];

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

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

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

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

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

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

3、使用數(shù)組-1使用數(shù)組的場(chǎng)景:在賦值的時(shí)候使用。在表達(dá)式中使用。在函數(shù)調(diào)用的時(shí)候使用。使用數(shù)組的方式:使用數(shù)組中的某個(gè)變量。使用整個(gè)數(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ù)組的長(zhǎng)度利用數(shù)組長(zhǎng)度,可以清楚數(shù)組邊界,防止訪問(wèn)數(shù)組越界。int[]arr={5,3,2,4,1};intlen=arr.length; //直接使用數(shù)組。

int[]arr={5,3,2,4,1}; //利用數(shù)組長(zhǎng)度,可以防止使用數(shù)組的時(shí)候越界。for(inti=0;i<arr.length;i++){ //可以利用數(shù)組的長(zhǎng)度,方便的遍歷數(shù)組。 System.out.println(arr[i]);}4、命令行參數(shù)數(shù)組命令行格式:命令參數(shù)1參數(shù)2……Java是命令-ea:…是第一個(gè)參數(shù)TestException是第二個(gè)參數(shù)在Java程序中也可以帶命令行參數(shù)Java中訪問(wèn)命令行參數(shù)通過(guò)main函數(shù)的數(shù)組參數(shù)String[].javaClass文件參數(shù)1參數(shù)2參數(shù)3publicstaticvoidmain(String[]args){ intlen=args.length;//命令行參數(shù)個(gè)數(shù)}5、數(shù)組循環(huán)與for語(yǔ)句增強(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ù)組的申明語(yǔ)法多維數(shù)組的初始化語(yǔ)法多維數(shù)組的使用語(yǔ)法多維數(shù)組的長(zhǎng)度

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ù)組的第一行的長(zhǎng)度:列數(shù)

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

方法

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

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

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

√√5、方法重載

√√6、main方法

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

修飾符號(hào)返回?cái)?shù)據(jù)類型函數(shù)名(參數(shù)類型參數(shù),……)異常列表{

語(yǔ)句組;}staticpublic

void

main(String[]

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

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

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

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

方法的異常列表:throws異常類型1,異常類型2【可選】一個(gè)最簡(jiǎn)潔的方法void

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論