“流程控制”:程序可以根据用户数据的不同,执行不同的代码。
Java为我们的流程控制提供了几种语句:
1).if语句:做判断的;
2).switch语句:做判断的;
3).for语句:循环语句
4).while语句:循环语句
5).do_while语句:循环语句
if语句
/**
*if语句有三种格式,分别如下
*/
//格式一
if(布尔表达式){
//如果布尔表达式的结果为:true,则执行这里。
}
//格式二
if(布尔表达式){
//如果true,执行这里
}else{
//如果布尔表达式为:false,执行这里
}
//格式三
if(布尔表达式1){
//如果布尔表达式1为true,则执行这里
}else if(布尔表达式2){
//如果布尔表达式1为false,而布尔表达式2为true,执行这里
}else if(布尔表达式3){
//如果布尔表达式1,2为false,而布尔表达式3为true,执行这里
}else{
//上述所有判断均为false,执行这里
}
switch语句
switch的作用同if语句一样,都是做“判断的”。只是在某些情况下(对一个变量的多个等性判断), 使用switch比if语句可读性更强。
switch(变量/表达式--值:byte/short/int/char/String/枚举类型){
case 值1://注意:值必须是一个常量,不能是变量,或者表达式
break;
case 值2:
break;
...
default:
break;
}
注意:
1).多个case的值不能有重复的;
2).case和case之间,case和default之间没有顺序关系;
case的穿透性
1).case中的break;语句,表示:跳出switch语句。break可以没有,如果没有,
当执行完这个case后,会无条件的继续执行后面的case中的语句,
直到遇到break或者switch结束。
for循环
for(定义循环变量表达式 ; 布尔表达式 ; 增量表达式){
}
while循环
while(布尔表达式){
//循环体
}
do_while循环
// ...
do{
//循环体
}while(布尔表达式);
// ....
1).三种循环,它们的循环体中如果只有一句话,可以省略大括号(但不建议):
2).三种循环都有大括号,就意味着有“变量的作用域”,在循环大括号内定义的变量:只在本次循环内有效,在下次循环,或者结束循环后都不能被访问:
3).while循环和do_while循环的区别:
- while循环:先判断,后循环;
- do_while循环:先循环一次,然后再判断,再循环…
跳出语句break和continue
1).break语句:只能用在switch和循环语句中
在switch中,表示:跳出switch语句;
在循环语句中,表示:跳出循环体,结束循环;2).continue语句:只能用在循环语句中,表示:结束本次循环,继续下一次循环
死循环
class Demo {
public static void main(String[] args) {
int count = 0;
while(true){
count++;
System.out.println("HelloWorld!");
if(count == 5){
break;
}
}
}
}
嵌套循环
嵌套循环:指循环内部还可以定义其它循环。外层循环每执行一次,内层循环都要全部执行一次。
class Demo {
public static void main(String[] args) {
for(int n = 1 ; n <= 5 ; n++){
System.out.println("n = " + n);
for(int m = 1 ; m <= 3 ; m++){
System.out.println("m = " + m);
}
}
}
}