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

前言必读

读者手册(必读)_云边的快乐猫的博客-CSDN博客

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

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的数组就是动态数组直接给值的就是静态数组

 

你可能感兴趣的:(Java知识,java,数组,静态数组和动态数组,idea,intellij-idea)