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😊)

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

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


目录
相关文章
|
10天前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
|
6天前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
|
14天前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
38 9
|
12天前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
14 3
|
13天前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
18 3
|
17天前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
19 6
|
13天前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
19 1
|
14天前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
12 1
|
16天前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
26 1
|
25天前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。