java中数组的使用

数组中有好多知识,下面我会从六个方面说起,让大家对数组有一定的认识以及会使用数组

目录

1、数组的作用

2、数组的定义

3、数组的遍历

4、数组的案例

5、数组的内存图

6、数组使用的常见问题


1、数组的作用

        数组就是一个容器,用于在存储中存储一批同种类型的数据

2、数组的定义

        静态初始化数组:①格式1:数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3,...}

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

                                     ③特点:在定义数组的时候同时为数组定义了数据

                                     ④使用场景:一旦确定了数据的具体值,我们就用这种方式存储批量数据。

        动态初始化数组:①格式3:数据类型[] 数组名称 == new 数据类型[长度];

                                     ②特点:开始只确定数组的类型和长度,不确定具体存入的数据值

                                     ③使用场景:适合做一开始不确定具体数据的情况,先定义数组,后赋值诗句进去.

        数组的访问:        格式:数组名称[索引]

                                      取值:int data = arr[1];

                                      赋值:arr[1] = 222;

                                      长度:arr.length

        数组的注意事项:①什么类型的数组只能存放什么类型的数据。

                                     ②数据类型[] 变量名称 可以写成 数据类型 变量名称[]

                                     ③数组一旦定义出来,程序执行的过程中,长度、类型就固定了。

        动态初始化的元素存在默认值:   数据类

   数据类型                         明细             默认值
   基本类型     byte、short、char、int、long                 0
     float、double                0.0
     boolen               false
   引用类型     类、接口、数组、string               null

3、数组的遍历

        数组的遍历:     ①什么是遍历?          一个一个的访问数据

                                   ②为什么要遍历?      业务开发中都需要用到,统计数据,搜索数据,...

                                   ③数组如何遍历:     

int[] ages = {20,30,40,50};
for (int i = 0; i < ages.length; i++){
    System.out.println(ages[i]);
}

4、数组的案例

           需求:5个 1-20之间的随机数,让用户猜,猜中要提示猜中,还要输出该数据在数组中的第一次出现的索引
           没有猜中继续猜

package com.itheima.create;

import java.util.Random;
import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        //需求:5个 1-20之间的随机数,让用户猜,猜中要提示猜中,还要输出该数据在数组中的第一次出现的索引
        //没有猜中继续猜

        //1、定义一个初始化的数组存储5个随机的1-20之间的数据
        int[] data = new int[5];

        //2、动态的生成5个1-20之间的随机数并存入到数组中去。
        Random r = new Random();
        for (int i = 0; i < data.length; i++) {
            data[i] = r.nextInt(20)+1;
        }

        //使用一个死循环让用户猜测
        OUT:
        while (true){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个1-20的整数进行猜测");
        int GuessData = sc.nextInt();

        //4、遍历数组中的每个数据,如果猜对了,给出提示
        for (int i = 0; i < data.length; i++) {
            if (GuessData == data[i]) {
                System.out.println("恭喜猜中了,索引是" + i);
                break OUT;//结束整个死循环,代表游戏结束了。
                }
            }
            System.out.println("重猜");
        }
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i]+"\t");
        }
    }
}

5、数组的内存图

        java的内存分配: ①方法区:放Class文件的

                                     ②栈内存:运行的方法,main方法,定义的变量

                                     ③堆内存:new出来的对象,都在堆内存中

6、数组使用的常见问题

        ①不要访问超过数组最大的索引,否则会出现数组访问异常。

        ②空指针异常问题:int[] arr=null;

                        System.out.println(arr); // null

                        System.out.println(arr.lenth);//空指针异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值