A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请问,if...if 和if...else if.. else有什么区别吗?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 何建明 于 2014-2-26 10:32 编辑

if...if  应该是并列的判断吧, 如果条件同时满足两个if 的判断条件, 那么都执行if 下的语句;
  1. class  IfDemo
  2. {
  3.         public static void main(String[] args)
  4.         {

  5.                 int a = 5;
  6.                 if (a>3)
  7.                 {
  8.                         System.out.println("A>3");
  9.                 }
  10.                  if (a>4)
  11.                 {
  12.                         System.out.println("A>4");
  13.                 }
  14.         }
  15. }
复制代码

会输入A>3 和 A>4
if...else if.. else  ,判断结果只会执行一条语句 。

  1. class  IfDemo
  2. {
  3.         public static void main(String[] args)
  4.         {

  5.                 int a = 5;
  6.                 if (a>3)
  7.                 {
  8.                         System.out.println("A>3");
  9.                 }
  10.                 else if (a>4)
  11.                {
  12.                         System.out.println("A>4");
  13.                }
  14.                else
  15.                 {
  16.                         System.out.println("A=5");
  17.                 }
  18.         }
  19. }
复制代码


只会输出第一个满足条件的 A>3

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
if(布尔表达式){
//如果布尔表达式为true,就执行的语句


当然还有if/else语句一个if语句后可以跟上一个可选的else语句,用于在布尔表达式为false时执行。if/else语

句的语法形式如下:
if(布尔表达式){
//当布尔表达式为true时执行

else{
//当布尔表达式为false时执行



else块也可以包含另一个if语句,这样可以创建了一系列if/else语句,但只有一个if代码块被执行。语法形式类

似如下:
if(布尔表达式){

else if(布尔表达式){

else if(布尔表达式){

//等等,直到
else{

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
if....if 有两个表达式两段可执行语句,if ...else if.....else实际上有三个条件三段可执行语句。
回复 使用道具 举报
这个毕向东老师的基础视频第二天-17、18大概中讲到过。其中,if...if...是两个单独的语句,当第一个if结束时,如果第二个if仍满足,也会执行。而if...else if.. else  ,判断结果只会执行一条语句 。如一楼的例子一样,执行了A>3之后程序结束,不再判断a是否大于4。具体的可以再看看视频。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
if...if...是两个并列的单独的语句,当第一个if结束时,仍会判断第二个if语句。
而if...else  ,判断结果只会执行一条语句 。当if语句判断匹配就不会再执行else语句了。只有当if语句不匹配才会执行else语句。
if...else其实是if ......else if;else里面包含着一个if

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
你看看这个程序,运行一下,你在琢磨一下

  1. public class test {

  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub

  4.                 int i=0,a=1;
  5.                
  6.                 //下面这两个if都会执行的,第二部判断条件为false,所以没有输出,
  7.                 if(i==0)
  8.                         System.out.println("i="+i);
  9.                 if(i!=0)
  10.                         System.out.print("i="+i);
  11.                
  12.                
  13.                 //下面这个if-else是一个整体,如果if里面的条件判断为假,就执行else里面的程序,反之亦然
  14.                 if(a==0)
  15.                         System.out.println("a="+a);
  16.                 else
  17.                         System.out.println("a="+a);
  18.                
  19.         }

  20. }
复制代码





评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马