int[] arr = {1, 2, 3, 4, 5}; // 初始化一个整数数组
String[] arr = {"Alice", "Bob", "Charlie"}; // 初始化一个字符串数组
Java 5及更高版本支持数组初始化表达式,允许你在创建数组时同时为其赋初值:
int[] arr = new int[] {1, 2, 3, 4, 5}; // 使用数组初始化表达式
int[] arr = new int[5]; // 创建一个包含5个整数的数组,初始值为0
// for 循环赋值
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1; // 为数组元素赋值
}
// 使用Arrays类的方法初始化
Arrays.fill(arr, 7); // 填充整个数组
int[] oldArray = new int[10];
int[] newArray = new int[20];
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
// 更新引用
oldArray = newArray;
int[] intArray = new int[5]; // 所有元素初始化为0
char[] charArray = new char[3]; // 所有元素初始化为'\u0000'
boolean[] booleanArray = new boolean[4]; // 所有元素初始化为false
int 数组的默认值是0
double 数组的默认值是0.0
float 数组的默认值是0.0f
char 数组的默认值是'\u0000',即空字符
byte 数组的默认值是0
short 数组的默认值是0
long 数组的默认值是0L
boolean 数组的默认值是false
对象数组(数组元素为引用类型),默认值是null
int[] arr = new int[Integer.MAX_VALUE + 1];
Exception in thread "main" java.lang.NegativeArraySizeException
at com.example.springboottestmaven.Test.main(Test.java:44)
int[] arr = new int[Integer.MAX_VALUE - 1];
Exception in thread "main" java.lang.NegativeArraySizeException
at com.example.springboottestmaven.Test.main(Test.java:44)
Exception in thread "main" java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at com.example.springboottestmaven.Test.main(Test.java:44)
// 具体的内存布局可能会受到Java虚拟机的实现和底层硬件的影响,因此不同的系统和编译器可能会有不同的细节。
+---+---+---+ +---+---+---+ +---+---+---+
| 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 |
+---+---+---+ +---+---+---+ +---+---+---+
Row 1 Row 2 Row 3
# Tips
Java数组在内存中的存储是由Java虚拟机(JVM)和底层硬件来管理的,开发者不直接操作内存地址。
因此,数组的底层存储方式可能在不同的JVM实现和硬件平台上有所不同.
上述说明提供了一种一般性的概念,实际实现可能有细微差异。
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。
🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。
💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。
🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。
📖 保持关注我的博客,让我们共同追求技术卓越。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。