Java基础核心-5

数组

数组的概念

数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器 数组既可以存储基本数据类型,也可以存储引用数据类型
数组是一组相关数据的集合,一个数组实际上就是一连串的变量.

数组声明与使用

数据类型[] 数组名 = 初值

例:int[] array = new int[5]

注意:[ ]中5就是数组array的长度
数组的长度一旦给定 就不能修改

数组: 内存空间连续的一块区域,用来存储同一种数据类型的多个元素
重点:
1 连续 同一种数据类型
2 索引: 从0开始

 *  1 索引:从0开始,到数组的长度-1结束
 *  2 数据的长度: 数组名.length
 *   3 数组名[索引]  定位数组中的元素

数组的三种使用方法:

// 第一种: 一般情况下,当我们不知道数据里面有什么内容的时候,我们会先声明一个数组,然后再去赋值
        int[] array = new int[5];

        array[0] = 1;
        array[1] = 3;
        array[2] = 5;
        array[3] = 6;
        array[4] = 7;

        // 第二种 ,一般不使用
        int[] array2 = new int[]{1,3,5,7,9};


        // 第三种, 虽然我们没有明确的指定数组的长度,但是一旦声明了以后,长度就固定了
        int[] array3 = {1,3,5,7,9};
//        array3[5] = 10;

数组的工具类:Arrays的使用

1 Arrays.toString(array) 数组的打印
System.out.println(Arrays.toString(array));

2 Arrays.sort(array); 数组的排序
会在原来的数组上修改

3 Arrays.copyOf(要复制的数组,指定新数组的长度)
会得到一个新的数组
案例:

   int[] arrays = {50,20,11,8,4,21,19};
   //打印  Arrays.toString(arrays)
   System.out.println(Arrays.toString(arrays));
   //排序  先排序后打印 sort升序,
   Arrays.sort(arrays);
   System.out.println(Arrays.toString(arrays));
   //扩容  先扩容后打印      Arrays.copyOf(组名, 长度); 重新定义一个数组
   int[] ints = Arrays.copyOf(arrays, arrays.length + 1);
   System.out.println(Arrays.toString(ints));

掌握数组常用操作

最大最小值
int[] array01 = {10,50,8,6,9,60,80};
        // 最大值
        // 第一种排序
        int max = array01[0];
        for (int i = 0; i < array01.length; i++) {
            if (max < array01[i]){
                max = array01[i];
            }
        }
        System.out.println(max);
        //第二种方式
        Arrays.sort(array01);
        System.out.println(array01[array01.length-1]);
        //最小值
        //第一种方式
        int min = array01[0];
        for (int i = 0; i < array01.length; i++) {
            if (min > array01[i]){
                min = array01[i];
            }
        }
        System.out.println(min);
        //第二种方式
        Arrays.sort(array01);
        System.out.println(array01[0]);
数据元素的位移

在这里插入图片描述

//原理:将第一个数一直往后换所以只换索引为0的数
       int[] arrays = {1,2,3,4,5};
       for (int i = 0;i < arrays.length;i++){
                int temp = arrays[0];
                arrays[0] = arrays[i];
                arrays[i] = temp;
        }
        System.out.println(Arrays.toString(arrays));
冒泡排序法
int[] arrays = {5,7,2,16,8,3,78,51};
        //升序
        for (int i = 0;i < arrays.length-1;i++){
            for (int j = 0;j < arrays.length-1-i;j++){
                if (arrays[j] > arrays[j+1]){
                    int temp = arrays[j+1];
                    arrays[j+1] = arrays[j];
                    arrays[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arrays));
        System.out.println("================");
        // 降序
        for (int i = 0; i < arrays.length-1; i++) {
            for(int j = 0;j < arrays.length-1-i;j++){
                if (arrays[j] < arrays[j+1]){
                    int temp = arrays[j+1];
                    arrays[j+1] = arrays[j];
                    arrays[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arrays));

二维数组

<数据类型> [ ][ ] 数组名; 或者 <数据类型> 数组名 [ ][ ];

方法一、

      int [ ][ ] scores;   		 //定义二维数组
  	  scores=new int[5][50]; 		 //分配内存空间

//或者
方法二、

      int [ ][ ] scores = new int[5][50]; 

注意:定义二维数组时,要定义最大维数

例:

int [ ][ ] scores = new int[5][];
//第二行这种是错误的
int [ ][ ] scores = new int[][];

二维数组实际上是一个以一维数组做为元素的一维数组
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值