1 选择结构
1.1 if
if表示条件选择,常用的结构有:if (condition) { }
if (condition) { } else { }
condition表示条件,结果为true时才会执行后面的代码块,多个条件之间不能有包含关系。if (condition) { } else if (condition) { } else { }
1.2 switch
switch表示条件选择结构,其结构为:变量的类型:byte、short、int、long、enum(Java5新增)、String(Java7新增)。switch (变量) { case 可能变量值value1:功能执行语句1;break; case 可能变量值value2:功能执行语句2;break; ... default:功能执行语句;break; }
switch的执行流程1.根据变量中的值来从头开始依次找所有case 进行匹配,找到了就执行case后面的功能执行语句,然后找最近的一个break跳出;
2.如果到整个switch完毕都没有break就直接结束;
3.如果从匹配到的case开始到最近的一个break之间还有其它的case(或者default),只会执行其中的功能执行语句而不会判断。
switch结构的规范1.switch中多个case的顺序是可以任意的,但是建议按照case中的值的顺序排列;
2.default一般放在最后,最后一个匹配项后面可以不要break,但推荐写上;
3.变量中的类型要和case后面的变量值类型兼容。
示例:
int i = 97; switch (i){ case 'a':// 'a'虽然为char,但是在int中为97 System.out.println("Hello World!");//输出语句 break; case "a":// "a"为String类型,报错 System.out.println("Hello"); break; default: System.out.println("Wrong"); break; }
2 循环结构
2.1 三种循环结构
while
根据condition中的条件结果值,执行后面的代码块。while (condition) { }
do_while
在循环之前,会先执行一次do后面的代码块,然后在通过condition条件判断。do { } while (condition);
for
for循环的执行流程:1243→243→···→243→2结果值为false,结束for (初始化语句1; 条件判断语句2; 循环后操作语句3) { 循环体4 }
2.2 嵌套循环
在for循环中嵌套一个for循环,实现嵌套的效果。执行结果:public class For { public static void main(String[] args) { for (int j = 0; j < 5; j++) { // 换行5次 for (int i = 0; i < 5 - j; i++) {// *打印次数随着j增加而减少 System.out.print("*"); } System.out.println();// 换行 } } }
*****
****
***
**
*
2.3 循环控制语句
break:结束当前循环
break用于完全结束一个循环,跳出循环体。for(int i=0;i<10;i++){ if(i==4){ // 不会再执行i=5...,直接跳出循环 break; } }
break也可以结束外层循环,但break后面要跟一个标签来表示外层循环:
outer:for(int j=0;i<5;j++){ for(int i=0;i<3;i++){ if(i==1){ // 跳出outer标签所标识的循环 break outer; } } }
continue:跳过当前循环,开始下一循环
for(int i=0;i<10;i++){ if(i==4){ // i等于4时,不会执行下方的语句,进入i=5继续执行 continue; } System.out.println(i); }
return:结束循环所在的方法
使用return时,会直接结束当前循环所在的方法。
在循环控制语句后面的代码无法执行。