Chinaunix首页 | 论坛 | 博客
  • 博客访问: 656233
  • 博文数量: 845
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:22
文章分类

全部博文(845)

文章存档

2011年(1)

2008年(844)

我的朋友

分类:

2008-10-15 16:36:39

    5.3.1.3 if-else

    if-else语句在现实中,有些时候的条件不是一个,而是一组相关的条件,例如将阿拉伯数字转换为中文大写,根据分数转换为对应的等级等,都是多条件的结构,在程序中为了避免写多个if语句的结构,提供了一类专门的多分支语句,这就是if-else if-else语句。

    if-else if-else语句的语法格式为:

    if(条件1)

    功能代码1;

    else if(条件2)

    功能代码2;

    else if(条件3)

    功能代码3;

    ……

    else功能代码;

    语法说明:

    1、 else if是else和if两个关键字,中间使用空格进行间隔。

    2、 条件1到条件n都是boolean类型

    3、 else if语句可以有任意多句

    4、 最后的else语句为可选

    5、 如果功能代码部分不是语句块,也就是不用大括号,就只能写一句。

    执行流程:当条件1成立时,则执行功能代码1;当条件1不成立且条件2成立时,则执行功能代码2;如果条件1、条件2都不成立且条件3成立,则执行功能代码3,依次类推,如果所有条件都不成立,则执行else语句的功能代码。其执行流程的流程图如上所示。

    下面是一个实现根据月份的值,输出该月份包含的日期数,2月份全部输出28,不考虑闰年的示例代码:

    int month = 3;

    int days = 0;   //日期数

    if(month == 1){

    days = 31;

    }else if(month == 2){

    days = 28;

    } else if(month == 3){

    days = 31;

    } else if(month == 4){

    days = 30;

    } else if(month == 5){

    days = 31;

    } else if(month == 6){

    days = 30;

    } else if(month == 7){

    days = 31;

    } else if(month == 8){

    days = 31;

    } else if(month == 9){

    days = 30;

    } else if(month == 10){

    days = 31;

    } else if(month == 11){

    days = 30;

    } else if(month == 12){

    days = 31;

    }

    System.out.println(days);

    再来看一个示例代码,该代码的功能是实现将百分制的成绩转换为A、B、C、D和E,代码如下:

    int score = 87;

    if(score >= 90){

    System.out.println(‘A’);

    } else if(score >= 80){

    System.out.println(‘B’);

    } else if(score >= 70){

    System.out.println(‘C’);

    } else if(score >= 60){

    System.out.println(‘D’);

    } else{

     System.out.println(‘E’);

    }

    从该代码中可知,每个else if语句在书写时是有顺序的,在实际书写时,必须按照逻辑上的顺序进行书写,否则将出现逻辑错误。

    if-else if-else语句是语言中提供的一个多分支条件语句,但是在判断某些问题时,会书写的比较麻烦,所以在语法中提供了另外一个语句——switch语句来更好的实现多分支语句的判别。

【责编:Chuan】

--------------------next---------------------

阅读(267) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~