while
while( 布尔表达式 ) { // 循环体 }
只要布尔表达式为True,就会一直反复执行循环体。
示例:
public class Test { public static void main(String args[]) { int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } } }
do while
do { // 循环体 }while( 布尔表达式 );
无论表达式是否为True,都先执行一次循环体,然后就跟while一样先判断布尔表达式,如果为True再继续执行循环,为False就退出循环。
示例:
public class Test { public static void main(String args[]){ int x = 10; do{ System.out.print("value of x : " + x ); x++; System.out.print("\n"); }while( x < 20 ); } }
for
for(初始化; 布尔表达式; 更新) { // 循环体 }
示例:
public class Test { public static void main(String args[]) { for(int x = 10; x < 20; x = x+1) { System.out.print("value of x : " + x ); System.out.print("\n"); } } }
Java也有更方便从数组遍历元素的for循环:
for(声明语句 : 表达式) { // 循环体 }
示例:
public class Test { 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 ); System.out.print(","); } } }
break
跳出整个循环。
示例:
public class Test { public static void main(String args[]) { int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ) { if( x == 30 ) { break; // x等于30时跳出循环,后面都不打印了 } System.out.print( x ); System.out.print("\n"); } } }
continue
跳过当前这次循环,执行下一次循环。
示例:
public class Test { public static void main(String args[]) { int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ) { if( x == 30 ) { continue; // 不会打印30,但是会继续打印后面元素 } System.out.print( x ); System.out.print("\n"); } } }
break和continue可以从字面意思来区分,break中断循环,continue继续下次循环。
if
if(布尔表达式) { //如果布尔表达式为true将执行的语句 }
示例:
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是 if 语句"); } } }
if else
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
示例:
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是 if 语句"); }else{ System.out.print("这是 else 语句"); } } }
也可以跟多个if else:
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
示例:
public class Test { public static void main(String args[]){ int x = 30; if( x == 10 ){ System.out.print("Value of X is 10"); }else if( x == 20 ){ System.out.print("Value of X is 20"); }else if( x == 30 ){ System.out.print("Value of X is 30"); }else{ System.out.print("这是 else 语句"); } } }
嵌套的if else
if(布尔表达式 1){ ////如果布尔表达式 1的值为true执行代码 if(布尔表达式 2){ ////如果布尔表达式 2的值为true执行代码 } }
示例:
public class Test { public static void main(String args[]){ int x = 30; int y = 10; if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } } }
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
示例:
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); break; case 'F' : System.out.println("你需要再努力努力"); break; default : System.out.println("未知等级"); } System.out.println("你的等级是 " + grade); } }
参考资料:
https://www.runoob.com/java/java-loop.html
https://www.runoob.com/java/java-if-else-switch.html
https://www.runoob.com/java/java-switch-case.html