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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 无所谓啦 高级黑马   /  2014-5-29 08:09  /  1408 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class TestIf{
        public static void main(String[] args){
                int i = 10;
                if(i<5);
                        i=50;
                System.out.println("i="+i);
                }
        }       //i=50,为什么?求详细分析步骤

7 个回复

倒序浏览
书写格式错误,if(i<5)后面不该有分号,你写上了分号表示结束了这条语句,然后后面的i=50就相当于把50赋予了i,打印出来的当然就是i=50啦。
回复 使用道具 举报
呵呵,你的if(i<5)后面是不是有分号结尾了呀,去了分号就不会等于50了(错误原因:你在写完if条件后就已经结束了if判断,i=50不在if内,这么说明白吗?)
回复 使用道具 举报
lin' 发表于 2014-5-29 08:23
呵呵,你的if(i

明白了,谢谢大家!
回复 使用道具 举报
无所谓啦 发表于 2014-5-29 08:34
明白了,谢谢大家!

不用谢,下次注意认真点书写就不会用这样的错误了,另外再告诉你if地下如果就一句话可以默认不加{},如果不是一句话得加上{}不然又会报错的哦,
回复 使用道具 举报
if里面就算没用语句最好也加上{}方便自己分析哦
回复 使用道具 举报
if后面带了个分号,i=50不是在If语句内的,程序会一直运行到i=50这句话,所以输出50
回复 使用道具 举报
书写格式错误,if语句的格式:if(Boolean类型表达式){执行语句}

if(i<5)后面不能有分号,你写上了分号表示结束了这条语句,然后后面的i=50就相当于把50赋予了i,打印出来的当然就是i=50啦.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马