欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第二章_Java中数组的基础学习

程序员文章站 2022-07-14 19:48:34
...

数组基础学习

1.概念

​ 数组是一个容器,用来存储一批特定类型的数据。

​ 数组中的每一个数据也称为数组中的元素,元素 = 数据

2.数组的定义

​ 假如需要处理一个班级中所有学生的成绩,此时使用变量定义太过于繁琐,我们就可以定义一个数组来存放所有学生的成绩。这时候使用数组更加方便,适合。

a.静态初始化数组
格式一

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

格式一详解:

​ 1.数据类型:就是java的数据类型,基本数据类型,引用数据类型

​ 2.[]数组的固定格式,代表一个数组类型

​ 3.数组的名称:首字母建议小写,“小驼峰模式”
​ 要有意义,不能是关键字,必须是合法字符。

​ 4.= :赋值,把右边的数组对象交给数组名称代指

​ 5.new :新建,创建数组容器
​ 6.{元素1,元素2……},罗列数组中存在的元素

格式二

​ 数组类型 [] 数组名称 = {元素1,元素2……};

public class Test {
    public static void main(String[] args) {
        //格式一
       int[] arr1 = new int[]{1,2,3,4,5};
       //格式二
        int[] arr2 = {1,2,3,4,5};
    }
}

小结:
静态初始化实在数组定义出来以后,元素就也应该确定出来
什么类型的数组只能存放什么类型的数据,否则报错

b.动态初始化数组
格式三

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

public class Test {
    public static void main(String[] args) {
        //格式一
       int[] arr1 = new int[]{1,2,3,4,5};
       //格式二
        int[] arr2 = {1,2,3,4,5};
        //格式三
        int[] arr3 = new int[5];
        
        //不常用格式
        int arr4[] = {};
    }
}

注意:

​ 1.在定义的时候并不会给数组申明元素值
​ 2.但是要在定义的时候申明数组的元素个数,我们称为数组的长度

3.数组的访问

3.1索引

​ 数组存在元素编号,编号从0开始,这个编号称为索引。

​ 由于数组的索引是从0开始的,所以数组的最大索引是 :数组的长度-1

​ 根据索引访问数组中的元素

​ 取值:数组名称[元素索引]

​ 赋值:数组名称[元素索引] = 元素值;

public class Test {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr= {1,2,3,4,5};
        //取值
        System.out.println("0号索引的元素是:"+arr[0]);
        //赋值
        arr[3] = 10;
        System.out.println("3号索引的元素重新赋值后是:"+arr[3]);

    }
}

执行效果:

第二章_Java中数组的基础学习

3.2访问数组的长度
public class Test {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr= {1,2,3,4,5};
        //取值
        System.out.println("0号索引的元素是:"+arr[0]);
        //赋值
        arr[3] = 10;
        System.out.println("3号索引的元素重新赋值后是:"+arr[3]);

        //访问数组的长度
        int length = arr.length;
        System.out.println("数组的长度是:"+length);
    }
}

执行效果:
第二章_Java中数组的基础学习

注意:

​ 数组中的最大索引是 数组.length -1。

​ 因为数组的索引是从0开始的。

4.数组的遍历

什么是遍历?

​ 就是一个一个的访问所有的数据

为什么要遍历?

​ 为了从一批数据中找出一些信息。

​ 如:求最大值,平均值

public class Test {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr= {1,2,3,4,5};
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println("索引:"+i+
                                ",值:"+arr[i]);
        }
    }
}

执行效果:

第二章_Java中数组的基础学习

5.数组中最大值的获取(基本编程思想)

public class Test {
    public static void main(String[] args) {
        //定义一个数组
        int[] arr= {1,2,3,4,5};
        //遍历数组求最大值
        int max = 0 ;
        for (int i = 0; i < arr.length; i++) {
            //如果定义的参照变量小于当前值,就把当前值赋值给最大值
           if (max<arr[i]){
               max = arr[i];
           }
        }
        System.out.println("最大值:"+max);
    }
}

执行效果:

第二章_Java中数组的基础学习

6.数组的内存位置

​ 我们把 JVM虚拟机 的内存简单的看做两部分,分别是栈和堆。

​ 栈:栈中存放的都是方法,例如我们程序的入口main方法就是存放在这里,栈中的

的数据存放和子弹上膛一样,先进后出。

栈图解:

第二章_Java中数组的基础学习

​ 堆: 堆内存的简单理解就是new所创建出来的东西,我们的数组也是new出来的,所以都是存储在堆内存中。