if語句會判斷括号中的條件是否成立,如果成立則執行if語句中的代碼塊,否則跳過代碼塊繼續執行。
文法
if(布爾表達式) {
//如果布爾表達式為true将執行的語句
}
例
<a></a>
public class Test {
public static void main(String args[]){
int x = 10;
if( x < 20 ){
System.out.print("這是 if 語句");
}
}
if語句後面可以跟else語句,當if語句的布爾表達式值為false時,else語句塊會被執行。
if(布爾表達式){
//如果布爾表達式的值為true
}else{
//如果布爾表達式的值為false
public static void main(String args[]) {
int x = 30;
if ( x < 20 ) {
} else {
System.out.print("這是 else 語句");
運作結果
這是 else 語句
if語句後面可以跟else if…else語句,這種語句可以檢測到多種可能的情況。
使用if,else if,else語句的時候,需要注意下面幾點:
if語句至多有1個else語句,else語句在所有的elseif語句之後。
If語句可以有若幹個elseif語句,它們必須在else語句之前。
一旦其中一個else if語句檢測為true,其他的else if以及else語句都将跳過執行。
if (布爾表達式 1) {
//如果布爾表達式 1的值為true執行代碼
} else if (布爾表達式 2) {
//如果布爾表達式 2的值為true執行代碼
} else if (布爾表達式 3) {
//如果布爾表達式 3的值為true執行代碼
} else {
//如果以上布爾表達式都不為true執行代碼
public static void main(String args[]) {
int x = 3;
if (x == 1) {
System.out.print("Value of X is 1");
} else if (x == 2) {
System.out.print("Value of X is 2");
} else if (x == 3) {
System.out.print("Value of X is 3");
} else {
System.out.print("This is else statement");
}
}
Value of X is 3
使用嵌套的if-else語句是合法的。也就是說你可以在另一個if或者elseif語句中使用if或者elseif語句。
////如果布爾表達式 1的值為true執行代碼
if (布爾表達式 2) {
////如果布爾表達式 2的值為true執行代碼
int x = 30;
int y = 10;
if (x == 30) {
if (y == 10) {
System.out.print("X = 30 and Y = 10");
}
X = 30 and Y = 10
switch語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。
switch語句有如下規則:
switch語句中的變量類型隻能為byte、short、int或者char。
switch語句可以擁有多個case語句。每個case後面跟一個要比較的值和冒号。
case語句中的值的資料類型必須與變量的資料類型相同,而且隻能是常量或者字面常量。
當變量的值與case語句的值相等時,那麼case語句之後的語句開始執行,直到break語句出現才會跳出switch語句。
當遇到break語句時,switch語句終止。程式跳轉到switch語句後面的語句執行。case語句不必須要包含break語句。如果沒有break語句出現,程式會繼續執行下一條case語句,直到出現break語句。
switch語句可以包含一個default分支,該分支必須是switch語句的最後一個分支。default在沒有case語句的值和變量值相等的時候執行。default分支不需要break語句。
switch(expression){
case value :
//語句
break; //可選
//你可以有任意數量的case語句
default : //可選
char grade = 'C';
switch (grade) {
case 'A':
System.out.println("Excellent!");
break;
case 'B':
case 'C':
System.out.println("Well done");
case 'D':
System.out.println("You passed");
case 'F':
System.out.println("Better try again");
default:
System.out.println("Invalid grade");
System.out.println("Your grade is " + grade);
Well done
Your grade is C
while( 布爾表達式 ) {
//循環内容
隻要布爾表達式為true,循環體會一直執行下去。
while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
對于while語句而言,如果不滿足條件,則不能進入循環。但有時候我們需要即使不滿足條件,也至少執行一次。
do…while循環和while循環相似,不同的是,do…while循環至少會執行一次。
do {
//代碼語句
} while (布爾表達式);
布爾表達式在循環體的後面,是以語句塊在檢測布爾表達式之前已經執行了。 如果布爾表達式的值為true,則語句塊一直執行,直到布爾表達式的值為false。
int x = 10;
do {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
} while ( x < 20 );
雖然所有循環結構都可以用while或者do...while表示,但Java提供了另一種語句 —— for循環,使一些循環結構變得更加簡單。
for循環執行的次數是在執行前就确定的。
for (初始化; 布爾表達式; 更新) {
//代碼語句
關于for循環有以下幾點說明:
最先執行初始化步驟。可以聲明一種類型,但可初始化一個或多個循環控制變量,也可以是空語句。
然後,檢測布爾表達式的值。如果為true,循環體被執行。如果為false,循環終止,開始執行循環體後面的語句。
執行一次循環後,更新循環控制變量。
再次檢測布爾表達式。循環執行上面的過程。
for(int x = 10; x < 20; x = x+1) {
Java5引入了一種主要用于數組的增強型for循環。
for (聲明語句 : 表達式) {
//代碼句子
聲明語句:聲明新的局部變量,該變量的類型必須和數組元素的類型比對。其作用域限定在循環語句塊,其值與此時數組元素的值相等。
表達式:表達式是要通路的數組名,或者是傳回值為數組的方法。
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for ( int x : numbers ) {
System.out.print( x );
System.out.print(",");
System.out.print("\n");
String [] names = {"James", "Larry", "Tom", "Lacy"};
for ( String name : names ) {
System.out.print( name );
10,20,30,40,50,
James,Larry,Tom,Lacy,
break主要用在循環語句或者switch語句中,用來跳出整個語句塊。
break跳出最裡層的循環,并且繼續執行該循環下面的語句。
for(int x : numbers ) {
if( x == 30 ) {
10
20
continue适用于任何循環控制結構中。作用是讓程式立刻跳轉到下一次循環的疊代。
在for循環中,continue語句使程式立即跳轉到更新語句。
在while或者do…while循環中,程式立即跳轉到布爾表達式的判斷語句。
if( x == 30 ) {
continue;
40
50
本文轉自靜默虛空部落格園部落格,原文連結:http://www.cnblogs.com/jingmoxukong/p/4525117.html,如需轉載請自行聯系原作者