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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM谢文辉 中级黑马   /  2013-3-25 15:26  /  1348 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM谢文辉 于 2013-3-25 17:13 编辑
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int m=0,n=3;
  6.                 if(m>0)
  7.                         if(n>2)
  8.                                 System.out.println("A");        
  9.                 else
  10.                         System.out.println("B");

  11.         }
  12. }
复制代码
这个小程序怎么会没结果呢??

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 刘文超 于 2013-3-25 15:47 编辑

if-else是一对的、值得注意点是:else和上边最近的if匹配
所以。。是下边这样的、、
  1. //外层if开始
  2. if(m>0)
  3.       //内层if-else
  4.       if(n>2)
  5.            System.out.println("A");      
  6.       else
  7.           System.out.println("B");
  8.      //内层结束
  9. //外层结束!

复制代码
因为m>0 为false所以外层压根没进去...
明白了没
建议lz还是用{}划定作用域比较好:
  1. //外层if开始
  2. if(m>0){
  3.       //内层if-else
  4.       if(n>2){
  5.            System.out.println("A");      
  6.       }else{
  7.           System.out.println("B");
  8.       }//内层结束
  9. }//外层结束!
复制代码

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
刘文超 发表于 2013-3-25 15:37
zhan difang

??什么意思?
回复 使用道具 举报
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int m=0,n=3;
  6.                 if(m>0)
  7.                                 {
  8.                                         if(n>2)
  9.                                 System.out.println("A");
  10.                                 }      
  11.                 else
  12.                         System.out.println("B");

  13.         }
  14. }
复制代码
if后是单条语句,如后用{多条语句;}

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
刘文超 发表于 2013-3-25 15:37
if-else是一对的、值得注意点是:else和上边最近的if匹配
所以。。是下边这样的、、因为m>0 为false所以外 ...

了解了。。擦。。头脑发热了
回复 使用道具 举报
HM谢文辉 发表于 2013-3-25 15:37
??什么意思?

那会 占个地方而已、、抱歉哦、
回复 使用道具 举报
第二个if(n>2)和else是相匹配的,一般是成对出现,最好加上{},这样方便阅读,更好的了解作用区域,因为你定义的m=0,当读到第一个条件判断不符合条件时,主函数就结束了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马