W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
(1) 順序結(jié)構(gòu)
(2) 分支結(jié)構(gòu)
(3) 循環(huán)結(jié)構(gòu)
(4) break 與 continue關(guān)鍵字
(5) 數(shù)組
(6) 方法
如果代碼里沒有流程控制,程序是至上而下一行一行執(zhí)行的
一條語句執(zhí)行完之后繼續(xù)執(zhí)行下一條語句,直到程序的最后
順序結(jié)構(gòu)只能順序執(zhí)行,不能進行判斷和選擇,因此需要分支結(jié)構(gòu)
JAVA有兩種分支結(jié)構(gòu):● if 語句 ● switch 語句
(1):if 語句,一個 if 語句包含一個布爾表達式和一條或多條語句
if語句三種格式:
```
語句格式一:if(條件表達式){
執(zhí)行語句;
}
語句格式二:if(條件表達式){
執(zhí)行語句;
}else{
執(zhí)行語句;
}
語句格式三:if(條件表達式){
執(zhí)行語句;
}else if (條件表達式){
執(zhí)行語句;
}
……
else
{
執(zhí)行語句;
}
<br> **if 語句的用語法如下: 如果布爾表達式的值為 true,則執(zhí)行 if 語句中的代碼塊,否則執(zhí)行 if 語句塊后面的代碼** <br> ``` <br>if(布爾表達式) { <br>//如果布爾表達式為true將執(zhí)行的語句 <br>} <br> ``` <br> **if語句代碼** <br> ``` <br>/** <br>*if語句代碼 <br>**/ <br>//定義一個Demo類 <br>public class Demo { <br>//定義主方法 <br>public static void main(String args[]){ <br>int a = 10; //定義一個變量 <br>if( a < 100 ){ <br>System.out.print("這是 if 語句"); //輸出語句 <br>} <br>} <br>} <br> ``` <br> <br> **if...else語句:if 語句后面可以跟 else 語句,當 if 語句的布爾表達式值為 false 時,else 語句塊會被執(zhí)行** <br> **if…else 的用法**: <br> ``` <br>if(布爾表達式){ <br>//如果布爾表達式的值為true <br>}else{ <br>//如果布爾表達式的值為false <br>} <br> ``` <br> **if else語句代碼如下:** <br> ``` <br>/** <br>*if else語句代碼 <br>*// <br>//定義一個Demo2類 <br>public class Demo2 { <br>//定義一個主方法 <br>public static void main(String args[]){ <br>int b = 30; //聲明一個變量并賦值 <br>if( b < 20 ){ <br>System.out.print("這是 if 語句"); <br>}else{ <br>System.out.print("這是 else 語句"); <br>} <br>} <br>} <br> ``` <br> <br> **(2):switch 語句** <br> switch 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支 <br> case只是用來為switch選擇一個執(zhí)行代碼的入口,如果一旦進入一個入口之后,后面的case實際上已經(jīng)失去了判斷的意義, <br> JAVA在執(zhí)行的時候就會把這個case之后的case相當于刪除了,所以就會一直往下執(zhí)行,直到遇到break <br> 所以讀者可以發(fā)現(xiàn), 每一個case后面沒有{}這個符號來表示一個代碼塊 <br> **switch語句選擇的類型只有四種**:byte、short、int 、char (java5版本之前)還支持 enum(jdk5), String(jdk7) <br> case之間與default沒有順序,先執(zhí)行第一個case,都沒有匹配的case值執(zhí)行default。 <br> 結(jié)束switch語句的兩種情況:遇到break,switch語句執(zhí)行結(jié)束 <br> 如果匹配的case或者default沒有對應的break,那么程序會從第一次匹配的case語句開始繼續(xù)向下執(zhí)行 <br> 運行可以執(zhí)行的語句,直到遇到break或者switch結(jié)束為止 <br> <br> **switch語法格式**: <br> ``` <br>switch(表達式){ <br>case 表達式可能的結(jié)果值1: <br>執(zhí)行語句; <br>break; <br>case 表達式可能的結(jié)果值2: <br>執(zhí)行語句; <br>break; <br>... <br>default: <br>執(zhí)行語句; <br>break; <br>}
<br> switch語句代碼如下: <br> ``` <br>/** <br>*switch代碼 <br>**/ <br>//定義一個Demo3類 <br>public class Demo3 { <br>//定義一個主方法 <br>public static void main(String args[]){ <br>char grade = 'C'; <br>//switch語句 <br>switch(grades){ <br>case 'A' : <br>System.out.println("優(yōu)秀"); <br>break; <br>case 'B' : <br>System.out.println("良好"); <br>break; <br>case 'C' : <br>System.out.println("及格"); <br>case 'D' : <br>System.out.println("你還需要努力學習"); <br>break; <br>default : <br>System.out.println("未知等級"); <br>} <br>System.out.println("你的等級是 " + grade); //輸出語句 <br>} <br>} <br> ```
JAVA中有三種主要的循環(huán)結(jié)構(gòu):● while 循環(huán) ● do…while 循環(huán) ● for 循環(huán)
用于處理需要重復執(zhí)行的操作,根據(jù)判斷條件的成立與否,決定程序段落的執(zhí)行次數(shù),而這個程序段落稱為循環(huán)體
(1):while 循環(huán),只要布爾表達式為 true,循環(huán)體會一直執(zhí)行下去,while是最基本的循環(huán),它的結(jié)構(gòu)為:
while( 布爾表達式 ) {
//循環(huán)內(nèi)容
}
while循環(huán)代碼如下:
/**
*while循環(huán)
**/
//定義一個Demo4類
public class Demo4 {
//定義一個主方法
public static void main(String args[]) {c
int c = 5; //定義一個變量
// while循環(huán)體
while( c < 10 ) {
System.out.print("c的值為:" + c ); //輸出c的值
c++; //計數(shù)器
System.out.print("\n"); // 輸出換行
}
}
}
(2):do…while 循環(huán):do…while 循環(huán)和 while 循環(huán)相似,不同的是 do…while 循環(huán)至少會執(zhí)行一次
do…while 循環(huán)結(jié)構(gòu):布爾表達式在循環(huán)體的后面,所以語句塊在檢測布爾表達式之前已經(jīng)執(zhí)行了
如果布爾表達式的值為 true,則語句塊一直執(zhí)行,直到布爾表達式的值為 false
do {
//代碼語句
}while(布爾表達式);
do…while 循環(huán)代碼
/**
*do…while 循環(huán)代碼
**/
//定義一個Demo5類
public class Demo5 {
//定義一個主方法
public static void main(String args[]){
int d = 10; //定義一個變量
//do…while 循環(huán)體
do{
System.out.print("d的值為: " + d ); //輸出d的值
d++; //計數(shù)器
System.out.print("\n");
}while( d < 20 );
}
}
(3).for循環(huán):1, for循環(huán)里面的3個表達式運行的順序,初始化表達式只讀一次,判斷循環(huán)條件,為真就執(zhí)行循環(huán)體
然后再執(zhí)行循環(huán)后的操作表達式,接著繼續(xù)判斷循環(huán)條件,重復找個過程,直到條件不滿足為止。
2, while與for可以互換,區(qū)別在于for為了循環(huán)而定義的變量在for循環(huán)結(jié)束就在內(nèi)存中釋放,而while循環(huán)使用的變量在循環(huán)結(jié)束后還可以繼續(xù)使用。
3, 最簡單無限循環(huán)格式:while(true) , for(;;),無限循環(huán)存在的原因是并不知道循環(huán)多少次,而是根據(jù)某些條件,來控制循環(huán)
for循環(huán)執(zhí)行的次數(shù)是在執(zhí)行前就確定的,語法格式如下:
for(初始化表達式(1);循環(huán)條件表達式(2);循環(huán)后的操作表達式(3)){
執(zhí)行語句;(4)
}
for循環(huán)執(zhí)行順序:(1) → (2) → (4) → (3) → (2) → (4) → (3)
for循環(huán)代碼
/**
*for循環(huán)代碼
*//
//定義一個Demo6類
public class Demo6 {
//定義一個主方法
public static void main(String args[]) {
//for循環(huán)體
for(int e = 10; e < 20; e++) {
System.out.print("e的值為 : " + e);//輸出e的值
System.out.print("\n"); //輸出換行
}
}
}
## 4.break 與 continue關(guān)鍵字
break語句;break:終止該層循環(huán)
continue語句;continue:跳過該層循環(huán)
①:若這兩個語句離開應用范圍,存在是沒有意義的。
②:這個兩個語句后面都能有語句,因為執(zhí)行不到。
③:continue語句是跳過本次循環(huán),繼續(xù)下次循環(huán)。
④:標簽的出現(xiàn),可以讓這兩個語句作用于指定的循環(huán)
break 關(guān)鍵字:break 主要用在循環(huán)語句或者 switch 語句中,用來跳出整個語句塊
break 跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語句
break 的用法很簡單,就是循環(huán)結(jié)構(gòu)中的一條語句:break;
continue 關(guān)鍵字:continue 適用于任何循環(huán)控制結(jié)構(gòu)中。作用是讓程序立刻跳轉(zhuǎn)到下一次循環(huán)的迭代
在 for 循環(huán)中,continue 語句使程序立即跳轉(zhuǎn)到更新語句
在 while 或者 do…while 循環(huán)中,程序立即跳轉(zhuǎn)到布爾表達式的判斷語句
continue 就是循環(huán)體中一條簡單的語句:continue;
筆者將講解JAVA數(shù)組的聲明、創(chuàng)建和初始化,并給出其對應的代碼
數(shù)組概念:一組能夠儲存相同數(shù)據(jù)類型值得變量的集合
數(shù)組的好處:數(shù)組里的每個元素都有編號,編號從0開始;依次遞增,方便操作這些元素
使用Java數(shù)組:必須先聲明數(shù)組,再給該數(shù)組分配內(nèi)存, JAVA語言中提供數(shù)組是用來存儲固定大小的同類型元素
聲明一維數(shù)組
一維數(shù)組:可以理解為一列多行、類型相同的數(shù)據(jù),其中每個數(shù)據(jù)被稱為數(shù)組元素
一維數(shù)組的聲明方式:
1.int x[];(不推薦使用)
2.int [] x = new int[3];
3.int x = new int[]{3,5.7};
4.int[] x; (推薦使用)
5.int[] x={3,5,7};
6.int a[5]; 非法數(shù)組,java語言聲明數(shù)組的時候不能指定其長度(元素的個數(shù))
一維數(shù)組的初始化:
JAVA中的數(shù)組必先初始化才可以使用,所謂初始化就是為數(shù)組的數(shù)組元素分配內(nèi)存,并為每個數(shù)組元素賦值
數(shù)組初始化的兩種方式:
1.靜態(tài)初始化:初始化時由我們自己指定每個數(shù)組元素的初始值,由系統(tǒng)決定需要的數(shù)組長度;
格式:數(shù)組名 = new 數(shù)組類型[]{元素1,元素2,元素3...元素n}; 簡化語法:數(shù)組名 = {元素1,元素2,元素3...元素n};
2.動態(tài)初始化:初始化時由我們指定數(shù)組的長度,由系統(tǒng)為數(shù)組元素分配初始值;
格式:數(shù)組名 = new 數(shù)組類型[數(shù)組長度];
聲明二維數(shù)組:
二維數(shù)組:(其實是一個一維數(shù)組,它的每一個元素又是一個一維數(shù)組),可以看做是一張表格
在數(shù)組中再存放數(shù)組,外層數(shù)組看做是行,內(nèi)層數(shù)組看做列;動態(tài)初始化,靜態(tài)初始化
初始化二維數(shù)組聲明方式:
//動態(tài)初始化,定義了一個二維數(shù)組,其中有3個一維數(shù)組,每一個一維數(shù)組中有2個元素
int[][] a = new int[3][2];
//靜態(tài)初始化
int[][] a = new int[][]{{1,2},{3,4},{5,6}};
int[][] a = {{1,2},{3,4},{5,6}};
使用 二維數(shù)組:
int[] [] arr = {{3,1,5},{2,6},{8}};
元素值5的表示方式為:arr[0][2] = 5;
第二個一維數(shù)組的長度表示方式:int len = arr[1].length;
對二維數(shù)組的遍歷使用for的嵌套循環(huán)。
對于其他多維數(shù)組,幾維就用幾層for嵌套,但通常情況數(shù)組最多用到三維,因為效率已經(jīng)大大降低了
使用數(shù)組常見操作:
JAVA語言的數(shù)組索引是從0開始的,也就是說數(shù)組里的第一個元素的索引是0,第二個元素的索引是1
1.給數(shù)組元素賦值
2.數(shù)組名[索引] = 數(shù)組類型的值 ;
3.訪問數(shù)組元素
4.數(shù)組類型 變量 = 數(shù)組名[索引];
5.得到數(shù)組的長度
6.int len = 數(shù)組名.length; //length是數(shù)組的屬性
7.遍歷數(shù)組
數(shù)組操作常見問題
(ArrayIndexOutOfBoundsException)表示數(shù)組腳標越界異常
(NullPointerException)表示空引用異常
筆者將講解:方法含義和定義格式,方法重載
什么是方法?一段可重復使用的代碼段;程序中完成獨立功能的一段代碼的集合
方法的優(yōu)點 :● 1. 使程序變得更簡短而清晰 ● 2. 有利于程序維護
● 3. 可以提高程序開發(fā)的效率 ● 4. 提高了代碼的重用性
JAVA中定義方法的格式為:
[修飾符] 返回值類型 方法名([參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)2,……]){
執(zhí)行語句; [return 返回值;]
}
參數(shù)列表(參數(shù)的類型 ,參數(shù)的個數(shù),參數(shù)的順序)
方法內(nèi)容介紹:
形式參數(shù):在方法被調(diào)用時用于接收外界輸入的數(shù)據(jù)
實參:調(diào)用方法時實際傳給方法的數(shù)據(jù)
返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境的數(shù)據(jù)
返回值類型:事先約定的返回值的數(shù)據(jù)類型,如無返回值,必須給出返回類型 void
方法簽名:方法名 和 方法的參數(shù)列表(能區(qū)別方法)
java語言中調(diào)用方法:對象名.方法名(實參列表)
實參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法聲明的形參列表匹配
return 語句終止方法的運行并指定要返回的數(shù)據(jù)
方法的重載(Overload)
什么是方法的重載?:
在同一個類中,允許存在一個以上的同名方法,只要它們的參數(shù)個數(shù)或者參數(shù)類型或參數(shù)順序不同即可
方法重載的特點:與返回值類型無關(guān),只看參數(shù)列表
記住方法重載方式的小技巧:兩同,一不同
同一個類中方法名相同;參數(shù)列表不同:(參數(shù)個數(shù),參數(shù)的類型,參數(shù)順序)
編程的命名規(guī)則:
1.必須以字母、'_'或'$'開頭
2.可以包括數(shù)字,但不能以它開頭
3.方法名不能使用關(guān)鍵字和保留字
4.單詞的首字母大寫,采用駝峰式;由有實際意義的名詞或名詞短語構(gòu)成
5.方法名規(guī)范:第一個單詞的首字母小寫,采用駝峰式
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: