黑马程序员技术交流社区

标题: 这代码哪错了? [打印本页]

作者: wuzeshui    时间: 2016-1-13 00:49
标题: 这代码哪错了?
编译如下代码,编译运行时,结果是()
publicstatic void main(String[] atgs){
    for(int i=0;i<3;i++){
        System.out.print(i);
}
    System.out.print(i);
}
A.  编译时报错
B.  正确运行,输出012
C.  正确运行,输出123
D.  正确运行,输出0123


作者: OliverLC    时间: 2016-1-13 01:30
for循环定义的变量执行完一次就在内存中释放,所以s.o.p里找不到i了
作者: 黑色皮肤的马    时间: 2016-1-13 09:11
编译报错。首先没有定义类,这段代码根本不能运行。其次,最重要的,for循环结束后,初始化变量i就从内存中释放,在for循环外输出i,找不到符号,报错。
作者: 542826323    时间: 2016-1-13 10:13
感谢楼主和各位大神,这些细节上的东西还是没有掌握好。
作者: shenfuhan    时间: 2016-1-13 10:38
报错,i被释放
作者: 随缘的影子    时间: 2016-1-13 10:46
。。编译出错是肯定的,因为for循环定义的常量是不能走出那个循环体的。循环结束就消失了,若是去掉最后那个打印输出的话,结果应该是012吧?
作者: 小赵VS老付    时间: 2016-1-13 11:19
首先没定义类,其次i是局部变量,出了方法体外面不认识了,最后args拼写错误了!
作者: zzh111    时间: 2016-1-13 22:40
A.  编译时报错
作者: 雪中飞    时间: 2016-1-14 10:46
A.  编译时报错
作者: 晓寒轻    时间: 2016-1-14 13:12
編譯報錯、i沒有定義
作者: 愿随风丶飘雪    时间: 2016-1-14 13:55
i是局部变量吧
作者: hard    时间: 2016-1-14 17:53
编译时期报错,因为i并没有声明




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