前言 |
上一篇部落格跟大家一起學習了選擇結構和順序結構的語句,現在來和大家一起回顧循環語句和跳轉語句。
正文 |
循環語句
循環語句用于反複執行一段代碼,直到滿足終止循環的條件為止。
-
while 語句
while語句會反複地進行條件判斷,隻要條件成立,執行循環體,直到條件不成立,while循環結束。
public class WhileDemo{
public static void main(String[] args){
//輸出1-4之間的整數
//定義變量,整數類型,循環的條件
int i =;
while(i < ){
System.out.println(i);
i ++;
}
}
}
-
do-while 語句
do-while語句和while語句功能類似,隻不過do-while語句将循環條件放在了循環體的後面,也就是說,循環體會無條件地執行一次,然後再根據循環條件來決定是否繼續執行。
public class DoWhileDemo{
public static void main(String[] args){
//輸出1-4之間的整數
int i =;
do{
System.out.println(i);
i ++;
}
while(i < ); //循環條件
}
}
-
for 語句
for循環語句由循環體和循環的終止條件兩部分組成。
for 循環語句:循環結構
for(初始化表達式;循環條件表達式;循環後的操作表達式)
{
執行語句;(循環體)
}
/*
for 循環
編寫格式:
for (初始化變量 ; 條件 ; 增量){
循環體
}
初始化變量:定義變量,作用,控制循環的次數
條件:當條件是true,執行循環體,條件是false,結束循環
增量:變量自增情況
*/
public class ForDemo{
public static void main(String[] args){
int sum = ;
for(int i = ; i <= ;i ++){
sum = sum + i;
}
System.out.println(sum);
}
}
-
循環嵌套
循環嵌套是指在一個循環語句的循環體中再定義一個循環語句的結構。while 、do-while、for循環語句都可以進行嵌套,最常見的還是for 循環嵌套for 循環。
/*
*/
public class ForForDemo{
public static void main(String[] args){
int i, j; // 定義兩個循環變量
for(int i =; i <; i++){ //外層循環,控制列印的行數
for(int j=; j<i+;j++){ //内層循環,控制'*'逐行增加
System.out.print(" * ");
}
System.out.print("\n");
}
}
}
跳轉語句
跳轉語句用于實作循環執行過程中的程式流程的跳轉。
-
break語句 中斷
在switch 條件語句和循環語句中都可以使用break語句,當它出現在switch語句中時,用來終止某個case 并跳出switch 結構;當它出現在循環語句中時,用來跳出循環語句,執行後面的代碼。
switch語句
/*
break語句的作用:跳出目前case對應的語句
*/
public class SwitchDemo{
public static void main(String[] args){
int i = ;
switch(i){
case :
System.out.println("星期一");
break;
case :
System.out.println("星期二");
break;
case :
System.out.println("星期三");
break;
case :
System.out.println("星期四");
break;
default:
System.out.println("星期五");
break;
}
}
}
輸出結果為 :星期四 ,說明當執行到case 4 時滿足條件,執行break ,跳出整個switch 結構。
循環語句(單層循環)
/*
break 作用于循環中,終止循環
*/
public class BreakDemo{
public static void main(String[] args){
int i = ;
while(true){
if(i == ){
break; //當i自增到3,滿足條件,終止目前循環
}else{
System.out.println(i);
}
i ++;
}
}
當break 語句出現在嵌套循環中的内層循環時,它隻能跳出内層循環,如果想使用break語句跳出外層循環就需要對外層循環添加标記。
public class BreakDemo02 {
public static void main(String[] args) {
int i, j; // 定義兩個循環變量
//NO.1 标簽,标記代碼塊,如果條件成立,則中斷NO.1标記的代碼塊
NO: for (i = ; i <= ; i++) { // 外層循環
for (j = ; j <= i; j++) { // 内層循環
if (i > ) { // 判斷i的值是否大于4
break NO; // 跳出外層循環
}
System.out.print("*"); // 列印*
}
System.out.print("\n"); // 換行
}
}
}
輸出結果表示break 中斷了外層循環,是以隻列印了4行資料。
-
continue語句 繼續
continue語句用在循環語句中,主要用來終止本次循環,執行下一個循環。
/*
對1~100内的奇數求和
break:當遇到偶數時,不進行累加操作,跳出本次循環,執行下一個數字的判斷
*/
public class ContinueDemo{
public static void main(String[] args){
int sum = ; // 定義變量sum,用于記住和
for (int i = ; i <= ; i++) {
if (i % == ) { // i是一個偶數,不累加
continue; // 結束本次循環
}
sum += i; // 實作sum和i的累加
}
System.out.println("sum = " + sum);
}
}
continue 語句出現在多層嵌套的循環語句體中時,他隻能跳出内層循環,如果想跳出外層循環,可以通過标号(标簽)指明要跳過的是哪一層循環。
public class ContinueDemo02 {
public static void main(String[] args) {
int i, j; // 定義兩個循環變量
//NO.1 标簽,标記代碼塊,如果條件成立,則中斷NO.1标記的代碼塊
NO: for (i = ; i <= ; i++) { // 外層循環
for (j = ; j <= i; j++) { // 内層循環
if (i > ) { // 判斷i的值是否大于4
continue NO; // 跳出外層循環
}
System.out.print("*"); // 列印*
}
System.out.print("\n"); // 換行
}
}
}
-
return語句 傳回
return語句用于結束一個方法,跳轉到上層調用的方法。
//語句格式
return expression;
return;
/*
要求:計算一個長方形的面積
*/
public class MethodDemo{
public static void main(String[] args){
int areas = getArea(,);
System.out.println("面積是:"+ areas);
}
public static int getArea(int w,int h){
//實作方法的功能主體
return w * h; //傳回主程式,同時将w * h 的值帶給主程式的areas 變量
}
public void set(int m,int n){
int z;
z=m*n
return; //本方法執行結束,傳回主程式
}
}
注意:return語句通常用在方法體的最後,否則會産生編譯錯誤,除非用在if-else 語句中。
- break和continue的比較
單層循環中,break 跳出單層循環,continue 跳出目前循環,繼續執行下一循環;
嵌套循環中,break 跳出目前循環,隻是跳出目前的這一層循環,如果想要跳出所有循環,則需要逐層加入break; continue 和 break 很相似,如果想要跳出所有循環,需要逐層加入continue。
總結 |
感謝您的閱讀,流程控制語句的循環語句和跳轉語句先介紹到這裡,後面部落格将和大家一起來學習數組,一維數組,二維數組,數組的周遊等,敬請期待!