当前位置: 代码迷 >> Java相关 >> 刚学java,for语句问题,谁告诉我运行结果为什么有负数
  详细解决方案

刚学java,for语句问题,谁告诉我运行结果为什么有负数

热度:76   发布时间:2011-03-07 22:25:35.0
刚学java,for语句问题,谁告诉我运行结果为什么有负数
public class TestDO
{
    public static void main(String[] args)
    {
        int i=0;
        for(;;)
        {
            if(i<10)
            System.out.println(i);
            i++;
        }
    }
}
搜索更多相关的解决方案: java  

----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2011-03-07 15:46:34
xieyukun8912

等 级:新手上路
帖 子:2
专家分:0
注 册:2011-3-3
  得分:0 
回复 2楼 付政委
懂了!万分感谢~~
----------------解决方案--------------------------------------------------------
以下是引用付政委在2011-3-7 23:46:34的发言:

我告诉你 首先你这样的用法是错误的,这是一个死循环 ,i的值会不断的增加,当i的值超过int型所能容下的范围,就会溢出,而不是负数!!
我再说之所以会出先死循环 ,是因为你的for()循环里的if语句没有用{}引上到哪结束!
可以这样改:public class tt
{
    public static void main(String[] args)
    {
        int i=0;
        for(;;)
        {
            if(i<10){    //多了个括号
            System.out.println(i);
            i++;
            }
        }
    }
}
也可以这样写这个语句,运行结果一样
public class tt
{
    public static void main(String[] args)
        {
               for( int i=0;i<10;i++)
                       {
                        System.out.println(i);
                       }
        }
}
这样写比较正规 建议使用!
第一个貌似还是死循环啊?
----------------解决方案--------------------------------------------------------
for(;;)中没有限制循环的条件,所以在循环内部必须出现限制条件

----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
public class TestDO
{
    public static void main(String[] args)
    {
        int i;
        for(i=0;i<10;i++)
        {
                System.out.println(i);
           
        }
    }
}


这样写不是更简单吗

----------------解决方案--------------------------------------------------------
开始也不太懂,慢慢就好了
----------------解决方案--------------------------------------------------------
  相关解决方案