黑马程序员技术交流社区

标题: 遇到一段有趣的代码,请问一下大家 [打印本页]

作者: fengxiaocan    时间: 2016-3-13 00:18
标题: 遇到一段有趣的代码,请问一下大家
class charData {
        public static void main(String[] args) {
                for(char x = 0;x<65536;x++) {
                        System.out.print(x);
                }
        }
}
当运行的时候,为什么会不断的重复打印输出?
当改为65535的时候,就不会。
注意,用windows命令行来运行
作者: lijiy09    时间: 2016-3-13 00:26
确实是这样,一堆汉字
作者: dmadboy    时间: 2016-3-15 10:08
这应该就是越界异常吧,初步分析是这样的,65535在计算机里面用二进制表示就全是1,然后你的限制范围是65536,也就是说当x=65535时,继续加1,这时就会出现越界,就会全变成0,这时x又成为0,继续循环,也许越界问题你不太懂,可以问度娘




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