1.1.1 选择结构

选择结构包括ififelseswitch语句,语句中加上了选择结构之后,就像是“十字路口”,根据不同的选择,程序的运行会有不同的结果。

1.1.1.1 if语句

若在if语句主体中要处理的语句只有一个,则可省略左、右大括号。当判断条件的值不为假时,就会逐一执行大括号里面所包含的语句,if语句的流程图:


选择结构除了if语句之外,还有ifelse语句。在if语句中如果判断条件成立,即可执行语句主体内的语句,但若要在判断条件不成立时可以执行其它的语句,使用ifelse语句就可以节省判断的时间。

1.1.1.2 ifelse

当程序中存在含有分支的判断语句时,就可以用ifelse语句处理。当判断条件成立时,即执行if语句主体;判断条件不成立时,则会执行else后面的语句主体。ifelse语句的格式如下:

if(判断条件){

语句主体1

}else{

语句主体2

}

ifelse语句的流程图:


通过ifelse判断一个数字是奇数还是偶数:

class IfElseDemo{

      public static void main(String[] args) {

        int x = 3;

        if (x % 2 == 1) {

           System.out.println(x + "是奇数");

        } else {

           System.out.println(x + "是偶数");

        }

      }

}

运行结果:

3是奇数

1.1.1.3 三目运算符

有一种运算符可以代替ifelse语句,即三目运算符:


格式:变量 = 条件判断?表达式1:表达式2

将上面的格式以if语句解释,就是当条件成立时执行表达式1,否则执行表达式2,通常会将这两个表达式之一的运算结果指定给某个变量,也就相当于下面的ifelse语句。

使用三目运算符求出两个数字中的最大值:

class MaxDemo{

      public static void main(String[] args) {

        int max = 0;

        int x = 3;

        int y = 10;

        max = x > y ? x : y;

        System.out.println("最大值为:" + max);

      }

}

执行结果:

最大值为:10

1.1.1.4 ifelse ifelse

if(条件判断1){

语句主体1

}else if(条件判断2){

语句主体2

}

……

else{

语句主体3

}

使用ifelse ifelse语句:

class MoreIfElseDemo{

      public static void main(String[] args) {

        int x = 3;

        if (x == 1) {

           System.out.println("x的值是1");

        } else if(x == 2){

           System.out.println("x的值是2");

        } else if(x == 3){

           System.out.println("x的值是3");

        }

        else{

           System.out.println("x的值不是123");

        }

      }

}

运行结果:

x的值是3