java的控制流程有三種:
一,順序流程
自上而下,按照代碼的前後順序執行
二,分支流程
1,if/else語句
2,switch/case語句
三,循環流程
1,for循環
2,while循環
3,do while循環
先來講說分支流程裏的if的用法:if有如下三種方式:
第一種形式:
if(布爾表達式) {
//待執行的代碼
}
第二種形式:
if(布爾表達式) {
//待執行的代碼
} else {
//待執行的代碼
}
第三種形式:
if(布爾表達式) {
//待執行的代碼
} else if(布爾表達式) {
//待執行的代碼
} else if(布爾表達式) {
//待執行的代碼
} else {
//待執行的代碼
}
來三組例子更形象:
int a = 2;
int b = 2;
if(a > b) {
System.out.println("星期天在家學習 ");
}
---------------------------------------------------------
int a = 11;
int b = 3;
if(a > b) {
System.out.println("a > b ");
} else {
System.out.println("a =< b ");
}
------------------------------------------------------------
int a = 11;
int b = 3;
if(a > b) {
System.out.println("a > b ");
} else if (a < b) {
System.out.println("a < b ");
} else {
System.out.println("a = b ");
}
---------------------------------------
String pwd = "hellojava";
if(pwd != null && pwd.length() != 6) {
System.out.println("密碼長度不正確,請輸入6位密碼!");
} else {
System.out.println("請稍等,正在驗證密碼!");
}
-----------------
接下來講說switch/case語句:
switch/case語句的語法結構是:
switch(變量a) { //
這裏switch變量a的類型是有規定的,能夠是byte,short,int,char,enum這五種裏的某一種
。
case 開關值1: 該開關下執行的語句
case 開關值2: 該開關下執行的語句
case 開關值3: 該開關下執行的語句
case 開關值4: 該開關下執行的語句
......
default: 變量值跟開關值都不符合的狀況下後執行
}
實例以下:
int a = 3;
switch(a) {
case 0: System.out.println("a = 0");
case 1: System.out.println("a = 1");
case 2: System.out.println("a = 2");
case 3: System.out.println("a = 3");
default:System.out.println("a = 4");
}
最終的運行結果是:a=3 ,
當咱們加上break
switch的運行過程是:把 a的值與case的開關值比較,若a跟某個開關值相等,就執行該開關下的語句。若是a的值跟全部case開關值都不一樣,則執行default分支下的語句。
何時退出switch語句,取決於什麼時候遇到break語句。要是沒有遇到break語句,就繼續執行下面的case語句,知道遇到第一個break語句才退出,不然一直運行到switch流程結束。
例子以下:
int a = 1;
switch(a) {
case 0: System.out.println("a = 0");
case 1: System.out.println("a = 1");
case 2: System.out.println("a = 2");
case 3: System.out.println("a = 3");
break;
default:System.out.println("a = 4");
} java
運行結果是:a = 1 a = 2 a = 3 。web
由於變量a跟開關1的值相同,因此執行case1語句,一直往下執行case2,case3,遇到break就跳出switch流程,因此a = 1 a = 2 a = 3 。 學習
再來講說循環流程的3種形式: spa
1. for 循環(使用最多的一種循環)形式爲: orm
for(變量初始化; 條件判斷; 步進) {
//待執行的代碼 ci
} it
for循環執行的流程是: for循環
1) 執行變量初始化
2) 執行條件判斷。若是條件判斷爲假,那麼退出for循環,開始執行循環後面的代碼;
若是條件判斷爲真,執行for循環裏面的代碼。
3) 執行步進
4) 重複步驟2
例子:求出1-100之間的奇數之和。 form
int sum = 0;
for(int i = 1; i < 100; i = i +2) {
sum += i; //等價於sum = sum + i;
}
System.out.println("0-100之間的奇數之和" + sum);
運行結果是:1-100之間的奇數之和2500 class
2, while 循環形式爲: 先判斷while裏的布爾表達式,爲真的話就執行代碼;布爾表達式爲假,while的循環體就一次也不執行。
while(布爾表達式) {
//待執行的代碼
}
例子:求出0-100之間的整數之和
int a = 1;
int sum = 0;
while(a <= 100) {
sum += a; //等價於 sum = sum + a;
a++;
}
System.out.println("1-100的整數之和===" + sum);
運行結果是:1-100的整數之和===5050
3. do…while 循環爲: 先執行do裏的代碼,接着判斷while裏的布爾表達式,爲真的話再接着執行do裏的代碼,知道遇到while裏的布爾表達式爲假才跳出。注意while後有個分號
do {
//待執行的代碼
}
while();
具體例子以下:求出0-100之間的偶數之和。
int a = 0;
int sum = 0;
do{
sum += a;
a = a + 2;
}
while(a <= 100);
System.out.println("0-100之間的偶數之和 ===" + sum);
最終的運行結果是:
0-100之間的偶數之和 ===2550
while與do…while之間的區別:
若是布爾表達式的第一次判斷就爲false,那麼while循環一次也不執行;do…while循環則會執行一次。
若是布爾表達式第一次判斷爲true,那麼while循環與do…while循環是同樣的。
例子以下:
int k = 4;
while(k < 2) {
System.out.println("hello wolrd");
}
do{ System.out.println("welcomt to java");
}
while(k < 2); 運行結果是: welcomt to java