• 数组


    一. 一维数组

    一维数组思维导图:

    一维数组实质上是一组相同类型数据的集合,当需要在程序中处理一组数据或者传播一组数据时,可以硬功这种类型的数组。

    1.创建一维数组

    数组作为对象允许使用new关键字进行内存分配。在使用数组前,必须首先定义数组变量所属的类型,即声明数组。声明一维数组有两种形式:

    数组元素类型  数组名字[];

    数组元素类型[]数组名字;

    数组元素类型:决定了数组的数据类型,它可以是Java中任意的数据类型,包括基本数据类型和非基本数据类型。

    数组名字:为一个合法的标识符。

    符号"[]":指明该变量是一个数组类型变量,单个"[]"表示要创建的数组是一堆数组。

    声明数组后,还不能访问它的任何元素,因为声明数组仅仅是给出了数组名字和元素的数据类型,要想真正使用数组还要为其分配内存空间,且分配内存空间时必须指明数组的长度。

    数组名字=new 数组元素类型{数组元素的个数};

    数组名字:已经声明的数组变量的名称。

    new: 对数组分配空间的关键字。

    数组元素的个数:指定数组中变量的个数。即数组的长度。

    说明:使用new关键字为数组分配内存时,数组中各个元素的初始化值都为0.

    创建数组和分配内存不一定要分开执行,可以在创建数组时直接为变量赋值:

    数组元素类型  数组名[]=new 数组元素类型[数组元素的个数];

    注意:无论用何种方法声明数组,前面的中括号中都不可以填写内容,柔则将会在编译时出现错误。

    2.初始化一维数组

    数组的初始化可分别初始化数组中每个元素。数组的初始化有两种形式。

    int arr[] =new int[]{1,2,3,5,25};   //第一种初始化方式

    int arr2[]={34,23,12,6};              //第二种初始化方式

    数组的初始化方式是:把数据类型包括在大括号之内,中间用逗号分开数组元素的值,系统自动为数组分配一定的空间。第一种初始化方式,创建5个元素的数组,其值依次为1、2、3、5、25;第二种初始化方式,创建4个元素的数组,其值依次为34、23、12、6.

    初始化数组是可以省略new运算符和数组的长度,编译器将根据初始值的数量来自动计算数组的长度,并创建数组。

    3.一维数组遍历

    for循环

    //数组的遍历
            
            
            for(int n=0;n<a.length;n++)
            {
                System.out.println(a[n]);
            }
            
            System.out.println("Foreach循环");

    foreach循环

    //foreach循环
            for(int t :a)
            {
                System.out.println(t);
            }

    二. 二维数组

    二维数组思维导图

    如果一位数组中的各个元素仍是一维数组,那么他就是一个二维数组。二维数组常用语表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。

    1.二维数组的创建

    声明二维数组的方法有两种:

    数组元素类型  数组名字[][];

    数组元素类型[][]数组名字;

    数组元素类型:决定了数组的数据类型,它可以是Java中任意的数据类型,包括基本数据类型和非基本数据类型。

    数组名字: 为一个合法的标识符。

    符号“[]”:指明该变量是一个数组类型变量,两个“[]”表示要创建的数组是二维数组。

    例题 创建二维数组。

    int myarr[][];

    与一维数组一样,如果二维数组在声明时没有分配内存空间,同样也要使用关键字new来分配内存,,然后才可以访问每个元素。

    二维数组可以看成是由多个一维数组所组成,在给二维数组分配内存时,可以为这些一维数组同时分配相同的内存。第一个括号中的数字是一维数组的个数,第二个括号中的数字是这些一维数组的长度。

    例题:为二维数组每一维分配相同内存。

    a=new int[2][4];

    为二维数组分配内存,分配后二维数组a拥有两个长度是4的一维数组。

    给二维数组分配内存时,还可以对其每一个一维数组单独分配内存,且分配的内存可以并不相同,在第一个中括号中定义一维数组的个数,然后就利用一维数组分配被熏得方法分配内存。

     2.二维数组初始化

    二维数组的初始化与一维数组初始化类似,同样可以使用大括号完成二维数组的初始化。

    type arrayname[][]={value1,value2,……valuen};

    type:数组数据类型。

    arrayname:数组名称,一个合法的标识符。

    value:数组中各元素的值。

    例题:初始化二维数组

    int myarr[][]={{12,0},{45,10}};

    初始化二维数组后,要明确数组的下标都是从0开始,int型二维数组是以int  a[][]来定义的,所以可以直接给a[x][y]赋值。如给a[1]的第二个元素赋值,a[1][1]=20;

    3.二维数组遍历

    for循环嵌套

    需要使用双层for循环,还要通过数组的length属性活的数组的长度。

    //遍历
            //for
            for(int m=0;m<2;m++)
            {
                for(int n=0;n<3;n++)
                {
                    System.out.print(e[m][n]+" ");
                }
                System.out.println();
            }

    foreach循环嵌套

    //foreach
            for(int[] t:e)
            {
                for(int y:t)
                {
                    System.out.print(y+" ");
                }
                System.out.println();
            }
            
            
            
            int[][]k=new int[][]{{1,2,3,4},{5,6,7},{8,9},{0}};
    
            for(int[] t:k)
            {
                for(int y:t)
                {
                    System.out.print(y+" ");
                }
                System.out.println();
            }
  • 相关阅读:
    一文带你了解接口测试价值与体系
    干货|app自动化测试之设备交互API详解
    干货|app自动化测试之Appium问题分析及定位
    干货| app自动化测试之Andriod微信小程序的自动化测试
    如果你也有这些职场困惑,周六一直线上答疑
    文末福利 | 团队管理第一步之高效招聘
    精准化测试原理简介与实践探索
    文末有福利 | 面试时如何命中面试官的考题?
    Visual studio prebuild/postbuild 设置条件不生效
    使用腾讯地图api获取定位信息经纬度(需要浏览器支持,且需要https)
  • 原文地址:https://www.cnblogs.com/cycanfly/p/5223108.html
Copyright © 2020-2023  润新知