黑马程序员技术交流社区

标题: 关于If的一个题目,求分析解答! [打印本页]

作者: 无所谓啦    时间: 2014-5-29 08:39
标题: 关于If的一个题目,求分析解答!
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 09:09
大哥,你if语句都有问题  ,if基本结构是if(){},原因很简单,再仔细看看你的if,后面根本没if执行体。你只是判断i是不是小于5,然后并未做条件处理,直接i=50;那i肯定是50了。
作者: Blüe-wǒlf    时间: 2014-5-29 09:10

  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
因为if(i<5)后面加了分号,代表了if循环语句结束。继续执行i=5。把分号去了,结果就不一样了,
作者: EDDY_Liang    时间: 2014-5-29 09:49
跟我一样粗心,,连基本的语句格式的没完全理解。。哥们。。这正常。。重新回看视频。。注意老师敲代码是怎么敲的。。就知道了
作者: (_演绎、青春    时间: 2014-5-29 09:54
  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的值。
复制代码

作者: Super__kids    时间: 2014-5-29 13:51
好好看书吧   这么简单的问题都问。:L你是来刷分的吧。
作者: fenzheng    时间: 2014-5-29 14:26
首先第一步,你这样不好看代码,你先将代码格式化一下,这是第一
第二:你看你的if语句,只是做了判断,判断是否小于5,但是你的初始化赋值是10,不满足,所以,不管If语句后面是否有代码块,都会跳过,接着,你又给I赋值为50,后面就当然打印50了,,你好好看看,这样的代码可能没有意义
作者: 编程学徙    时间: 2014-5-29 14:30
哈哈^-^你跟我一样马虎……
不过,这不是什么大问题,提小建议,下次遇到类似的问题,就不要发贴了,先把自己写的代码和老师写的反复对比,几次之后,就会改掉马虎的问题了……




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2