黑马程序员技术交流社区

标题: 一道试题 [打印本页]

作者: 604840337    时间: 2016-3-24 22:09
标题: 一道试题
public class Test{
private static final int counter=10;
public static void main(String [] args){         
System.out.println(++counter);        
}   
}


作者: mundane    时间: 2016-3-24 22:16
是10吗。。。。。。。。。。。。。。。
作者: 604840337    时间: 2016-3-24 22:19
mundane 发表于 2016-3-24 22:16
是10吗。。。。。。。。。。。。。。。

为什么是10.。。。++了啊
作者: luomoss    时间: 2016-3-24 22:31
final定义的是常量,做任何赋值运算都不能改变其值
作者: mundane    时间: 2016-3-24 22:33
604840337 发表于 2016-3-24 22:19
为什么是10.。。。++了啊


我试了一下,报错了。你这样编译是不能通过的。final修饰的变量已经是常量,是不能在做++运算的,所以出错了

作者: 唯爱唐嫣    时间: 2016-3-24 22:42
静态常量貌似值不能被再次改变吧?
作者: 305450674    时间: 2016-3-24 23:08
被final修饰,说明count是常量,常量的值不会发生变化,所以打印出来还是10
作者: 马儿不吃草    时间: 2016-3-24 23:56
这不是考试题吗,应该报错了吧
作者: zixiyang    时间: 2016-3-25 00:05
编译出错
作者: xanx14710    时间: 2016-3-25 08:42
常量的值不能变吧
作者: 守徒徒    时间: 2016-3-25 16:50
这个应该是编译错误吧!!!
作者: cohle1992    时间: 2016-3-25 18:17
应该编译失败吧,
作者: zxydeh    时间: 2016-3-25 21:15
不确定的自己复制出来执行下!!!
作者: yijincheng    时间: 2016-3-25 21:41
final代表是常量,只能赋值一次。然后就不能再改变了
作者: BugBuff    时间: 2016-3-25 23:52
编译报错,常量不能被二次赋值,
++count等效于 count = count + 1;




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