Java程序流程控制
分支结构
if-else
if-else条件判断结构
if(条件表达式1){
执行表达式1;
}else if(条件表达式2){
执行表达式2;
}else if(条件表达式3){
执行表达式3;
}
……
else{
执行表达式n;
}
注意点
1、else的结构是可选可不选的
2、针对条件表达式
①、如果多个条件表达式是互斥的关系,其前后顺序无所谓
②、如果多个条件表达式是交集的关系,需考虑清楚,应该将哪个放在前面
③、如果多个条件表达式是包含的关系,需要将范围小的放在范围大的前面
3、if-else语句是可以嵌套的
switch-case
switch-case结构
switch(表达式){
case 常量1:
执行语句1;
break;
case 常量2:
执行语句2;
break;
……
default:
执行语句n;
break;
}
注意点
1、switch-case根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应的case结构中,并调用其中的执行语句,当调用完执行语句后,则继续向下执行,直到遇到break或者switch-case结构末尾结束为止。
2、switch后面使用的表达式可以是那些数据类型?
答:byte、short、char、int、枚举类型、String类型
3、case之后只能声明常量,不能声明范围,若在一定范围内执行语句相同,则可以考虑合并(即不写break)
总结if-else和switch-case
谈谈你对三元运算符、if-else语句和switch-case结构使用的理解。
答:
①、三元运算和switch-case均可以转化为if-else,但if-else并不都能转化为另外两者
②、使用三元运算和switch-case的优先级大于if-else,由于前两者执行效率较高
③、当情况不是很多并且判断语句中的变量属于问题一中的六种数据类型,可以考虑使用switch-case;当出现二选一的情况可以考虑三元运算
循环结构
1、循环结构的四要素
①初始条件
②循环条件(boolean类型)
③循环体
④迭代条件
for循环
for循环结构
for(①;②;④){
③
}
说明:
1、在for循环中声明初始条件时,该变量只在for循环内有效
while循环
while循环结构
①
while(②){
③;
④;
}
说明:
1、写while循环,千万不可以将迭代条件去除
2、for循环和while循环是可以相互转换的;两者的区别在于初始化条件部分的作用范围不同。
do-while循环
while循环结构
①;
do{
③;
④;
}while(②);
说明:
1、do-while循环和while循环相比,至少会执行一次循环体
总结for循环&While循环
1、不在循环条件部分限制次数的结构:for(; ; )或while(true)
2、结束循环有几种方式?(避免进入死循环)
①、循环条件部分返回false
②、在循环体中,执行break
补充:Scanner类的使用
具体实现步骤:
1、导包:import java.util.Scanner;
2、Scanner的实例化:Scanner scan = new Scanner(System.in);
3、调用Scanner类的相关方法(next()/nextXxx()),来获取指定类型的变量
注意:
需要根据相应的方法来输入指定类型的值,如果输入的数据类型与要求的类型不匹配,会报异常:InputMisMatchException,导致程序终止。