Java-条件语句


条件语句具有一个或多个要由程序测试的条件,以及条件为真时要执行的一个或多个语句,以及条件为假时要执行的其他语句(可选)。

以下是大多数编程语言中典型条件结构的一般形式:

1620205347353115.jpg

Java编程语言提供以下类型的条件语句:

语句描述
if
if语句包含一个布尔表达式,后跟一个或多个语句。
if...elseif语句后可以跟可选的else语句,该语句在布尔表达式为false时执行。
嵌套的if..else可以在一个if 或者 else if语句中使用另一个if 或者 else if语句。
switchswitch语句允许针对值列表对变量进行相等性测试。

if语句

if语句由一个布尔表达式和一个或多个语句组成。

public class Test {

   public static void main(String args[]) {
      int x = 10;

      if( x < 20 ) {
         System.out.print("这是if语句");
      }
   }
}

输出

这是if语句

if...else

if语句后面可以跟一个可选的else语句,当布尔表达式为false时执行。

public class Test {

   public static void main(String args[]) {
      int x = 30;

      if( x < 20 ) {
         System.out.print("这是if语句");
      }else {
         System.out.print("这是else语句");
      }
   }
}

输出

这是else语句

嵌套if...else

嵌套if-else语句总是合法的,这意味着你可以在另一个if 或者 else if语句中使用一个if 或者 else if语句。

public class Test {

   public static void main(String args[]) {
      int x = 30;
      int y = 10;

      if( x == 30 ) {
         if( y == 10 ) {
            System.out.print("X = 30 and Y = 10");
         }
      }
   }
}

输出

X = 30 and Y = 10

switch

switch语句允许一个变量与一个值列表进行相等校验。每一个值称为一个case,被校验的变量要对每一个case进行检查。

public class Test {

   public static void main(String args[]) {
      char grade = 'C';

      switch(grade) {
         case 'A' :
            System.out.println("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

输出

Well done
Your grade is C

运算符 ? :


条件运算符 ? : 可以替换上一节中if ... else语句,它具有以下一般形式:

Exp1 ? Exp2 : Exp3;

其中Exp1,Exp2和Exp3是表达式。注意冒号的使用和放置。

为了确定整个表达式的值,首先对exp1求值。

如果exp1的值为true,则Exp2的值将为整个表达式的值。

如果exp1的值为false,则对Exp3求值,其值成为整个表达式的值。

接下来是什么?


在下一章中,我们将讨论Number类(在java.lang包中)及其Java语言中的子类。

我们将研究某些情况,其中你将使用这些类的实例而不是原始数据类型,以及使用数字时需要了解的诸如格式化、数学函数之类的类。