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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 无所谓啦 高级黑马   /  2014-5-29 08:39  /  1133 人查看  /  9 人回复  /   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,为什么?求详细分析步骤

点评

不要发表重复的问题。注意发帖节奏。  发表于 2014-5-29 14:38

9 个回复

倒序浏览
大哥,你if语句都有问题  ,if基本结构是if(){},原因很简单,再仔细看看你的if,后面根本没if执行体。你只是判断i是不是小于5,然后并未做条件处理,直接i=50;那i肯定是50了。
回复 使用道具 举报

  1. class qq{
  2.         public static void main(String[] args){
  3.                 int i = 10;
  4.                 if(i<5);//这句的条件没有成立,这里还是给I赋值等于10
  5.                         i=50;//到这里,I从新赋值50.所以打印就是50咯
  6.                 System.out.println("i="+i);
  7.                 }
  8.         }  
复制代码
回复 使用道具 举报
付江涛 来自手机 金牌黑马 2014-5-29 09:28:44
板凳
因为if(i<5)后面加了分号,代表了if循环语句结束。继续执行i=5。把分号去了,结果就不一样了,
回复 使用道具 举报
跟我一样粗心,,连基本的语句格式的没完全理解。。哥们。。这正常。。重新回看视频。。注意老师敲代码是怎么敲的。。就知道了
回复 使用道具 举报
  1. public class TestIf
  2. {
  3.         public static void main(String[] args)
  4.            {
  5.                 int i = 10;
  6.                 if(i<5); // 把分号去掉,带分号就结束了if语句。
  7.                         i=50;
  8.                 System.out.println("i="+i);
  9.                 }
  10.         }       //i=50 // if语句不起作用,所以打印出来是后面赋值给i的值。
复制代码
回复 使用道具 举报
好好看书吧   这么简单的问题都问。:L你是来刷分的吧。
回复 使用道具 举报
首先第一步,你这样不好看代码,你先将代码格式化一下,这是第一
第二:你看你的if语句,只是做了判断,判断是否小于5,但是你的初始化赋值是10,不满足,所以,不管If语句后面是否有代码块,都会跳过,接着,你又给I赋值为50,后面就当然打印50了,,你好好看看,这样的代码可能没有意义
回复 使用道具 举报
哈哈^-^你跟我一样马虎……
不过,这不是什么大问题,提小建议,下次遇到类似的问题,就不要发贴了,先把自己写的代码和老师写的反复对比,几次之后,就会改掉马虎的问题了……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马