




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java程序設計第02章Java基本語法本章內容CORE-C02-01數(shù)據與數(shù)據類型
CORE-C02-02數(shù)據存儲與量
CORE-C02-03數(shù)據輸入與輸出
CORE-C02-04數(shù)據運算與運算符
CORE-C02-05運算與條件流程控制
CORE-C02-06運算與循環(huán)流程控制
CORE-C02-07運算與中斷流程控制
CORE-C02-08數(shù)組
CORE-C02-09方法
本章目標1、能根據需要定義各種變量。2、能對變量正確賦值。3、能對變量進行各種運算。4、能使用控制語句控制程序的運行。5、能熟練使用數(shù)組。6、能封裝方法。7、能調用方法。重點:
1.熟練使用各種數(shù)據類型的定義。2.熟練使用數(shù)組和各種控制語句。 3.掌握從鍵盤接收數(shù)據的方法。第01節(jié)
數(shù)據與數(shù)據類型知識點預覽#節(jié)知識點難點重點應用1CORE-C02-01數(shù)據與數(shù)據類型1、數(shù)據值
√√2、定長數(shù)據類型
√√3、用戶自定義類型√√√1、數(shù)據值-1數(shù)據值是計算機最重要的概念:計算機的核心功能是處理數(shù)據,所以任何計算機語言中數(shù)據是最重要的概念,而在數(shù)字計算機中數(shù)據的表現(xiàn)為數(shù)據值。數(shù)據值的存儲:計算機要處理處理數(shù)據的首要問題是數(shù)據值在計算機內存中的存儲,而要存儲數(shù)據值則必須要先確定數(shù)據的大小與格式(數(shù)據值類型),然后數(shù)據值的記錄方式。數(shù)據值的類型與記錄方式:邏輯類型:true/false。(1字節(jié))字符類型:’a’或者0-255之間的數(shù)。(本質是一個無符號的1字節(jié)整數(shù))整數(shù)類型:1234,4523(1,2,4字節(jié))或者3456L,3456L(8字節(jié))。為了數(shù)據存儲的有效性,整數(shù)根據大小分為1、2、4、8字節(jié)整數(shù)。小數(shù)類型:23.56,45.78d、45.78D(8字節(jié))或者56.89f、56.89F(4字節(jié))。為了數(shù)據存儲的有效性,小數(shù)根據大小分為4、8字節(jié)小數(shù)。字符串類型:”Hello”,null。
字符串是多個字符的快捷表現(xiàn)形式,內存存儲實際是字符格式。固定長數(shù)據值變長1、數(shù)據值-2整數(shù)數(shù)據值的進制表示二進制:0b10101八進制:07777十進制:123456十六進制:0xFFA12
0XfA6FF (x不區(qū)分大小寫)整數(shù)數(shù)據值的后綴整數(shù)數(shù)據值一般使用4字節(jié),如果8字節(jié)的整數(shù)數(shù)據值,則需要加L或者l后綴。小數(shù)數(shù)據值的科學表示普通表示:123.56科學表示:1.2356e2;小數(shù)數(shù)據值的后綴一般小數(shù)都是8字節(jié)的雙精度數(shù),如果需要4字節(jié)的小數(shù),則需要f或者F后綴,8字節(jié)也可以使用d或者D后綴。1、數(shù)據值-3字符數(shù)據值的轉義表示字符除使用’A’形式的有形字符表示外,還可以使用轉義字符表示:‘\n’ 回車‘\t’ 水平制表符‘\b‘ 空格‘\r‘ 換行‘\f’ 換頁‘\'‘ 單引號‘\"‘ 雙引號‘\\’ 反斜杠‘\ddd’ 三位八進制‘\udddd’ 四位十六進制1、數(shù)據值-4JavaSE7.0引入了下劃線來增強數(shù)字類型的可讀性。下劃線規(guī)則:不能出現(xiàn)在與禁止有關的符號前后。不能出現(xiàn)在小數(shù)點前后。不能出現(xiàn)在后綴前后。不能出現(xiàn)在數(shù)字值前后,只能在中間。floatf=12.4_5_6f;
inti=12_34_56;2、定長數(shù)據類型固定長數(shù)據值一般是直接存儲的分配的內存空間之中,一般稱為基本數(shù)據類型。Java基本數(shù)據類型的表示:邏輯類型: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ù)的時候再詳細講解。3、用戶自定義類型用戶自定義數(shù)據類型也稱復合數(shù)據類型就是使用基本數(shù)據類型根據用戶需要組合成的新的數(shù)據類型。用戶自定義數(shù)據類型的長度根據用戶的需要而不定,所以用戶自定義數(shù)據類型是屬于變長數(shù)據類型。Java語言的數(shù)據表達能力:由于Java語言引入的用戶自定義數(shù)據類型的表達方式,所以基本上Java語言可以表達與存儲任何數(shù)據值。字符串類型屬于用戶自定義類型,由于字符串太常用,所以Oracle公司的工程師已經利用Java語法把字符串定義成一種用戶自定義數(shù)據類型。字符串自定義類型:String。用戶自定義數(shù)據值與基本數(shù)據值的存儲空間的分配方式是不同的?;緮?shù)據類型是事先分配。(加載時分配)用戶自定義類型是數(shù)據值確定的時候分配。(運行時分配)第02節(jié)
數(shù)據存儲與量知識點預覽#節(jié)知識點難點重點應用2CORE-C02-02數(shù)據存儲與量1、定義變量
√√2、初始化變量與變量賦值
√√3、使用變量
√√4、賦值與類型轉換
√√5、字符串
√√6、常量
√√7、量的作用域
√√1、定義變量數(shù)據值在Java中使用有兩種方式:1、直接使用,我們稱為字面值。2、先申請內存(我們把命名的內存稱為量),并對內存命名(定義量),然后把數(shù)據放入內存(量初始化或量賦值),如果量的值可以反復賦值,則稱為變量,否則稱為常量。變量定義語法:數(shù)據類型變量名[=值]; //定義一個變量數(shù)據類型變量名1[=值],變量名2[=值],……;//定義多個變量2、初始化變量與變量賦值-1第一次變量賦值稱為變量初始化。Java變量如果沒有初始化,編譯器會提供初始值。邏輯變量默認初始值是false。字符變量默認是空字符(ASCII碼為0的字符)。整數(shù)變量默認值是0。小數(shù)變量默認值是0.0。用戶自定義類型變量默認值是null。變量賦值語法:變量初始化方式:變量名=值;//值可以是字面值,另外一個變量,表達式,函數(shù)調用;變量名=字面值; //使用賦值語句初始化數(shù)據類型變量=字面值;//在定義變量的同時初始化。數(shù)據類型變量=字面值,變量=字面值,…..;2、初始化變量與變量賦值-2邏輯變量賦值字符變量賦值booleanb_data;b_data=true; //賦值方式1booleanisrunning=false; //賦值方式2booleanisup=true,isdown=false,isright; //賦值方式3charc1;c1=‘A’; //賦標準字符值。c1=65; //賦ASCII字符值,ASCII可以是2、8、16進制等。c1=‘\53’; //賦8進制轉義字符值。c1=‘\n’; //賦普通轉義字符值。c1=‘\u4e2d’; //賦16進制(unicode)轉義字符值。charc2=c1; //把另外一個字符賦值給字符變量。
c2=‘中’; //Java支持Unicode字符—漢字本地字符2、初始化變量與變量賦值-3賦值注意事項:賦值的范圍:按照字節(jié)計算。賦值的形式:賦值語句,定義變量的時候賦值。賦值的格式:進制,字面值類型,使用另外一個變量賦值,表達式,函數(shù)。使用變量賦值的時候,注意字節(jié)大小的轉換,小可以轉換為大類型。字符型也屬于整數(shù)類型,字符除不能轉換為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進制,整數(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ù)與科學計數(shù),字面值類型,使用另外一個變量賦值,表達式,函數(shù)。使用變量賦值的時候,注意字節(jié)大小的轉換,小可以轉換為大類型。整數(shù)類型也可以轉換為小數(shù)類型。注意:浮點數(shù)字面值默認是8字節(jié)。floatf=5.555555f; //
正負3.4028235E+38F范圍內doubled=5.5555555; //正負1.7976931348623157E+308范圍內
3、使用變量定義變量的主要目的是存放數(shù)據,要使用存放在變量的數(shù)據就是使用變量。變量的使用方式:用來給另外一個變量賦值。在表達式中使用。直接用在函數(shù)中。inti=20;floatf=i; //用來給另外一個變量賦值intj=i+20; //用在表達式中System.out.println(j); //用在函數(shù)調用中4、賦值與類型轉換-1給變量賦值的時候,如果變量的類型與值的類型不一致,則只有兩種可能情形存在:1、錯誤:編譯器提示類型錯誤不能賦值。2、成功:編譯器自動把值的類型進行轉換。賦值時的類型轉換:1、編譯器自動轉換:隱式轉換。2、在代碼中使用轉換語法:顯示轉換4、賦值與類型轉換-2隱式轉換規(guī)則:內存空間能夠存儲,數(shù)據范圍有包含關系,不能出現(xiàn)數(shù)據丟失。不同格式的數(shù)據類型之間一般不能轉換。邏輯值不能轉換為數(shù)字型(字符,整數(shù)與浮點數(shù))變量。如果是字面值賦值給變量,只要數(shù)據不丟失都可以賦值。charc=‘A’;shorts=c;//不自動轉換,盡管char與short都是2字節(jié),但出現(xiàn)數(shù)據范圍不同。
inti=c;//會自動轉換,char空間小于int,char范圍包含int,轉換不會丟失數(shù)據
byte: shortintlongfloatdouble char: intlongfloatdoubleshort: intlongfloatdoubleint: longfloatdoublelong: floatdoublefloat: doublebyteb=‘a’charc=97;shorts=‘a’; //這里三種情況在變量賦值給變量都會出現(xiàn)語法錯誤。4、賦值與類型轉換-3顯式轉換語法(類型)值或者變量顯式轉換規(guī)則只有同類類型才能轉換。charc=‘A’;shorts=(short)c;inti=(int)23.67;charc=(char)true; //boolean型不能轉換為數(shù)字型,反之亦然。
inti=(int)”1234”; //字符串類型不能轉換為整數(shù)類型。
4、賦值與類型轉換-4把字符串轉換為整數(shù)把字符串轉換為浮點數(shù)把整數(shù)轉換為字符串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、量的作用域變量的作用域與他定義的位置和修飾符號有關。通常變量可以在兩個位置定義:在類塊中定義—成員變量在函數(shù)塊中定義—局部變量影響變量作用域的修飾符號-全局變量static。static只能修飾在類塊中定義的變量,不能修飾函數(shù)塊中定義的變量。static修飾的變量使用方式:類塊名.變量名.classClsA{intm_a=20; //成員變量publicstaticvoidmain(String[]args){
inta=30; //局部變量}}classClsA{
staticintm_a=20; //全局變量}第03節(jié)
數(shù)據輸入與輸出知識點預覽#節(jié)知識點難點重點應用3CORE-C02-03數(shù)據輸入與輸出1、輸入數(shù)據
√√2、格式化輸出
√√可以使用Scanner類創(chuàng)建一個對象:scanner對象調用下列方法,讀取用戶在命令行(例如,MS-DOS窗口)輸入的各種基本類型數(shù)據:next()//輸入字符串nextInt()//輸入整數(shù)nextDouble()//輸入浮點數(shù)nextBoolean()、nextByte()、nextShort()、nextLong()、nextFloat()Scannerscanner=newScanner(System.in);
1、輸入數(shù)據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()可輸出串值、表達式的值,二者的區(qū)別是前者輸出數(shù)據后換行,后者不換行。允許使用并置符號:“+”將變量、表達式或一個常數(shù)值與一個字符串并置一起輸出,如:
System.out.println(m+"個數(shù)的和為"+sum);System.out.println(“:”+123+“大于”+122);2、格式化輸出-1JDK1.5新增了和C語言中printf函數(shù)類似的數(shù)據輸出方法,該方法使用格式如下:
System.out.printf("格式控制部分",表達式1,表達式2,…表達式n)格式控制部分由格式控制符號:%d、%c、%f、%s和普通的字符組成,普通字符原樣輸出。格式符號用來輸出表達式的值。%d:輸出int類型數(shù)據值%c:輸出char型數(shù)據。%f:輸出浮點型數(shù)據,小數(shù)部分最多保留6位%s:輸出字符串數(shù)據。輸出數(shù)據時也可以控制數(shù)據在命令行的位置,例如:%md:輸出的int型數(shù)據占m列%m.nf:輸出的浮點型數(shù)據占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ù)字格式化輸出貨幣格式財務格式字符串格式化輸出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ù)據運算與運算符知識點預覽#節(jié)知識點難點重點應用4CORE-C02-04數(shù)據運算與運算符1、算數(shù)運算
√√2、關系運算
√√3、邏輯運算
√√4、位運算
√√5、復合運算
√√6、運算與數(shù)據類型轉換
√√7、運算優(yōu)先級
√√8、數(shù)學函數(shù)與數(shù)學運算
√√運算符的最大作用可以根據用戶需要形成不同的表達式。1、算數(shù)運算單目:+(取正)-(取負)++(自增1)--(自減1)雙目:+(加)-(減)*(乘)/(除)%(取余)注意:++與--分前與后。當與其他環(huán)境在一起使用,前后的意義不同。前:先自增(減),在參與環(huán)境運算。后:先參與環(huán)境運算,再自增(減)。2、關系運算等于符號:==不等于符號:!=大于符號:>
小于符號:<大于等于符號:>=小于等于符號:<=3、邏輯運算邏輯與&&邏輯或||邏輯否!4、位運算位算術運算符&(與)
~(非)|(或)^(異或)位移運算符<<(帶符號左移)>>(帶符號右移)>>>(無號右移)5、復合運算與賦值運算符號=復合的運算,也稱賦值運算符。=+=-=*=/=%=&=^=|=<<=>>=特殊的三目運算:邏輯表達式?表達式1:表達式26、運算與數(shù)據類型轉換-1當各種運算符號形成表達式,其中參與運算的目的類型不一樣就導致最終的返回數(shù)據的類型難以確定。Java對復雜表達式的最終返回數(shù)據的類型指定了相應的規(guī)則:參與運算的數(shù)據必須滿足運算符號要求的類型。最后返回的數(shù)據類型符合最后執(zhí)行的運算符號的規(guī)則。6、運算與數(shù)據類型轉換-2算術運算的目的數(shù)據類型參與所有算術運算的基本數(shù)據類型有(可以混合)charbyteshortintlongfloatdouble對boolean等其他類型無效。算術運算返回數(shù)據的類型規(guī)則加減乘除取余遵循的規(guī)則:按照intlongfloatdouble從小到大的原則,返回參與運算的最大類型。最小返回int類型。計算兩個byte變量運算也是返回int類型。自增/自減準尋的規(guī)則:返回類型與參與運算的類型一致。float自增后還是float,byte自增后還是byte類型。6、運算與數(shù)據類型轉換-3關系運算符的目的數(shù)據類型:參與關系運算的基本數(shù)據類型有(可以混合):charbyteshortintlongfloatdoublebooleanstring支持(==關系運算符)。關系運算返回數(shù)據的類型規(guī)則返回boolean類型的數(shù)據。6、運算與數(shù)據類型轉換-4邏輯運算符的目的數(shù)據類型:只能是boolean類型。其他類型不能參與邏輯運算。邏輯運算返回數(shù)據的類型規(guī)則只能是邏輯類型。6、運算與數(shù)據類型轉換-5位運算符的目的數(shù)據類型:參與位算術運算的基本數(shù)據類型有(可以混合):charbyteshortintlong參與位移運算的基本數(shù)據類型有(可以混合):charbyteshortintlong位運算返回數(shù)據的類型規(guī)則位算術與位移運算符遵循的規(guī)則:按照intlongfloatdouble從小到大的原則,返回參與運算的最大類型。最小返回int類型。計算兩個byte變量運算也是返回int類型。位移運算符遵循的特別規(guī)則bytecharshortint位移的位數(shù)是先對32取余后的結果位移。long位移的位數(shù)是對64取余后的結果位移。byteb=45;intc=b>>2;intd=b>>34; //與b>>2的效果完全一樣。6、運算與數(shù)據類型轉換-6復合運算符的目的數(shù)據類型:滿足=前的運算符參與運算的目的類型。邏輯運算返回數(shù)據的類型規(guī)則=后的變量自動轉換為左邊的變量類型后進行運算。最后的返回值自定轉換為左邊的變量類型。byteb=45;doubled=45.45;b+=d; //合法,因為byte與double符合+的運算類型 //d先轉換為byte型,進行完+運算后再轉換為byte。b>>=d; //不合法,因為double不是>>的運算類型。6、運算與數(shù)據類型轉換-7?:三目運算的目的數(shù)據類型第一目:必須是boolean類型。第二目與第三目可以是任意類型,如果需要使用變量存儲運算結果,則兩個目的數(shù)據類型必須相同。如果不需要使用變量存儲,而是直接打印輸出,則數(shù)據類型可以不同。System.out.println(true?12:”Hello”); //合法
intk=true?12:”Hello”; //非法7、運算優(yōu)先級可以使用()改變優(yōu)先級別。優(yōu)先級別從高到低排列[]() ++--!~instanceof*/%+-<<>>>>><><=>==!=&^&&||?:=op=8、數(shù)學函數(shù)與數(shù)學運算Java提供了很多工具來提供強大的數(shù)據運算:Math工具提供的運算有三角函數(shù)運算。指數(shù)與對數(shù)運算。取整運算。隨機數(shù)運算。BigDecimal提供大小數(shù)運算。BigInteger提供大整數(shù)運算。參考Math、BigDecimal、BigInteger類第05節(jié)
運算與條件流程控制知識點預覽#節(jié)知識點難點重點應用5CORE-C02-05運算與條件流程控制1、if條件塊
√√2、if嵌套塊
√√3、switch條件塊
√√1、if條件塊條件if塊語法:執(zhí)行流程如果if中的表達式返回true,則執(zhí)行緊隨的塊,如果后面有else塊,執(zhí)行完畢直接跳轉到else塊的結束位置,否則執(zhí)行其后緊隨的代碼。如果if中的表達式返回false,則直接跳轉到緊隨塊的結束位置,如果后面有else塊,則執(zhí)行else塊,否則執(zhí)行其后緊隨的代碼。語法規(guī)則:當if塊或者else塊只有一個語句(塊當成一個語句),可以省略{}。if(返回結果為boolean類型的邏輯表達式){ //語句;}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使用的表達式規(guī)則:表達式類型必須是char、byte、short、int類型在JavaSE7.0以后增加了String類型。switch(表達式){case常量表達式1:
語句; break; //break可選。case常量表達式2:
語句; break;…default:
語句; break;}執(zhí)行流程:
如果表達式的值匹配那個case。
則從那個case開始執(zhí)行,
直到break才跳轉到switch塊結束位置。
如果沒有break,則繼續(xù)執(zhí)行到結束位置。第06節(jié)
運算與循環(huán)流程控制知識點預覽#節(jié)知識點難點重點應用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塊語法:條件表達式規(guī)則:必須返回boolean類型。執(zhí)行流程:判定條件表達式是否是true或者false;如果是true,則執(zhí)行塊中語句,執(zhí)行完畢后跳轉到while繼續(xù)判定。如果是false,則直接跳轉到while塊的結束位置。while(條件表達式){
語句;}2、for循環(huán)塊-1循環(huán)for塊的語法規(guī)則:語句可以是任何合法的語句,如果是多個語句使用逗號(,)分隔。條件表達式必須返回boolean值。注意:多個語句的時候,語句如果是變量定義語句,則必須都是變量定義語句,而且還必須是同一類型的變量。頭for中的語句、表達式、語句可以為空。注意:表達式為空,默認是true,而不是false。執(zhí)行流程:首先執(zhí)行語句1(可以是逗號分隔的多個語句)。然后判定表達式的值是true還是false。如果是true,則執(zhí)行語句3(可以是用分號分隔的多個語句)。執(zhí)行完畢后,則跳轉執(zhí)行語句2,然后再判定條件表達死。如果是false,則直接跳轉到for塊的結束位置。for(語句1;條件表達式;語句2){
語句3;}2、for循環(huán)塊-2在JDK1.5引入了一種爭對集合與數(shù)組的特例化循環(huán)for變量in數(shù)組/集合{}注意:該循環(huán)在數(shù)組與集合的時候專門講解.3、for與while比較循環(huán)for與while本質上是等價,效果一樣的。主要區(qū)別:循環(huán)for把循環(huán)的三個要素在循環(huán)頭中設置。格式固定,容易理解與使用。循環(huán)while需要程序員自己在適當?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++;}注意不同顏色對應的部分。4、循環(huán)嵌套使用循環(huán)是可以嵌套使用的。循環(huán)還可以結合if控制,形成對程序流程復雜的控制,實現(xiàn)復雜的業(yè)務邏輯流程。循環(huán)嵌套,但不能交錯。for(語句;條件表達式;語句){
語句; for(語句;條件表達式;語句){
語句; }
語句;}第07節(jié)
運算與中斷流程控制知識點預覽#節(jié)知識點難點重點應用7CORE-C02-07運算與中斷流程控制1、break中斷語句
√√2、contine中斷語句
√√3、return中斷語句
√√1、break中斷語句語句break在Java中有兩種使用場景:在switch中使用,用來分隔匹配成功的代碼段的執(zhí)行。用法:break;在循環(huán)中使用,用來結束循環(huán)。循環(huán)中break語句的使用方法:獨立使用:break;中斷當前循環(huán)。與標簽結合使用:中斷指定標簽的循環(huán)。定義標簽:
標簽名:規(guī)則:標簽只能定義在循環(huán)頭的前面,中間不能有可執(zhí)行代碼。標簽與循環(huán)是綁定的,表示一個循環(huán)的名字。在break中使用標簽:break標簽名;A:
//標簽:對循環(huán)命名,便于跳轉執(zhí)行流程。for(語句;條件表達式;語句){ for(語句;條件表達式;語句){ breakA;//不是中斷內層循環(huán),而是中斷外層循環(huán)。
break; //中斷當前層循環(huán)-內層循環(huán)。 }}2、contine中斷語句語句continue的使用:在循環(huán)中使用,用來跳轉到循環(huán)開始:在for與while跳轉位置有差別。循環(huán)中continue語句的使用方法:獨立使用。與標簽結合使用。A:
//標簽:對循環(huán)命名,便于跳轉執(zhí)行流程。for(語句;條件表達式;語句){ for(語句;條件表達式;語句){ continueA;//跳轉到A代表的循環(huán)開始位置。
continue;//跳轉到當前循環(huán)開始位置。 }}for(語句1;表達式;語句2){
語句3;continue;//跳轉到語句2
語句4;
}while(表達式){
語句3;continue;//跳轉到表達式
語句4;
}3、return中斷語句語句return實際上與循環(huán)無關,該語句是中斷函數(shù)的,并且還可以返回一個數(shù)據。在循環(huán)中使用return語句,直接跳轉到循環(huán)所在函數(shù)的結尾。注意:在方法或者函數(shù)的章節(jié)還會描述該語句的具體使用。return返回的值或者表達式; //返回的值根據情況是可選第08節(jié)
數(shù)組知識點預覽#節(jié)知識點難點重點應用8CORE-C02-08數(shù)組1、定義數(shù)組
√√2、初始化數(shù)組與數(shù)組賦值
√√3、使用數(shù)組
√√4、命令行參數(shù)數(shù)組
√√5、數(shù)組循環(huán)與for語句增強
√√6、多維數(shù)組
√√7、不規(guī)則數(shù)組√√√8、數(shù)組操作
√√1、定義數(shù)組數(shù)組是一次定義多個變量的另外一種方式,與前面定義多個變量的語法一樣,數(shù)組的類型都是一樣的,而且變量名也一樣,不同的變量使用下標的方式來區(qū)別。定義數(shù)組的語法:注意:類型可以是基本類型與用戶自定義類型。
類型[]數(shù)組名;
類型
數(shù)組名[];
類型[]數(shù)組名1,數(shù)組名2,……;類型
數(shù)組名1[],數(shù)組名2[],…….;2、初始化數(shù)組與數(shù)組賦值-1沒有初始化的數(shù)組是不能使用的。變量不初始化也可以使用。數(shù)組變量的存儲方式與一般變量不一樣。一般變量:定義變量時分配一個空間,賦值時,數(shù)據就放入到該空間。數(shù)組變量:定義變量時分配一個4字節(jié)空間,但不能存放數(shù)組的值,如果需要存放,則需要分配新的空間存放數(shù)據,并把新分配的空間地址存放在開始分配的4字節(jié)空間中。數(shù)組的初始化包含兩個過程:空間分配:根據實際數(shù)據長度分配空間。對數(shù)組中的每個變量賦初值。注意:數(shù)組在分配空間的時候會用缺省的初始值對數(shù)組的每個變量進行初始化。
數(shù)組名=new類型[變量個數(shù)]; //對已經定義的數(shù)組進行空間分配
類型[]數(shù)組名=new類型[變量個數(shù)]; //在申明數(shù)組的時候同時進行空間分配2、初始化數(shù)組與數(shù)組賦值-2數(shù)組中每個變量的初始化:數(shù)組的每個變量的表示:數(shù)組名[下標],數(shù)組下標從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ù)組的場景:在賦值的時候使用。在表達式中使用。在函數(shù)調用的時候使用。使用數(shù)組的方式:使用數(shù)組中的某個變量。使用整個數(shù)組。int[]arr={1,2,3,4};inti=arr[1]; //賦值使用。System.out.println(arr[i]); //直接使用。System.out.println(arr[i]+20); //在表達式中使用。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語句增強在for…in中使用數(shù)組int[]arr={1,2,3,4,5,6};for(inti:arr){ System.out.println(i); //注意:i不是arr數(shù)組的下標,而是變量}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ù)組存儲空間結構的特殊性,允許數(shù)組是不規(guī)則數(shù)組。int[][]arr1={{1,2,3},{3,4},{5,6,7,8,9}};//定義了3行,第一行3個變量,第二行2個變量,第三行5個變量的數(shù)組。8、數(shù)組操作多維數(shù)組可以轉化低維數(shù)組:維數(shù)只能逐步降低。操作數(shù)組的一個強大工具:Arrays工具排序。二分法查找。初始化??截?。相等判定。轉換為字符串。int[][]arr1={{1,2},{3,4},{5,6}};int[]arr2=arr1[1]; //arr1[1]就是1維數(shù)組;第09節(jié)
方法
知識點預覽#節(jié)知識點難點重點應用9CORE-C02-09方法1、方法的定義
√√2、方法的參數(shù)
√√3、方法的變長參數(shù)√√√4、方法調用
√√5、方法重載
√√6、main方法
√√1、方法的定義-1方法是一組語句形成的有名塊。對語句分組的好處便于重復調用。也稱為語句封裝。一個例子:
修飾符號返回數(shù)據類型函數(shù)名(參數(shù)類型參數(shù),……)異常列表{
語句組;}staticpublic
void
main(String[]
args)throwsException{ System.out.println(“HelloJava!”);//被封裝的語句}修飾符號返回數(shù)據類型函數(shù)名參數(shù)類型參數(shù)異常列表1、方法的定義-2方法的修飾符號:
控制作用域【必須】:publicprotectedprivate缺省public表示在哪兒都可以調用
控制方法的改變【可選】:final
控制方法的使用方式【可選】:staticstatic表示方法成為全局方法,可以直接調用。
方法的異常列表:throws異常類型1,異常類型2【可選】一個最簡潔的方法void
show(){ ……;}1、方法的定義-3方法的返回值:無返回值,使用void。有返回值,就使用返回值的類型。語句return:無返回值,不需要使用return或者直接使用return。有返回值,使用return表達式或者值。return返回的值必須與方法頭中返回值類型一致。intadd(inta,intb){ returna+b;}
voidshow(){ return;}2、方法的參數(shù)為了保證方法的靈活性,允許為封裝的代碼提供不同的處理數(shù)據,這個由參數(shù)來實現(xiàn)并完成。方法參數(shù)的作用域:只能在方法塊內使用,當方法執(zhí)行完畢,參數(shù)變量被釋放。形參:定義方法的時候,方法的參數(shù)名可以隨意改變(但須遵循Java標識符的命名規(guī)則),因為參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 打架傷人和解協(xié)議書范本
- 茶園租賃合同(含茶葉加工銷售)
- 文化創(chuàng)意園區(qū)場地改造與運營管理合同
- 攝影拍攝場合記人員聘用合同協(xié)議
- 監(jiān)控業(yè)務轉讓協(xié)議書范本
- 廁所清潔服務合同范本(含夜間保潔)
- 體育產業(yè)代理記賬與賽事運營財務管理協(xié)議
- 產權車庫購置及車位共享合同
- 聲屏障降噪效果測試專題報告
- 【課件】大氣壓強教學課件+2024-2025學年人教版物理八年級下學期+
- 《光伏電站運行與維護》課件-項目五 光伏電站常見故障處理
- 使用錯誤評估報告(可用性工程)模版
- 委托辦事合同范例
- 高中生物必修知識點總結(人教版復習提綱)高考基礎
- 江西省撫州市2023-2024學年高二下學期期末考試數(shù)學
- 汽車以租代購合同
- 高中英語新課程標準解讀課件
- 道路、公共廣場清掃保潔作業(yè)服務投標方案(技術方案)
- DB34-T 4754-2024 人力資源服務產業(yè)園運營規(guī)范
- 建設項目全過程工程咨詢服務投標方案
- GB/T 41782.3-2024物聯(lián)網系統(tǒng)互操作性第3部分:語義互操作性
評論
0/150
提交評論