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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 13120298870 中级黑马   /  2016-5-2 00:33  /  1694 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class IfDemo{
   public static void main(String[] args){
        int x = 3;
        if( x > 1 ){
            System.out.println("yes");
        }
        System.out.println("over");
   }
}
我不明白,这个为什么把“over”也打印出来了??if里面符合就打印“yes”,不就结束了吗?

20 个回复

倒序浏览
缺少else{},应该把System.out.println("over");放在else语句中,选择输出,没有else的话,if语句执行完,会继续下面的执行
回复 使用道具 举报
if语句使用不正确,要是这样使用if语句的话,执行完 System.out.println("yes");还会接着执行System.out.println("over");因为他们俩之间你没有加else语句啊。一起加油!
回复 使用道具 举报
程序是顺序执行的,System.out.println("over")语句没在if语句体内,把他移到else就好使啦
回复 使用道具 举报
加油加油
回复 使用道具 举报
你OVER写在循环外,当然要执行了
回复 使用道具 举报
lll456123l 发表于 2016-5-2 09:05
你OVER写在循环外,当然要执行了

...哪来的循环体
回复 使用道具 举报

SORRY 是IF语句 我总是习惯把IF当成WHILE
回复 使用道具 举报

SORRY 是IF语句 我总是习惯把IF当成WHILE
回复 使用道具 举报
不加else的话无论if内怎样变,都会输出over,因为 System.out.println("over");只是一个简单的打印语句,和前面的if没有任何关联!
回复 使用道具 举报
不加else的话无论if内怎样变,都会输出over,因为 System.out.println("over");只是一个简单的打印语句,和前面的if没有任何关联!
回复 使用道具 举报
程序是顺序执行的,执行完if语句,还会继续向下执行打印over,可以用if …… else语句,把打印over的语句写在else里
回复 使用道具 举报
程序是顺序执行的,main函数进栈,虽然你x=3符合条件语句里面的关系条件,输出了yes,但是这时程序继续往下走,遇到输出语句,执行完之后,main函数才弹栈
回复 使用道具 举报
因为你的if语句到第六行就结束了,看见没if 的大括号从第四行{  ,到第六行 }这样最后的System.out.println("over");
回复 使用道具 举报
向尧 发表于 2016-5-2 10:50
因为你的if语句到第六行就结束了,看见没if 的大括号从第四行{  ,到第六行 }这样最后的System.out.println ...

这样最后的System.out.println("over");就被当成了if语句结束后要输出的语句
回复 使用道具 举报
你可以理解成if{}和else{}是固定格式...这种固定格式只会出现一个输出语句........而你的over是没有在这固定格式里面的...所以它不会遵循那个只输出一条语句的规则......
回复 使用道具 举报
else哪去了? 没有else就顺序执行了
回复 使用道具 举报
over输出语句在if语句之外啊,同桌。
回复 使用道具 举报
打印over的语音在if的范围之外,顺序执行下来当然会打出来了.
加个else就不会了.
回复 使用道具 举报
开始学的时候我跟你也一样,其实只要看最后两个右大括号.
在最后两个大阔上面的语句,就是在最前面两个左大括号的内容.
if{}已经结束了,跟后面的内容没有关系
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马