zoukankan      html  css  js  c++  java
  • 数组

    一. 一维数组

    一维数组思维导图:

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

    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();
            }
  • 相关阅读:
    HDU 1025 Constructing Roads In JGShining's Kingdom (DP+二分)
    HDU 1158 Employment Planning
    HDU 2059 龟兔赛跑
    Csharp 简单操作Word模板文件
    Csharp windowform datagridview Clipboard TO EXCEL OR FROM EXCEL DATA 保存datagridview所有數據
    Csharp 讀寫文件內容搜索自動彈出 AutoCompleteMode
    Csharp windowform controls clear
    CSS DIV大图片右上角叠加小图片
    Csharp DataGridView自定义添加DateTimePicker控件日期列
    Csharp 打印Word文件默認打印機或選擇打印機設置代碼
  • 原文地址:https://www.cnblogs.com/cycanfly/p/5223108.html
Copyright © 2011-2022 走看看