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

 


目录
相关文章
|
1月前
|
存储 Java 索引
个人笔记—Java基础—数组
该内容是关于数组的介绍。数组是一种容器,用于存储同类型的多个值。初始化有静态和动态两种方式:静态初始化是在创建时直接指定元素,有完整和简写格式;动态初始化则只指定类型和长度,不给定具体元素。访问数组元素通过索引,从0开始,修改元素是`数组名[索引] = 值`,数组长度是`数组名.length`。遍历数组通常用for循环。内存分配上,类信息和静态数据存放在方法区,栈内存负责方法执行和局部变量,堆内存用于new出的对象和数组,有默认初始值。
20 0
|
23天前
|
存储 Java 程序员
Java 数组
4月更文挑战第16天
|
22小时前
|
存储 Java ice
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
8 3
|
2天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
7 3
|
4天前
|
Java 索引
Java中数组详解
Java中数组详解
44 19
|
4天前
|
Java
解析java中的数组
解析java中的数组
12 3
|
5天前
|
存储 安全 Java
Java一分钟之-数组的创建与遍历
【5月更文挑战第8天】本文介绍了Java中数组的基本概念、创建与遍历方法,强调了类型匹配和数组越界问题。示例展示了如何创建整数数组并初始化元素,同时提供了避免数组越界的策略。对于遍历,文章提到了for循环和增强型for循环,并给出了防止错误的建议,如正确声明类型、初始化数组、安全索引操作及使用合适的数据结构。遵循这些指导可帮助开发者有效管理Java数组并减少错误。
17 0
|
14天前
|
存储 Java 索引
Java数组
Java数组
23 0
|
14天前
|
存储 算法 Java
【Java探索之旅】掌握数组操作,轻松应对编程挑战
【Java探索之旅】掌握数组操作,轻松应对编程挑战
12 0
|
14天前
|
存储 Java C语言
【Java探索之旅】基本类型与引用类型 数组的应用 二维数组
【Java探索之旅】基本类型与引用类型 数组的应用 二维数组
14 0