跟我学JAVA / 第三课:Java流程控制与数组
2018-03-08
本章我們將學到的知識點:
1、流程控制? 2、數(shù)組
一、控制結(jié)構(gòu):Java 支持下列控制結(jié)構(gòu):選擇、循環(huán)、跳轉(zhuǎn)
選擇:if-else Switch
循環(huán):while do-while for
跳轉(zhuǎn):break Continue
if-else 結(jié)構(gòu)的語法為:
if (條件) {語句1;} else{ 語句2;} //if和else塊中只有一條語句
if (條件) { 語句組1; } else { 語句組2; } //if和else塊中有多條語句
if (條件1){ 語句1; }else if (條件2){ 語句2; } … else if (條件m){ 語句 m; }else{ 語句n; }
switch 結(jié)構(gòu)的語法為:
switch(表達式){//表達式必須為byte,short,int或char類型case '常量值 1': //常量值必須是與表達式類型兼容的特定的一個常量 不允許有重復(fù)的case值語句(組);
break;
case '常量值 2':
語句(組);
break;
case '常量值 N':
語句(組);
break;
default: //default子句為可選
語句(組);
}
循環(huán)語句使用規(guī)則:
?
while 適合于開始不清楚循環(huán)將要進行的次數(shù),而且循環(huán)可能一次都不進行的情況
do-while 適合于不清楚循環(huán)次數(shù),但是循環(huán)肯定要進行一次的情況
for 適合于預(yù)先知道循環(huán)將要進行的次數(shù)的情況
注意:一定程度上他們是可以互相替換的。
?
?
//while 循環(huán),“當型”循環(huán),先判斷條件再執(zhí)行 while(條件){語句組; }//do-while循環(huán),“直到型”循環(huán),先執(zhí)行再判斷條件,也就是說, //至少可以執(zhí)行一次,在while(條件)后面的分號不要忘 do {語句組; }while(條件);//for 循環(huán),“初始化”和“循環(huán)條件表達式”部分可以使用逗號來執(zhí)行多個操作, //如果三個部分都為空語句(分號不能省),相當于一個無限循環(huán) for(變量初始化; 循環(huán)條件表達式; 遞增或遞減變量的值){語句組; }?
break和continue
break 語句在循環(huán)中用于立即從當前循環(huán)終止控制。 遇到 break 語句時,將跳出當前循環(huán)。
continue 語句則是從其調(diào)用處跳至循環(huán)的開始處。 continue 語句之后的語句將不再執(zhí)行。
?
Return? 返回語句的兩種格式:
Return語句從當前方法退出,返回到調(diào)用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)執(zhí)行程序。
1、return expression 返回一個值給調(diào)用該方法的語句。 返回值的數(shù)據(jù)類型必須和方法聲明中的返回值類型一致或是精度低于聲明的數(shù)據(jù)類型。
2、return 當方法聲明中用void聲明返回類型為空時,應(yīng)使用這種返回類型,它不返回任何值。
二、數(shù) 組
數(shù)組是有相同類型的、用一個標識符名稱封裝到一起的一個對象序列或基本數(shù)據(jù)類型數(shù)據(jù)序列。
數(shù)組是一種最簡單的復(fù)合數(shù)據(jù)類型。
數(shù)組可以是一維的也可以是多維的。
一維數(shù)組定義:
type arrayName[ ] 或 type[ ] arrayName說明: type : 可以是java中任意的數(shù)據(jù)類型,包括簡單類型和復(fù)合類型(也可以是數(shù)組) arrayName :為一個合法的標識符; [ ]指明該變量是一個數(shù)組類型的變量。
聲明數(shù)組變量,例如聲明一個數(shù)組x:
?
int x[ ]; int[ ] x;?
聲明一個數(shù)組,每個元素都是整數(shù)數(shù)據(jù)。 聲明的時候不指定數(shù)組的長度。 只聲明的數(shù)組是不能訪問它的任何元素的。
為數(shù)組分配空間,用new關(guān)鍵為對象分配其內(nèi)存空間:
type arrayName = new type[arraySize] //例如: int x = new int[100];通過引用來使用數(shù)組元素 :arrayName[index] index為數(shù)組下標,可是整型常數(shù)或表達式。 index取值從 0 到 arraySize-1;
數(shù)組在內(nèi)存中的分配:
當 x = null 即該數(shù)組對象不再被任何引用變量使用的時候,“垃圾回收器”將自動釋放該內(nèi)存資源。
數(shù)組的靜態(tài)初始化
int ia[ ]={1,2,3,4}; int ia[ ]=new int[ ]{3,4,5};動態(tài)初始化
int intArray[];//聲名數(shù)組 intArray = new int[5];//為數(shù)組分配空間注意:聲明數(shù)組時,無論用何種方式定義數(shù)組,都不能指定其長度。
使用時要注意的問題:?
空指針異常(NullPointException) 只聲明但沒有初始化的時候直接使用該變量。
數(shù)組越界異常(ArrayIndexOutBoundsException) 所有數(shù)組的下標都從0開始。
int[] a ={1,2,3}; for (int i= 0; i< a.length; i++){ System.out.println(a[i]); } //其中l(wèi)ength屬性表示數(shù)組的長度三、多維數(shù)組
java沒有真正的多維數(shù)組,只有數(shù)組的數(shù)組
二維數(shù)組的定義:
type arrayName[ ][ ];或 type[ ][ ] arrayName; //例子: int xx[ ][ ] = new int[3][3]; int[ ][ ] xx = {{3,2,7},{1,5},{6}};靜態(tài)初始化
int intArray[ ][ ]={{3,2,7},{1,5},{6}};Java語言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。
動態(tài)初始化
int[][] xx = new int[3][]; //指定一個3行n列的數(shù)組 xx[0] = new int[3]; //指定第一行為3列 xx[1] = new int[2]; //指定第二行為2列注意:在Java語言中,必須首先為最高維分配引用空間,然后再順次為低維分配空間。
?
轉(zhuǎn)載于:https://www.cnblogs.com/Parker-YuPeng/articles/8530577.html
總結(jié)
以上是生活随笔為你收集整理的跟我学JAVA / 第三课:Java流程控制与数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj2427: [HAOI2010]
- 下一篇: Redis 4.0.2分布式锁的Java