控制選擇語句:
if(條件){
//語句1
}else{
//語句2
}
//if結構外面的代碼
說明:
- 條件,可以是任意表達式,表達式的值不要求必須是布爾值。
- 如果條件不是布爾值,則使用轉型函數Boolean()轉換成布爾值。
- 如果對條件求值後的結果是true則執行 "語句1"。如果是false,則執行 "語句2"。
注意:從上面的說明可以看出,"語句1"和"語句2"永遠不會同時執行,一定會執行其中的一句。
if(條件1){
//語句1
}else if(條件2){
//語句2
}...else if(條件3){
//語句n
}else{
//else語句
}
說明:
- 首先判斷條件1,如果是true,則執行"語句1"。
- 如果條件1是false,則判斷條件2,如果是true,則執行"語句2"。以此類推。
- 如果中間碰到任何一個條件是true,則執行相應的語句,執行完畢之後,則整個if結構的語句也結束了。不會再判斷後面的條件。
- 如果所有的條件都是fasle,則會自動執行else中的語句。
注意:該結構中,一定會有一個而且僅有一個語句執行。
if(條件1){
//語句1
}else if(條件2){
//語句2
}...else if(條件3){
//語句n
}
說明:
- 首先判斷條件1,如果是true,則執行"語句1"。
- 如果條件1是false,則判斷條件2,如果是true,則執行"語句2"。以此類推。
- 如果中間碰到任何一個條件是true,則執行相應的語句,執行完畢之後,則整個if結構的語句也結束了。不會再判斷後面的條件。
- 如果所有的條件都是fasle,則一個"語句"都不執行,整個if結構語句結束。
注意:這個結構中,有可能一個語句都不執行。
代碼實例:
public class Test01{
public static void main(String[] args){
int a = 20;
if( a>100 || a<0 ){
System.out.println("請輸入正確分數");
}else if(a >= 90){
System.out.println("A");
}else if(a >= 80){
System.out.println("B");
}else if(a >= 70){
System.out.println("C");
}else if(a >= 60){
System.out.println("D");
}else{
System.out.println("E");
}
}
}
注意:在寫if條件語句的時候一定要先處理範圍更小的。
switch…case
語法:
switch(expression){
case value :
語句1
break; //可選
case value :
語句2
break; //可選
......
default : //可選
語句
}
規則:
變量類型可以是byte、short、int、char、String,case後面必須是常量或字面值;
遇到break跳出循環,也可以沒有break,但是這個會導致穿透;
代碼實例:
public class SwitchTest{
public static void main(String[] args){
String sorce = "G";
switch(sorce){
case"A":
System.out.println("優");
break;
case"B":
System.out.println("良");
break;
case"C":
System.out.println("中");
break;
case"D":
System.out.println("及格");
break;
case"E":
System.out.println("不及格");
break;
default:
System.out.println("您的等級未知");
}
}
}
循環語句
for循環
語法:
for(初始化; 布爾表達式; 更新) {
//代碼語句
}
語法規則:
先執行初始化步驟;
檢測布爾表達式的值是否爲真,如果爲真,執行循環體,爲假循環終止;
執行一次循環後,更新循環控制變量,再次檢測布爾表達式;
實例代碼:
public class ForTest{
public static void main(String[] args){
int i = 1;
int j = 1;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
System.out.print("*");
}
System.out.println(" ");
}
}
}
增強for循環
語法:
for(聲明語句 : 表達式)
{
//代碼句子
}
實例代碼:
public class ForTest01{
public static void main(String[] args){
int[] nums = {12,11,34,22,45,23,19};
for(int num : nums){
System.out.println(num);
}
}
}
while循環
語法:
while( 布爾表達式 ) {
//循環內容
}
規則:只要布爾表達式爲true他就會一直循環下去
實例代碼:
public class WhileTest{
public static void main(String[] args){
int a = 20;
while(a < 50){
System.out.println(a);
a++;
}
}
}
do…while循環
語法:
do {
//代碼語句
}while(布爾表達式);
規則:
上來先執行,然後進行布爾判斷;
該循環至少執行一次;
實例代碼:
public class DoWhileTest{
public static void main(String[] args){
int a = 10;
do{
System.out.println(a);
a++;
}while(a<10);
}
}
break關鍵字
執行到break的時候,直接結束該循環;
如果是循環嵌套,在break後面加上一個標籤還可以結束外層循環;
實例代碼:
public class ForTest{
public static void main(String[] args){
int i = 1;
int j = 1;
outer:
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
System.out.print("*");
if(j == 5){
break outer;
}
}
System.out.println(" ");
}
}
}
continue關鍵字
只是終止本次循環,而不會終止整個循環;
實例代碼:
public class ContinueTest{
public static void main(String[] args){
for(int i=0;i<5;i++){
System.out.println("i="+i);
if(i==3){
continue;
}
System.out.println("continue後面的語句");
}
}
}