为了账号安全,请及时绑定邮箱和手机立即绑定

java静态初始化问题

java静态初始化问题

GCT1015 2018-07-06 17:23:12
public static void main(String[] argv) {    int i, j=3;     Scanner input = new Scanner(System.in);     i = input.nextInt();         int[] arr = new int[]{i,j};     System.out.println(arr[0]+" "+arr[1]);}以上程序在编译的时候读到int[]{i,j}时不应该就把arr[]的值初始化好了吗?应该因为i未初始化而无法通过编译啊,为什么还能通过编译,并输出正确的值?难道int[] arr = new int[]{i,j};也是动态初始化?
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

i 是个局部变量

查看完整回答
反对 回复 2018-07-14
?
偶然的你

TA贡献1841条经验 获得超3个赞

Java语言规范了解一下:

In the Java programming language, arrays are objects, are dynamically created(动态创建的), and may be assigned to variables of type Object. All methods of class Object may be invoked on an array.


查看完整回答
反对 回复 2018-07-14
?
Helenr

TA贡献1780条经验 获得超3个赞

i = input.nextInt();
这一句不就相当于进行初始化么?
如果没有这一句肯定报初始化异常,有了这一句也就意味着 i 的值在编译时是不能确定的。

查看完整回答
反对 回复 2018-07-14
  • 3 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信