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语句:

else if if java 区别 javaif else if语句格式_System

②if-else语句:

else if if java 区别 javaif else if语句格式_else if if java 区别_02

 if-else if-else if....else语句:

else if if java 区别 javaif else if语句格式_开发语言_03

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才会停下来。