java数组赋值后可以更改吗_我们可以为Java中的最终数组赋值吗?

数组是一个容器,可以容纳固定数量的项目,这些项目应为同一类型。大多数数据结构都利用数组来实现其算法。以下是理解数组概念的重要术语。元素-存储在数组中的每个项目称为元素。

索引-数组中元素的每个位置都有一个数字索引,用于标识元素。

数组的大小将在创建时确定。

示例public class ArrayExample {

public static void main(String args[]){

//声明数组

int[] myArray = {233, 783, 453};

//打印数组

for(int i=0; i

System.out.println(myArray[i]);

}

}

}

输出结果233

783

453

最终变量

如果稍后声明了最终变量,则无法修改或为其分配值。此外,像实例变量一样,最终变量将不会使用默认值初始化。

因此,必须在声明最终变量后初始化它们。

尽管如此,如果您尝试声明未经初始化的最终变量,则会产生编译错误,提示“变量variable_name未在默认构造函数中初始化”。

示例public class FinalVariables {

public static void main(String args[]){

final int j = 10;

j = 220;

}

}

最终数组

但是,在使用数组的情况下,您可以将数组声明为final,并且仍然可以为其重新分配值,而不会产生任何编译时错误。

示例public class FinalArrays {

public static void main(String args[]){

//声明数组

final int[] myArray = {233, 783, 453};

//打印数组

for(int i=0; i

System.out.println(myArray[i]);

}

//更改数组的值

myArray[0] = 2020;

myArray[1] = 3040;

myArray[2] = 4060;

for(int i=0; i

System.out.println(myArray[i]);

}

}

}

输出结果233

783

453

2020

3040

4060

其原因与变量不同,数组是对象,并且它们不保存值,而是指向保存值的位置的地址。

对于对象和数组,如果引用变量是最终变量,则它不能指向另一个对象/数组。如果尝试这样做,则会生成编译时错误。

示例public class FinalArrays {

public static void main(String args[]){

//声明数组

final int[] myArray1 = {233, 783, 453};

//打印数组

System.out.println(myArray1);

int[] myArray2 = {233, 783, 453};

myArray2[0] = 2020;

myArray2[1] = 3040;

myArray2[2] = 4060;

myArray1 = myArray2;

}

}

输出结果

编译时错误inalArrays.java:14: error: cannot assign a value to final variable myArray1

myArray1 = myArray2;

^

1 error

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值