2021.1.17 java Day4

数组

定义

数组:存储同一种数据类型的多个元素的容器;

    定义格式:
            A:数据类型[] 数组名;(推荐使用方式)
            B:数据类型 数组名[];

            举例:
            int[] arr;   定义了一个int类型的数组,数组名是arr
            int arr[];   定义了一个int类型的变量,变量名是arr数组

    数组初始化
            A:动态初始化   只给出长度,由系统给出初始化值
            B:静态初始化   给出初始化值,由系统决定长度

    动态初始化:
            数据类型[] 数组名= new 数据类型[数组长度]

举例:

public class ArrayDemo_01 {
    public static void main(String[] args) {
        //数据类型[] 数组名= new 数据类型[数组长度];
        int[] arr = new int[3];
        /*
            左边:
                    int:说明数组中的元素类型是int类型;
                    []:说明是一个数组;
                    arr:数组名称;
            右边:
                    new:为数组申请分配空间;
                    int:说明数组中的元素类型是int类型;
                    []:说明是一个数组;
                    3:说明数组长度,其实就是数组的个数

如何获取数组中的元素

//输出数组名
        System.out.println(arr);   //[I@1b6d3586
        /*
            通过输出数组,我们得到一个地址,但是这个对我们说没有意义
            我们获取的数组中的元素值,能不呢能不能获取到呢?能
            怎么获取?
            每个数组都有编号,从0开始,最大的编号是 (数组长度-1)
            通过数组名和编号的配合我们就能获取数组中指定编号的元素值
            编号正确的叫法:索引
            获取数组元素的各式: 数组名[索引]
         */
        System.out.println("arr[0]:"+arr[0]);//0
        System.out.println("arr[1]:"+arr[1]);//0
        System.out.println("arr[2]:"+arr[2]);//0
    }

数组静态初始化

package com.itheima2;
/*
    静态初始化:给出数组中的元素值,有系统决定数组长度

    格式:
            数据类型[] 数组名= new 数据类型[] {元素1,元素2,元素3,...};

    举例:
            int[] arr = new int[]{1,2,3,...}

    简化格式:
            数据类型[] 数组名= {1,2,3,...};
 */
public class ArrDemo {
    public static void main(String[] args) {
        int[] arr = {1,2,3};
        System.out.println("arr:"+arr);
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

数组常见的两个问题

package com.itheima2;
/*
        两个常见的小问题:
        ArrayIndexOutOfBoundsException:数据索引越界异常
            如何产生呢?我们访问了不存在的索引。

        NullPointerException:空指针异常
            如何产生呢?null是指不再指向堆内存的数据,而我还在访问堆内存的数据。
 */
public class ArrDemo2 {
    public static void main(String[] args) {
        int[] arr={1,2,3};

        //访问数组中的元素
       // System.out.println(arr[3]);

        /*
        引用数据类型:类,接口,数组
        常量:null,它可以赋值给引用类型的,表示该引用不再指向堆内存的数据。
         */
        arr = null;
       // System.out.println(arr[0]);
    }
}

数组遍历

数组遍历是依次输出数组中的每一个数据,可以对数据进行整理。求和、最大值、最小值。一般使用for循环,(数组长度)数组名.length

数组可以推算有规律的数据,并记录值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值