六、Java数组

目        录

(一)数组

(一)概念

(二)数组的创建

①动态初始化

②静态初始化

③创建步骤

(三)数组的长度

(四)数组入门代码测试

(五)数组的遍历

(六)遍历测试

(二)数组工具类Arrays

(一)Arrays.toString(数组名)

(二)Arrays.sort(数组名)

(三)Arrays.copyOf(数组名,新长度)

(四)数组工具类Arrays测试

(三)二维数组(扩展)

(一)概念

(二)二维数组的创建格式:

(三)二维数组的遍历

(四)二维数组代码测试


(一)数组

(一)概念

用于存储多个相同类型数据的集合,数组(Array),标志是[ ]。

(二)数组的创建

数组的创建方式一般分为动态初始化和静态初始化。

①动态初始化

int[] a=new int[5];

②静态初始化

int[] b=new int[]{1,2,3};
​
int[] c={1,2,3};

③创建步骤

1、在内存中开辟了连续的空间,用来存放数据,长度为n(整型数据)。

2、给数组完成初始化过程,给每个元素赋予默认值。

3、数组在完成初始化后分配一个唯一的地址值。

4、再将唯一的地址值交给引用类型的变量去保存。

注:数组名是个引用类型的变量,保存的是数组的地址,而非数组中的数据。

(三)数组的长度

数组的长度用length属性来表示,一旦创建,长度就不可改变,允许数组为0,。

获取数组的(某个)元素值,是通过数组下标来获取,下标从01开始,在length-1处结束。

(四)数组入门代码测试

image-20210807113400715

package cn.tedu.basic;
import java.util.Arrays;
public class TestCreateArray {
    public static void main(String[] args) {
        char[] c2 = new char[] {'h','e','l','l','o'};
        char[] c3 = new char[5];
        c3[0] = 'h';
        c3[1] = 'e';
        c3[2] = 'l';
        c3[3] = 'l';
        c3[4] = 'o';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        String[] s = {"a","b","c"};
        System.out.println(s);
        System.out.println(Arrays.toString(s));
        System.out.println(c2.length);
        System.out.println(s.length);
    }
}

(五)数组的遍历

从头到尾,依次获取数组里的每一个元素,打印输出或排序。

格式:

for(int i=0;i<=Array.length-1;i++){
        循环体
        }

(六)遍历测试

package cn.tedu.exercise;
​
import java.util.Arrays;
​
public class Inner{
    public static void main(String[] args) {
        int[] a=new    int[10];
        for(int i=0;i<a.length-1;i++){
            a[i]=i+1;
        }
        System.out.println(a);
        System.out.println(Arrays.toString(a));
    }
}

(二)数组工具类Arrays

(一)Arrays.toString(数组名)

将数组里的数据以逗号相隔的方式输出字符串。

(二)Arrays.sort(数组名)

对数组进行排序,基本类型的数组使用的是优化后的快速排序,对于引用类型数组使用的的是优化后的合并排序算法。

(三)Arrays.copyOf(数组名,新长度)

把当前数组赋值给一个指定了新的长度的新数组。

若是新的数组长度是大于原数组,相当于复制,增添了位置;

若是新的数组长度是小于原数组,相当于截取,删除了位置。

(四)数组工具类Arrays测试

package cn.tedu.exercise;
​
import java.util.Arrays;
​
public class Inner{
    public static void main(String[] args) {
        int[] a={2,5,1,7,9,6,5};
        int[] b=Arrays.copyOf(a,5);
        System.out.println("长度变小,截取:"+Arrays.toString(b));
        int[] c=Arrays.copyOf(a,10);
        System.out.println("长度变大,复制:"+Arrays.toString(c));
        Arrays.sort(a);
        System.out.println("排序后的数组:"+Arrays.toString(a));
    }
}

(三)二维数组(扩展)

(一)概念

存放数组的数组,数组里存放的数据还是数组。

image-20210807140825521

(二)二维数组的创建格式:

int[][] a={{3,5},{8,4},{2,5}};

外部数组长度:3

内部数组长度:2

需给每个内部数组初始化,二维数组有唯一的地址值,并会把地址值交给引用类型变量a来保存。

(三)二维数组的遍历

外层for循环加内层for循环:

for(int i=0;i<=d.length-1;i++){
    for (int j=0;j<d[i].length-1;j++)
    {
    }
}

(四)二维数组代码测试

package cn.tedu.exercise;
​
import java.util.Arrays;
​
public class Inner{
    public static void main(String[] args) {
        int[][] d={{3,5},{8,4},{2,5}};
        for(int i=0;i<=d.length-1;i++){
            for (int j=0;j<=d[i].length-1;j++)
            {
                System.out.println(d[i][j]);
            }
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值