🗽顺序结构🗽
顺序结构比较简单. 像我们之前写过的代码就是顺序结构的,
按照代码书写的顺序一行一行执行.
System.out.println("aaa"); System.out.println("bbb"); System.out.println("ccc"); // 运行结果 aaa bbb ccc
如果调整代码的书写顺序, 则执行顺序也发生变化
System.out.println("aaa"); System.out.println("ccc"); System.out.println("bbb"); // 运行结果 aaa ccc bbb
🗽分支结构🗽
⭐if语句⭐
敲重点:这里和C有些不一样,if括号里必须是一个布尔类型,非true即false,不能是别的整型(C里边0表示false,非0表示true,java里不能用整型表示真假)
基本语法形式1
if(布尔表达式){ //条件满足时执行代码 }
基本语法形式2
if(布尔表达式){ //条件满足时执行代码 }else{ //条件不满足时执行代码 }
基本语法形式3 多分支的情况
if(布尔表达式){ //条件满足时执行代码 }else if(布尔表达式){ //条件满足时执行代码 }else{ //条件都不满足时执行代码 }
代码示例1: 判定一个数字是奇数还是偶数
int num = 10; if (num % 2 == 0) { System.out.println("num 是偶数"); } else { System.out.println("num 是奇数"); }
代码示例2: 判定一个数字是正数还是负数
int num = 10; if (num > 0) { System.out.println("num 是正数"); } else if (num < 0) { System.out.println("num 是负数"); } else { System.out.println("num 是 0"); }
代码示例3: 判定某一年份是否是闰年
int year = 2000; if (year % 100 == 0) { // 判定世纪闰年 if (year % 400 == 0) { System.out.println("是闰年"); } else { System.out.println("不是闰年"); } } else { // 普通闰年 if (year % 4 == 0) { System.out.println("是闰年"); } else { System.out.println("不是闰年"); } }
注意事项1 悬垂 else 问题
int x = 10; int y = 10; if (x == 10) if (y == 10) System.out.println("aaa"); else System.out.println("bbb");
if / else
语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句).
此时 else 是和最接近的 if 匹配.
但是实际开发中我们 不建议 这么写. 最好加上大括号.
注意事项2 代码风格问题
// 风格1 int x = 10; if (x == 10) { // 满足条件 } else { // 不满足条件 } // 风格2 int x = 10; if (x == 10) { // 满足条件 } else { // 不满足条件 }
虽然两种方式都是合法的, 但是 Java 中更推荐使用风格1, { 放在 if / else
同一行.
注意事项3 分号问题
int x = 20; if (x == 10); { System.out.println("hehe"); } // 运行结果 hehe
此处多写了一个 分号, 导致分号成为了 if
语句的语句体, 而 { } 中的代码已经成为了和一个 if
无关的代码块.