A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuzeshui 中级黑马   /  2016-1-13 00:49  /  927 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编译如下代码,编译运行时,结果是()
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

11 个回复

倒序浏览
for循环定义的变量执行完一次就在内存中释放,所以s.o.p里找不到i了
回复 使用道具 举报
编译报错。首先没有定义类,这段代码根本不能运行。其次,最重要的,for循环结束后,初始化变量i就从内存中释放,在for循环外输出i,找不到符号,报错。
回复 使用道具 举报
感谢楼主和各位大神,这些细节上的东西还是没有掌握好。
回复 使用道具 举报
shenfuhan 来自手机 中级黑马 2016-1-13 10:38:32
报纸
报错,i被释放
回复 使用道具 举报
。。编译出错是肯定的,因为for循环定义的常量是不能走出那个循环体的。循环结束就消失了,若是去掉最后那个打印输出的话,结果应该是012吧?
回复 使用道具 举报
首先没定义类,其次i是局部变量,出了方法体外面不认识了,最后args拼写错误了!
回复 使用道具 举报
zzh111 中级黑马 2016-1-13 22:40:16
8#
A.  编译时报错
回复 使用道具 举报
A.  编译时报错
回复 使用道具 举报
編譯報錯、i沒有定義
回复 使用道具 举报
i是局部变量吧
回复 使用道具 举报
hard 中级黑马 2016-1-14 17:53:01
12#
编译时期报错,因为i并没有声明
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马