8、条件语句

目录

一、简单的if条件语句

二、if…else语句

三、if…else if多分支语句

四、switch多分支语句


一、简单的if条件语句

语法如下

  1. 布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值。它可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。
  2. 语句序列:可选参数。可以是一条或多条语句,当表达式的值为true时执行这些语句。若语句序列中仅有一条语句,则可以省略条件语句中的“{ }”。

if条件语句的执行过程

示例1:语句序列中只有一条语句

注意:虽然if后面的复合语句块只有一条语句,省略“{ }”并无语法错误,但为了增强程序的可读性最好不要省略。

条件语句后的语句序列省略时,则可以保留外面的大括号,也可以省略大括号。然后在末尾添加“;”。如示例3的两种情况都是正确的。

示例2:省略了if条件表达式中的语句序列

示例3:在项目中创建类Getif,在主方法中定义整型变量。使用条件语句判断两个变量的大小

public class Getif {  //创建类
       public static void main(String[]args) {  //主方法
              int x=45;  //声明int型变量x,并赋给初值
              int y=12;  //声明int型变量y,并赋给初值
              if(x>y) {  //判断x是否大于y
                     System.out.println("变量x大于变量y");  //如果条件成立,输出信息
              }
              if(x<y) {  //判断x是否小于y
                     System.out.println("变量x小于变量y");  //如果条件成立,输出信息
              }
       }
}

运行结果:

二、if…else语句

if…else语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。

语法如下

if…else语句的执行过程

注意

if后面“()”内的表达式的值必须是boolean型的。如果表达式的值为true,则执行紧跟if语句的复合语句;如果表达式的值为false,则执行else后面的复合语句。

同简单的if条件语句一样,如果if…else语句的语句序列中只有一条语句(不包括注释),则可以省略该语句序列外面的“{ }”。有时为了编程的需要,else或if后面的“{ }”中可以没有语句。

示例4:在项目中创建类Getifelse,在主方法中定义变量,并通过使用if…else语句判断

变量的值

public class Getifelse {
       public static void main(String args[]) {  //主方法
              int math=95;  //声明int型局部变量,并赋初值95
              int english=56;  //声明int型局部变量,并赋初值56
              if(math>60) {  //使用if语句判断math是否大于60
                     System.out.println("数学及格了");  //条件成立时输出信息
              }else {
                     System.out.println("数学没有及格");  //条件不成立时输出信息
              }
              if(english>60) {  //使用if语句判断english是否大于60
                     System.out.println("英语及格了");  //条件成立时输出信息
              }else {
                     System.out.println("英语没有及格");  //条件不成立时输出信息
              }
       }
}

运行结果:

三、if…else if多分支语句

if…else if多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”。

语法如下

  1. 条件表达式1~条件表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为boolean类型。
  2. 语句序列:可以是一条或多条语句,当条件表达式1的值为true时,执行语句序列1;当条件表达式2的值为true时,执行语句序列2,依此类推。当省略任意一组语句序列时,可以保留其外面的“{ }”,也可以将“{ }”替换为“;”。

if…else if多分支语句的执行过程

示例5:在项目中创建类GetTerm,在主方法中定义变量x,使用if…else if多分支语句通过判断x的值

public class GetTerm {  //创建类
       public static void main(String args[]) {  //主方法
              int x=20;  //声明int型局部变量
              if(x>30) {  //判断变量x是否大于30
                     System.out.println("a的值大于30");  //条件成立时输出信息
              }else if(x>10) {  //判断变量x是否大于10
                     System.out.println("a的值大于10,但小于30");  //条件成立时输出信息
              }else if(x>0) {  //判断变量x是否大于0
                     System.out.println("a的值大于0,但小于10");  //条件成立时输出信息
              }else {  //当以上条件都不成立时,执行该语块
                     System.out.println("a的值小于0");  //输出信息
              }
       }
}

运行结果:

注意:if语句只执行条件为真的命令语句,其他语句都不会执行。

四、switch多分支语句

示例6:使用if语句检测变量是否符合某个条件

由于上述程序显得笨重,程序员需要测试不同的值来给出输出语句。在Java中,可以用switch语句将动作组织起来,以一个较简单明了的方式来实现“多选一”的选择。

语法如下

switch语句中表达式的值必须是整型、字符型或字符串类型,常量值1~n必须也是整型、字符型或字符串类型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,则执行该case语句后的若干个语句直到遇到break语句为止。此时如果该case语句中没有break语句,将继续执行后面case中的若干个语句,直到遇到break语句为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。

switch语句的执行过程

示例7:要通过switch语句根据字符串str的值,输出不同的提示信息可

注意:同一个switch语句,case的常量值必须互不相同。

示例8:在项目中创建类GetSwitch,在主方法中应用switch语句将周一到周三的英文单

词打印出来

public class GetSwitch {  //创建类
       public static void main(String[]args) {  //主方法
              int week=2;  //定义switch语句的表达式为变量week
              switch(week) {  //指定switch语句的表达式为变量week
              case 1:  //定义case语句的常量为1
                     System.out.println("Monday");  //输出信息
                     break;
              case 2:  //定义case语句的常量为2
                     System.out.println("Tuesday");  //输出信息
                     break;
              case 3:  //定义case语句的常量为3
                     System.out.println("Wednesday");  //输出信息
                     break;
              default:  //defaullt语句
                     System.out.println("Sory,I don't know");  //输出信息
              }
       }
}

运行结果:

注意:在switch语句中,case语句后常量表达式的值可以为整数,但绝不可以是实数。例如,不合法的代码:case 1.1:

猜你喜欢

转载自blog.csdn.net/qq_25990967/article/details/128606703
今日推荐