1、流程控制
顺序结构 选择结构 循环结构
2、选择结构
1. If…else 语句 为两路分支语句
If(布尔表达式){
…… //如果布尔表达式为 true 执行该代码块 否则 执行else
}else{
……
}
注意事项:if后面的表达式必须是布尔表达式,else语句不是必需的,如果if或者else后面有多行代码 则必须放在大括号内(建议把大括号带上)
If(布尔表达式){
……
}else if(布尔表达式){
……
}else if(布尔表达式){
……
}else{
……
}
是多分枝语句 基本语法:
switch(expr){
casevalue1: …… break;
casevalue2: …… break;
casevalue3: …… break;
…
default: …… ;
}
注意:1.在switch(expr) expr 必须是与int 类型兼容的基本类型(byte short int char ,long和浮点类型不能自动转换为int 所以不能作为expr) , jdk1.7 之后 又支持 String 和 枚举 类型;2. case 后的value值是常量 各个value值不能相同,满足expr类型要求;3.switch 语句最多只能有一个default子句,default子句是可选的,当switch表达式的值和所有case子句都不匹配时 执行 default子句,一般将default子句放在 case子句最后面。4.如果switch表达式与某个case表达式匹配,或者与default子句匹配 ,就从这个case子句或default子句开始执行,如果遇到break就退出整个switch,否则依次执行switch语句中后续case子句,不再检查case表达式的值。例如:
int x=5;
switch(x){
default: System.out.println(“default”);
case1: System.out.println(“case1”);
case2: System.out.println(“case2”);
case3: System.out.println(“case3”);break;
case4: System.out.println(“case4”);
}
输出结果为:default
case1
case2
case3
一般情况下 每个case 子句后面都要有 break语句 以便及时退出整个switch
3、循环语句 for和while的选择 一般在没有确定的循环次数时,用while do....while和while的区别
一个循环语句必须有 初始化 循环条件,循环体 迭代 注意循环的终止条件,避免死循环
【初始化部分】 for( 初始化 循环条件 迭代 ){
while(循环条件){
循环体 循环体
迭代
} }
控制for循环的变量常常只用于本循环,而不用在程序的其他地方,这种情况,可以在循环的初始化部分声明变量。
如果想在for循环外面 访问控制变量 可以扩大控制变量的作用域可以在 for外面声明。
在初始化部分和迭代部分可以使用逗号语句
break 从switch 语句 循环语句 或标号标识的代码块中退出
continue 跳过本次循环 执行下一次循环
return 退出本方法,跳到上次调用的方法,如果本方法返回类型不是void 需要提供相应的返回值4、关于break跳出外层循环可以用标识的方法 详见