黑马程序员技术交流社区
标题:
遇到一段有趣的代码,请问一下大家
[打印本页]
作者:
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
确实是这样,一堆汉字
搜狗截图16年03月13日0026_1.png
(373.57 KB, 下载次数: 12)
下载附件
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