回到顶部
您的当前位置: 编程语言> JAVA> JAVA基础> 系列教程
Java基础(六)选择语句
2014-03-05 09:07:57
标签: 网络整理 Java 基础 选择语句

Java有几种类型的选择语句:单向if语句、双向if语句、嵌套if语句、switch语句和条件表达式。

一:单向if语句

单向if语句是指当且仅当条件为true时执行一个动作。

例如,单向if语句的语法如下:

if (布尔表达式) {
  语句(组);
}

二:双向if语句

当指定条件为true时单向if语句执行一个操作。而当条件为false时什么也不干。但是,如果你希望在条件为false时也能执行一些动作,该怎么办?你可以使用双向if语句。根据条件为true或false,双向if语句可以指定不同的操作。

例如,下面是双向if语句的语法:

if (布尔表达式) {
布尔表达式为真时执行的语句(组);
}
else{
布尔表达式为假时执行的语句(组);
}

三:嵌套的if语句

if或if……else语句中的语句可以是任意合法的Java语句,甚至可以是其他的if或if……else语句。外层if语句里的内层if语句称为是嵌套的。内层if语句还可以包含其他的if语句;事实上,对嵌套的深度没有限制。

例如,下面就是一个嵌套的if语句:

if(i>k) {
  if(j>k)
    System.out.println("i and j are greater than k");
}
else
  System.out.println("i is less than or equal to k");

语句if(j>k)被嵌套在语句if(i>k)内。

嵌套的if语句可用于实现多重选择。

四:switch语句

为了全面考虑所有的情况,需要使用嵌套的if语句。过多地使用嵌套的if语句会使程序很难阅读。Java提供switch语句来有效地处理多重条件问题。

例如,下面是switch语句的完整语法:

switch (switch表达式) {
    case 值1:语句(组)1;
                break;
    case 值2:语句(组)2;
                break;
    ……
    case 值N:语句(组)Nv
                break;
    default:默认情况下执行的语句(组)
}

五:条件表达式

有时可能需要给有特定条件限制的变量赋值。

例如,下面的语句在x大于0时给y赋值1;当x小于等于0时给y赋值-1.

if(x>0)
  y=1;
else
  y=-1;

在这个例子中,还可以选择使用如下条件表达式,也能达到同样的效果。

y = ( x > 0) ? 1 : -1;

六:选择语句中的常见错误

1)忘记必要的括号

2)在if行出现错误的分号

3)对布尔值的冗余测试

4)悬空else出现的歧义