Java-数组

文章目录

一.数组的概念

  数组可以理解成一个储存数据的容器。也可以理解成一个数据类型单一的,长度固定的,有序的数据结构。(数据在内存中储存,排列,组合的方式就是数据结构)

数据在电脑里面可以存在磁盘(永久储存)和内存(临时储存)之中。

二.数组的定义

在java中一维数组的定义的语法有两种方法:

1.类型 [ ] 数组名 = {......}; (静态定义)

举例:int [ ] arrs = { 1,2,3,4,5,6} ;

静态初始化:初始化时,就可以指定数组要存储的元素,系统还会自动计算出该数组的长度。

2.类型 [ ] 数组名 = new [ length ] ;

举例:String [ ] arrs = new String [4];

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。

三.数组的基本使用

1.操作数组的元素

数组元素的访问:

1.数组内存地址的访问

    格式:数组名

2.数组内部保存的数据的访问方式

    格式:数组名[ 索引 ]

{

索引是什么?干嘛用的?

作用:访问数组容器中的空间位置

}

索引是数组容器中空间的编号:

特征①:索引从0开始

特征②:索引是连续的

特征③:索引是逐一增加,每次加一

例如静态定义一个数组:int [] arr  = {11,22,33,44,55};

遍历通用格式:

for (int i =0;i<arr.length;i++){
System.out.println(arrs[i]);
}

2.数组在内存上的创建


3.数组常规操作

案例:获取最值,比如{190,230,33,290,789,765,498,210},求最大值和最小值

public class Test {
    public static void main(String[] args) {
        // 初始化一个一维数组
        int a[] = {190,230,33,290,789,765,498,210};
        // 定义一个变量表示最大值,默认数组的第一个元素就是最大值
        int max=a[0];
         // 定义一个变量表示最小值,默认数组的第一个元素就是最小值
        int min = a[0];
        // 遍历数组
        for (int i=0;i<a.length;i++){
            // 把数组里的每个元素分别和最大值,最小值做比较
            if(a[i]>max){
                max = a[i];
            }else{
                max=max;
            }
            if(a[i]<min){
                min = a[i];
            }else{
                min = min;
            }
        }
        System.out.println(max);
        System.out.println(min);
    }
}

例题:案例:键盘录入5个整数,存储到数组中,并对数组求和

public class Test {
    public static void main(String[] args) {
        // 控制台打印出提示信息
        System.out.println("请输入5个数字");
        //定义一个数组用来装控制台输入的数字
        int a[] = new int[5];
        // 定义一个变量用来表示最大值
        int sum = 0;
        // 循环控制台输入次数,并把输入的数字赋值到数组容器
         Scanner s = new Scanner(System.in);
        for (int i=0;i<a.length;i++){
            a[i] = s.nextInt();
        }
        // 取出数组中每个元素,并对其求和
        for (int j=0;j<a.length;j++){
            sum +=a[j];
        }
        // 打印输出求和结果
        System.out.println(sum);
    }
}

二维数组

1.二维数组动态初始化

格式:数据类型 [ ][ ] 数组名 = new 数据类型[m][n];

m表示这个二位数组可以存放多少个一维数组

n表示每一个一维数组可以存放多少个元素

范例:int [ ] [ ] arr = new int [2][3];

该数组可以存放2个一维数组,每一个一维数组中可以存放3个int类型元素

2.二维数组静态初始化

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

范例: int [ ] [ ] arr = new int [ ] [ ] { {11,22},{33,44} };

3.二维数组遍历

案例:已知一个二维数组arr={{11,22,33},{33,44,55}};遍历该数组,取出所有元素并打印

思路:①遍历二维数组,取出里面每一个一维数组

②在遍历的过程中,对每一个一维数组继续完成遍历,获取内部存储的每一个元素

for(int i =0;i<arr.length;i++){
//arr[i]就是每一个一维数组
    for(int j =0;j<arr[i].length;j++){
        //打印二维数组
        System.out.println(arr[i][j]);
    }
}

 例题

public class Test {
    public static void main(String[] args) {
        // 定义一个二维数组并初始化值
       int a[][] = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
        // 定义一个求和的变量
       int sum = 0;
        // 遍历二维数组并求和
       for (int i=0;i<a.length;i++){
           for (int j=0;j<a[i].length;j++){
               sum+=a[i][j];
           }
       }
        // 输出求和结果
        System.out.println(sum);
    }
}

注意

数组操作中的常见小问题:

①索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题

②空指针异常:访问你的数组已经不再指向堆内存的数据。造成空指针异常

③null:空值,引用数据类型的默认值,表示不指向任何有效对象

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值