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

导读:本篇文章讲解 Java动态数组和静态数组详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言必读

读者手册(必读)_云边的快乐猫的博客-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的数组就是动态数组直接给值的就是静态数组

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/112725.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!