java选择结构一共分为两个大类:
1.if语句
2.switch语句
if语句
一、if语句的效果:
根据条件判断,成立则执行一些代码,不成立则不执行这些代码
二、if语句从简单到复杂一共分为三种:
①单if语句
②if-else语句
③if-else if-else if....else语句
三、if语句三种方法对应的格式:
1.单if语句格式:
if(条件判断){
语句体
}
int i = 10;
if(i = 10;){
System.out.println(i);
}
2.if-else语句格式:
if(条件判断){
语句体
}else{
语句体
}
int i = 10;
if(i != 10){
System.out.println("i不等于10");
}else{
System.out.println("i等于10");
}
3.if-if else-if else....else语句格式:
if(条件判断){
语句体
}else if(条件判断){
语句体
}else if(条件判断){
语句体
}
...
else if(条件判断){
语句体
}else{
语句体
}
int i = 10;
if(i > 10){
System.out.println("i大于10");
}else if(i = 10){
System.out.println("i等于10");
}else{
System.out.println("i小于10");
}
四、执行流程:
1.单if语句:
1.首先判断小括号内的条件是true还是false
2.如果是true,则执行大括号内的语句体,然后if语句
3.如果是false,则不执行大括号内的语句体。
int a = 10;
int b = 20;
if(a > b){
System.out.println(a);
}
2.if-else语句:
1.首先判断if里小括号内的条件是true还是false
2.如果是true,则执行if里大括号内的语句体,然后跳出if-else语句。
3.如果是false,则会执行else里大括号内的语句体。
int a = 10;
int b = 20;
if(a > b){
System.out.println(a);
}else{
System.out.println(b);
}
3.if-if else-if else....else语句:
1.首先判断if里小括号内的条件是true还是false
2.如果是true,则执行if里大括号内的语句体。
3.如果是false,则会判断if else里小括号内的条件是true还是false。
4.如果中间有一个if else里小括号的条件是true,则会执行它大括号内的语句体,后面的if else就不会执行,就直接跳出if-if else-if else....else语句。
5.如果最后if else里面都是false,就会执行else里面的语句。
int a = 10;
int b = 20;
int c = 30;
if(a > b && a > c){
System.out.println(a);
}else if(b > a && b > c){
System.out.println(b);
}else{
System.out.println(c);
}
五、执行流程图:
①单if语句:
②if-else语句:
③if-else if-else if....else语句:
switch语句
一、switch语句的效果:
根据表达式判断常量,常量相等则执行一些代码,不相等则不执行这些代码
二、switch语句的格式:
switch(表达式){
case
语句体;
break;
case
语句体;
break;
...
case 常量n:
语句体;
break;
default:
语句体;
}
四、执行流程:
①首先判断switch里的小括号内的表达式的结果常量
②用表达式的结果常量与那个case内的常量相同,就执行能case内的语句体
③如果表达式的结果常量与case内的常量都不相同,就会执行default内的语句体
package javatest;
import java.util.Scanner;
public class XinQiJi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner tianshu = new Scanner(System.in);
System.out.print("请输入第几天");
int day = tianshu.nextInt();
if (day >= 1 && day <= 7) {
switch (day){
case 1:
System.out.print("星期一");
break;
case 2:
System.out.print("星期二");
break;
case 3:
System.out.print("星期三");
break;
case 4:
System.out.print("星期四");
break;
case 5:
System.out.print("星期五");
break;
case 6:
System.out.print("星期六");
break;
default:
System.out.print("星期天");
break;
}
}else {
System.out.print("数字错误");
}
}
}
注意:
每一个case写完语句体后必须要写break,如果没有写break他会进行渗透,不仅输出你本case内的语句体,还会输出下一个case内的语句体,直到有break才会停下来。