Java数组详细介绍(一)

简介: Java数组详细介绍(一)

1.数组



1.1 数组介绍


数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。


1.2 数组的定义格式



1.2.1 第一种格式


数据类型[] 数组名


示例:


int[] arr;        
double[] arr;      
char[] arr;


1.2.2 第二种格式


数据类型 数组名[]


示例:


int arr[];
double arr[];
char arr[];


1.3 数组的动态初始化


1.3.1 什么是动态初始化


数组动态初始化就是只给定数组的长度,由系统给出默认初始化值


1.3.2 动态初始化格式


数据类型[] 数组名 = new 数据类型[数组长度];


int[] arr = new int[3];


1.3.3 动态初始化格式详解


  • 等号左边:


  • int:数组的数据类型


  • []:代表这是一个数组


  • arr:代表数组的名称


  • 等号右边:


  • new:为数组开辟内存空间


  • int:数组的数据类型


  • []:代表这是一个数组


  • 5:代表数组的长度


代码 :


package com.itheima.array;
public class Demo2Array {
    /*
        数组的动态初始化:
                        在初始化的时候, 需要手动指定数组的长度, 系统会为数组容器分配初始值.
        动态初始化格式:
                        数据类型[] 数组名 = new 数据类型[数组的长度];
        注意:
                        打印数组变量的时候, 会打印出数组的内存地址
        [I@10f87f48 :
                        @ : 分隔符
                        [ : 当前的空间是一个数组类型
                        I : 当前数组容器中所存储的数据类型
                        10f87f48 : 十六进制内存地址
                                0 1 2 3 4 5 6 7 8 9 a b c d e f
     */
    public static void main(String[] args) {
        // 数据类型[] 数组名 = new 数据类型[数组的长度];
        // 通过new关键字创建了一个int类型的数组容器, 该容器可以存储5个int类型的整数, 该容器被arr数组变量所记录
        int[] arr = new int[5];
        // [I@10f87f48
        System.out.println(arr);
        byte[] bArr = new byte[3];
        // [B@b4c966a
        System.out.println(bArr);
    }
}


1.4 数组元素访问



1.4.1 什么是索引


每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。


这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。


1.4.2访问数组元素格式


数组名[索引];


1.4.3示例代码


package com.itheima.array;
public class Demo3ArrayIndex {
    /*
        数组动态初始化:
                初始化的时候, 手动指定数组长度, 系统会为数组容器分配初始值.
        数组的元素访问格式:
                数组名[索引]
                索引: 数组中数据的编号方式, 编号从0开始
                作用: 访问数组容器中的空间位置
        注意:
                数组在创建完毕后, 即使没有赋值, 也可以取出, 但取出的元素都是默认初始化值.
     */
    public static void main(String[] args) {
        int[] arr = new int[3];         // 0 1 2
        System.out.println(arr);        // 数组的内存地址  [I@10f87f48
        // 数组名[索引]  访问数组容器中的空间位置
        System.out.println(arr[0]);     // 0  系统自动分配的默认初始化值
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println("--------------");
        // 数组名[索引]
        arr[0] = 11;
        arr[1] = 22;
        arr[2] = 33;
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}


1.5 内存分配



1.5.1 内存概述


内存是计算机中的重要原件,临时存储区域,作用是运行程序。


我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。


必须放进内存中才能运行,运行完毕后会清空内存。


Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。


1.5.2 java中的内存分配


  • 目前我们只需要记住两个内存,分别是:栈内存和堆内存



image.png


1.6 Java内存分配-一个数组内存图



image.png


1.7 两个数组内存图



image.png


1.8 多个数组指向相同内存图



image.png

 


目录
相关文章
|
27天前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
31 4
|
27天前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
22 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 中的交错数组?
45 9
|
1月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
22 3
|
1月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
28 6
|
1月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
23 1
|
1月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
14 1
|
1月前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
|
1月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
35 0
下一篇
无影云桌面