首页 / JAVA / Java – 静态和动态数组初始化
Java – 静态和动态数组初始化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java – 静态和动态数组初始化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1595字,纯文字阅读大概需要3分钟。
内容图文
![Java – 静态和动态数组初始化](/upload/InfoBanner/zyjiaocheng/749/d4f7d288b28345d081d4eeab6a0e0745.jpg)
是否真的在运行时初始化的每个数组都是动态的
在编译期间初始化的每个数组都是静态的?
例如:
int array[];
public main() {
array = new int[100];
}
编译器知道数组有多少元素,因此它可以在编译期间启动它?或者我需要给每个int一个值,使它变为静态?
像这样:
int array[3] { 1, 2, 3};
并且可以定义一个数组在main()函数之外应该有多少个元素? (没有给每个int一个值)这样:
int array[100];
public main() {
}
我正在编写一个小游戏,它必须运行得非常快.我读动态数组需要更长的时间来处理,所以我想尝试使用静态数组,但我不确定数组何时变为静态或动态.
我在许多不同的教程中搜索,但我找不到答案.
谢谢阅读.
解决方法:
动态和静态分配的区别是不明确的(它在某种程度上取决于语言的含义).在最一般意义上,静态分配意味着某些大小已经预先确定,可能是在编译时.
在java中,任何对象(包括数组)总是在运行时分配.这并不一定意味着它的动态,它可能仍然是静态的,因为它无法在运行时更改.例:
public class Test1 {
public final int[] array1 = new int[10];
public int[] array2 = new int[20];
public void setArray2Size(int size) {
array2 = new int[size];
}
}
arrayFixed的大小为10,并且在运行时无法更改.请注意最终的关键字.这使您只能分配“array1”成员一次.因此,您无法为此成员分配不同的数组.
现在array2不是final,所以你可以在任何时候给它分配一个不同的数组,比如setArray2Size() – 方法.如果在初始赋值之后没有赋值,则array2在它无法更改的意义上仍然是静态的(因为没有代码可以这样做),尽管通过声明更改它是允许的.
一旦创建了数组的具体实例就无法调整大小(没有语言元素来表示在java中调整数组的大小).初学者有点难以理解,但像array2这样的变量不是数组.它是对数组的引用.但是,您可以将array2保存的引用替换为对另一个数组的引用,如setArray2Size() – 方法中的array2所示.
内容总结
以上是互联网集市为您收集整理的Java – 静态和动态数组初始化全部内容,希望文章能够帮你解决Java – 静态和动态数组初始化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。