流程控制語句—順序、選擇、循環

流程控制語句—順序、選擇、循環

1. 概述

在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。在清楚每條語句的執行流程的前提下,才能通過控制語句的執行順序來實現我們要完成的功能。

2. 順序控制語句

2.1概述

是程序中最簡單的流程控制,按照代碼執行的先後順序,依次執行,程序中的大多數代碼都是這樣執行的。

2.2順序結構流程圖

流程控制語句—順序、選擇、循環

2.3代碼示例

public class OrderDemo01 {

public static void main(String[] args) {

System.out.println("開始");

System.out.println("程序1");

System.out.println("程序2");

System.out.println("結束");

}

}

3. 選擇結構

3.1概述

l 選擇結構也被稱為分支結構。選擇結構有特定的語法規則,代碼要執行具體的邏輯運算進行判斷,邏輯運算的結果有兩個,所以產生選擇,按照不同的選擇執行不同的代碼。

l Java語言提供了兩種選擇結構語句

if語句和switch語句。

3.2 if語句

3.2.1 if語句的第一種格式,適合做一種情況的判斷。

l 代碼格式:

if(布爾表達式) {

語句體

}

l 程序執行流程圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class OrderDemo02 {

public static void main(String[] args) {

int a = 1;

int b = 2;

if (a == b){

System.out.println("a等於b");

}

System.out.println("a不等於b");

}

}

3.2.2 if語句的第二種格式,適合做兩種情況的判斷。

l 代碼格式:

if(關係表達式) {

語句體1;

} else {

語句體2;

}

l 程序執行流程圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class OrderDemo03 {

public static void main(String[] args) {

int a = 1;

int b = 2;

if (a == b){

System.out.println("a等於b");

}else{

System.out.println("a不等於b");

}

}

}

3.2.3 if語句的第三種格式,適合做多種情況的判斷。

l 代碼格式:

if (判斷條件1) {

執行語句1

} else if (判斷條件2) {

執行語句2

}

...

else if (判斷條件n) {

執行語句n

} else {

執行語句n+1

}

l 執行流程圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class OrderDemo04 {

public static void main(String[] args) {

int a = 1;

if (a == 1){

System.out.println("a等於1");

}else if(a != 1){

System.out.println("a不等於1");

}else{

System.out.println("以上條件都不滿足");

}

}

}

3.3 switch語句

l 代碼格式:

switch(表達式) {

case 目標值1:

語句體1;

break;

case 目標值2:

語句體2;

break;

default:

語句體n+1;

break;

}

l 代碼格式說明:

u case後面跟的是要和表達式進行比較的值。

u Break用來結束switch語句。

u default語句表示所有情況都不匹配的時候,就執行該處的內容。

l 代碼執行流程圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class OrderDemo05 {

public static void main(String[] args) {

switch (10){

case 8:

System.out.println(8);

break;

case 10:

System.out.println(10);

break;

default:

System.out.println("default");

break;

}

}

}

3.4 選擇結構的總結

l Switch結構能實現的,if都能實現,但是if能實現的,switch不一定能實現。

l 如果遇到對常量的判斷,為了使代碼更簡潔,優先使用switch選擇。

l If選擇,可以用來做布爾值的判斷、常量的判斷和範圍的判斷,switch只能用來對常量進行判斷。

4. 循環結構

4.1概述

循環語句可以在滿足循環條件的情況下,反覆執行某一段代碼,這段被重複執行的代碼被稱為循環體語句,當反覆執行這個循環體時,需要在合適的時候把循環判斷條件修改為false,從而結束循環,否則循環將一直執行下去,形成死循環。

4.2循環體的組成部分的介紹

l 初始化表達式:

一條或者多條語句,這些語句完成一些初始化操作。

l 布爾表達式:

這是一個boolean 表達式,這個表達式能決定是否執行循環體。

l 循環體:

這個部分是循環體語句,也就是我們要多次做的事情。

l 步進表達式:

這個部分在一次循環體結束後,下一次循環判斷條件執行前執行。通過用於控制循環條件中的變量,使得循環在合適的時候結束。

4.3 for循環結構

l 代碼格式:

for(初始化表達式;布爾表達式;步進表達式){

循環體

}

l 代碼執行流程圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class ForDemo01 {

public static void main(String[] args) {

for (int i = 0;i < 10;i++){

System.out.println("i的數值是"+i);

}

}

}

4.4 while循環結構

l 代碼格式:

u 基本代碼格式:

while(布爾表達式) {

循環體語句;

}

u 擴展代碼格式:

擴展格式

初始化表達式①

while(布爾表達式②){

循環體③

步進表達式④

}

l 程序執行流程圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class WhileDemo01 {

public static void main(String[] args) {

int i = 0;

while (i <10){

System.out.println("i的數值是"+i);

i++;

}

}

}

4.5 do while循環結構

l 代碼格式:

u 基本格式:

do {

循環體語句;

}while(布爾表達式);

u 擴展格式:

初始化表達式①

do{

循環體③

步進表達式④

}while(布爾表達式②);

l 程序執行示意圖:

流程控制語句—順序、選擇、循環

l 代碼示例:

public class DowhileDemo01 {

public static void main(String[] args) {

int x=1;

do {

System.out.println("x的數值是"+x);

x++;

}while(x<=10);

}

}

4.6 循環結構的總結

l do…while循環至少會執行一次循環體。

l for循環和while循環只有在條件成立的時候才會去執行循環體。

l 控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。

l 在選擇循環結構時,推薦的選擇順序是for -- while -- do..while,一般不建議使用do..while循環結構。


分享到:


相關文章: