Java数组篇02——数组初始化及拓展

简介: Java数组篇02——数组初始化及拓展

Java数组篇02——数组初始化及拓展

无冥冥之志者,无昭昭之明,无昏昏之事者,无赫赫之功。——荀子

本篇笔记简介0.思维导图-->1.数组初始化-->2.数组边界-->3.小结-->4.拓展补充

目录

0、思维导图

1、数组初始化

数组初始化主要分为三种:静态初始化动态初始化以及数组的默认初始化

下面逐一介绍:

1.1静态初始化

除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

int[] a = {1,2,3};
Student[] stus = {new Student(1,1),new Student(2,2)};

1.2动态初始化

数组定义、为数组元素分配空间、赋值的操作、分开进行

int[] a = new int[2];
a[0]=1;
a[1]=2;

1.3数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

ps: 隐式初始化,可以理解为默认初始化。

public static void main(String[] args) {
    int[] a=new int[2];
    boolean[] b = new boolean[2];
    String[] s = new String[2];
    System.out.println(a[0]+":"+a[1]); 
    System.out.println(b[0]+":"+b[1]); 
    System.out.println(s[0]+":"+s[1]); 
  }

输出结果,如图

2、数组边界

下标的合法区间:[0, length-1],如果越界就会报错

public static void main(String[] args) {
int[] a=new int[2];
System.out.println(a[2]);
}

输出结果,如图

★ps: ArrayIndexOutOfBoundsException : 数组下标越界异常!

3、小结

  • ① 数组是相同数据类型(数据类型可以为任意类型)的有序集合。
  • ② 数组也是对象。数组元素相当于对象的成员变量。
  • ③ 数组长度的确定的,不可变的。如果越界,则报:ArrayIndexOutofBounds。

4、拓展补充:Java内存

4.1 栈(Stack)

在栈内存中保存的是堆内存空间的访问地址,或者说栈中的变量指向堆内存中的变量。

连续的存储空间,遵循后进先出的原则,用于存放局部变量。

4.2 堆(Heap)

堆内存用来存放由new创建的对象实例和数组。

不连续的空间。

4.3 方法区(Method)

方法区是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据

方法区在堆空间内,用于存放

 ①类的代码信息;

 ②静态变量和方法;

 ③常量池。

思维图示:


作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)

★喜欢的话,还请多多点赞与关注!❤ 感谢支持!❤

笔记更新随个人学习进度而进行,欢迎评论交流学习!


目录
相关文章
|
1月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
|
18天前
|
Java
Java 静态变量的初始化顺序
【10月更文挑战第15天】了解 Java 静态变量的初始化顺序对于正确编写和维护代码至关重要。通过深入理解初始化顺序的原理和细节,我们可以更好地避免潜在的问题,并提高代码的质量和可靠性。
|
23天前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
31 4
|
23天前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
19 2
|
1月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
|
1月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
43 9
|
1月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
22 3
|
1月前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
23 3
|
1月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
23 1
|
1月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
14 1