1.选择结构的分类
a. if语句
if语句有几种格式
* 格式1
* 格式2
* 格式3
b. switch语句
2.if语句的格式1
if(比较表达式) {
语句体;
}
执行流程:
* 先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体;
* 如果是false,就不执行语句体;
class Demo1_If {
public static void main(String[] args) {
int age = 17;
if (age >= 18) {
System.out.println("AAAA");
}
System.out.println("CCCC");
}
}
注意事项:
a:比较表达式无论简单还是复杂,结果必须是boolean类型
b:if语句控制的语句体如果是一条语句,大括号可以省略;
*如果是多条语句,就不能省略。建议永远不要省略。
c:一般来说:有左大括号就没有分号,有分号就没有左大括号
class Demo2_If {
public static void main(String[] args) {
int age = 17;
if (age >= 18 && age <= 60) {
System.out.println("AAA");
//int x = 10; 是两句话,int x声明是一句,x = 10 赋值是一句
}
System.out.println("ZZZ");
}
}
3.if语句的格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
*首先计算比较表达式的值,看其返回值是true还是false。
*如果是true,就执行语句体1;
*如果是false,就执行语句体2;
class Demo3_If {
public static void main(String[] args) {
int x = 0;
if (x == 1) {
System.out.println("true");
}else {
System.out.println("false");
}
}
}
获取两个数据中较大的值.
//获取两个数据中较大的值
class Demo3_If {
public static void main(String[] args) {
int x = 10;
int y = 20;
int z;
if (x > y) {
z = x;
}else {
z = y;
}
System.out.println(z);
}
}
判断一个数据是奇数还是偶数,并输出是奇数还是偶数.
//判断一个数据是奇数还是偶数,并输出是奇数还是偶数.
class Demo3_If {
public static void main(String[] args) {
int num = 11;
if (num % 2 == 0) {
System.out.println(num + "是一个偶数");
}else {
System.out.println(num + "是一个奇数");
}
}
}
if语句和三元运算符的区别
4.三元运算符实现的,都可以采用if语句实现。反之不成立。
*什么时候if语句实现不能用三元改进呢?
* 当if语句控制的操作是一个输出语句的时候就不能。
* 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
class Demo4_If {
public static void main(String[] args) {
int x = 10;
int y = 20;
int z;
if (x > y) {
//z = x;
System.out.println(x + "是最大值");
}else {
//z = y;
System.out.println(y + "是最大值");
}
//System.out.println(z);
int a = 20;
int b = 30;
int c = (a > b)? a : b;
}
}
5.if语句的格式3:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
* 首先计算比较表达式1看其返回值是true还是false,
* 如果是true,就执行语句体1,if语句结束。
* 如果是false,接着计算比较表达式2看其返回值是true还是false,
* 如果是true,就执行语句体2,if语句结束。
* 如果是false,接着计算比较表达式3看其返回值是true还是false,
* 如果都是false,就执行语句体n+1。
注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示.
class Demo5_If {
public static void main(String[] args) {
int x = 2;
if (x == 1) {
System.out.println("男");
}else if (x == 0) {
System.out.println("女");
}else {
System.out.println("无法识别您的性别");
}
}
}