Java动态数组和静态数组详解

简介: 概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致,不能出现混合类型

数组:

概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致,不能出现混合类型


1.什么数据类型就只能储存什么数据元素,比如int只能储存整形数组


2.数组有定长特性,长度一旦指定,就只能存储固定长度


3.要输出数组中的全部值,要一个个for循环遍历,然后打印输出


4.使用场景:知道要存入的元素值,用静态初始化\未知要数组中放入什么元素值,用动态初始化


1.两种常见初始化方式:


动态初始化(指定长度):

使用场景:只指定数组长度,后期赋值,适合开始就知道数据的数量,但是不确定具体元素值的业务场景(先定义长度再赋值)


数组存储的数据类型[ ] 数组名字 = new 数组存储的数据类型[数组长度];----常用

数组存储的数据类型 数组名字[ ] = new 数组存储的数据类型[数组长度];


代码例子:

package one;
public class a {
        public static void main(String[] args) {
            //动态初始化数组,
        int[]a = new int[5];//1.先new一个数组长度,可以放5个int类型数据
            a[0] = 10;//2.给a数组一个个具体赋值
            a[1] = 20;
            a[2] = 30;
            a[3] = 40;
            a[4] = 50;
            //具体输出数组一个值
            System.out.println(a[2]);
            //3.高效率遍历输出全部数组值用for循环
            for (int i = 0; i < a.length; i++) {//快捷键:数组名.fori+回车
                System.out.println(a[i]);//输出i遍历到的所有数组a的值
            }
    }
}

运行结果:

30

10

20

30

40

50

静态初始化(指定内容):

使用场景:开始就存入元素值,适合一开始就能确定元素值的业务场景(第一步就直接赋值给数组)


语法:


数据类型[] 数组名 = {元素1,元素2,元素3…};----常用

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};


代码例子:

package one;
public class a {
    public static void main(String[] args) {
        //静态初始化数组,直接赋值
        int[]a = {1,2,3,4,5,6,7,8,9};
        //只能一个个去输出数组中的具体值
        System.out.println(a[0]);//数组索引从0开始.这里索引0,也就是索引到第一位数字1
        //高效率遍历输出数组值用for循环
        for (int i = 0; i < a.length; i++) {//i遍历数组a的全部值.快捷键:数组名.fori+回车
            System.out.println(a[i]);//输出数组中的所有值
        }
    }
}

运行结果:

1

1

2

3

4

5

6

7

8

9

数组越界报错:ArrayIndexOutOfBoundsException


解决方法:检测for循环遍历的位数,有没有超过数组本身的位数,注意:=号是有包含进去的


题外话:


定义的初始值都是在栈里面,后面new出来的东西都是在堆中


辨别数组:有new的数组就是动态数组,直接给值的就是静态数组


目录
相关文章
|
18天前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
31 4
|
18天前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
17 2
|
26天前
|
存储 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 中的交错数组?
42 9
|
1月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
19 3
|
1月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
22 6
|
1月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
22 1
|
1月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
13 1
|
26天前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
34 0
|
1月前
|
存储 机器学习/深度学习 Java
【Java】数组详解
【Java】数组详解
28 0
下一篇
无影云桌面