IF分支结构
首先先介绍三元表达式,与if有少许类似
三元表达式
int sexNum = 1;
System.out.println(sexNum == 1);
String sex=sexNum==1?"male":"female";
System.out.println(sex);
//三元表达式:
//条件?条件的结果为true时整个表达式的值:条件的结果为false时整个表达式的值
//练习:判断一个数是否为偶数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num=sc.nextInt();
String result=num%2==0?"偶数":"奇数";
System.out.println(result);
介绍IF分支结构
流程控制用来控制程序中各语句的执行顺序
if选择结构是根据条件判断结果(结果必须是布尔值)选择不同的处理
可以画流程图来辅助理解if分支结构
public class Demo1 {
public static void main(String[] args) {
double score = 80; //小数保留两位或者四位
if (score > 90){
System.out.println("老师奖励一台iPhone11p");
}
}
}
使用复杂条件的if选择结构
public class Demo2 {
public static void main(String[] args) {
int javaScore = 91;
int musicScore = 81;
/*if (javaScore>90 && musicScore>80){
System.out.println("给奖励");
}
if (javaScore==100 && musicScore>70){
System.out.println("给奖励");
}*/
boolean result1=javaScore>90 && musicScore>80;
boolean result2=javaScore==100 && musicScore>70;
if (result1 || result2){
System.out.println("给奖励");
}
}
}
- 结合运算符的优先级编写条件
最高的优先级:( )
最低的优先级:=
优先级:!> 算术运算符 > 关系运算符 > && > ||
复杂条件使用括号提高可读性
if-else
public class Demo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入java考试成绩:");
int score = input.nextInt();
if (score>90){
System.out.println("奖励");
}else {
System.out.println("惩罚");
}
/*String result=score>90?"奖励":"惩罚";
System.out.println(result);*/
}
}
多重if选择结构
public class Demo4 {
public static void main(String[] args) {
int score=70;
if (score>=90){
System.out.println("优"); //注意顺序
}else if (score>=80){
System.out.println("良好");
}else if(score>=60){
System.out.println("中等");
}else{
System.out.println("不及格");
}
}
}
嵌套if选择结构
public class Demo5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入百米赛跑的秒数:");
double time = input.nextDouble();
if(time<10){
System.out.println("恭喜你进入决赛!");
System.out.println("请输入您的性别:");
String gender = input.next();
if (gender.equals("男")){
System.out.println("你进入男子组决赛");
}else{
System.out.println("你进入女子组决赛");
}
}else{
System.out.println("您未能进入决赛");
}
}
}
Switch结构
public class Demo6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入您出生年份末2位:");
byte year = input.nextByte();
switch (year){
case 95:
System.out.println("春光灿烂");
break;
case 96:
System.out.println("tom你怕了没");
break;
case 97:
System.out.println("牛年");
break;
case 98:
System.out.println("虎年");
break;
}
}
}
- 注意事项:
如果需要每个case执行完后跳出,在每个case后不要忘记写break
Case后的常量值不能相同
Default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略
程序调试debug
1.打个断点
2.使用debug来运行程序
3.单布执行查看程序流程及变量的值
总结
- if选择结构,包括以下形式
基本if选择结构:可以处理单一或组合条件的情况
if-else选择结构:可以处理简单的条件分支情况
多重if选择结构:可以处理分段的条件分支情况
嵌套if选择结构:可以处理复杂的条件分支情况 - switch选择结构
多重分支并且条件判断是等值判断的情况