zoukankan      html  css  js  c++  java
  • 数组

    一、一维数组

    1.声明:

    (1)char []c;     推广情况:char []c1,c2,c3;可以声明三个一维数组

    (2)char c[];(不推荐,据说是为了C系程序员便于理解)      无对应的推广情况,若只是char c1,c2,c3[];只是c3成为一维数组

    2.创建:(09-24更新)

    (1)没有引用:new char[5];实际上这样的语法会报错,必须赋值给一个引用。

    (2)有引用:char []c=new char[5];或者char []c; c=new char[5];

    注:不能没有数组长度,否则无法编译,但是长度可以是变量,例如:

    int m=9;char []c=new int[m];是被允许的。

            char []a=new char[2];
            Integer [] b=new Integer[3];
            int  []c=new int [2];  
            boolean [] d=new boolean[2];
            System.out.println(a);         //char数组输出2个方块(不知道是什么?),等同于 System.out.println(new char[2]);
    System.out.println(d);  //除char数组都输出地址,等同于 System.out.println(new boolean[2]); for(char s:a) { System.out.println(s); //遍历未初始化的char数组,输出2个方块,同上直接输出一样 } for(Integer s:b) { System.out.println(s); //遍历未初始化的Integer数组,输出null,包括未初始化的String及其他对象引用都是这样 } for(int s:c) { System.out.println(s); //未初始化的int输出0 } for(boolean s:d) { System.out.println(s); //未初始化的boolean输出false }

    其实数组创建很简单,上面的篇幅都用在Java自动初始化上了,其余诸如long、short、byte、double、float都会被设置为0或者0.0.

    3.初始化:

    (1)普通数组:char []c={'a','b'};再次直接输出,会打印出ab,但例如int []={5,8,9};直接输出地址,也就是说除了char数组直接打印数组都会输出地址。

    数组初始化和声明必须一起,否则会报错,例如:

    char []a= new char[2];
    a= {'a','b'};       //报错

    提示报错Array constants can only be used in initializers数组只能在声明赋值?

    正常赋值:

    int [] b= {5,8,9};

    (2)对象数组:String []s={"ab","cd"};或者String []s={new String("ab"),new String("cd")};都是等价的,原因在下一篇字符串说明。

    Integer []i={1,2};或Integer []i={new Integer(1),new Integer(2)};

    二、多维数组

    1.声明

    与一维数组相同有两种方式:int [][]m;(推荐) 可推广至int [][] m1,m2,m3;      

    int m[][];(不推荐);

    2,创建

    (1)直接创建:int [][]m=new int[2][2];

    (2)从高到低创建:

    int [][]m=new int[2][];       //前两句等价于int[][] m;m=new int[2][]两句的组合
    m[0]=new int[2];              
    m[
    1]=new int[2];

    也是创建了一个2*2的二维数组。

    注意不能从低到高创建:

    int [][]m=new int[][2];     //报错,Cannot specify an array dimension after an empty dimension

    3.初始化

    普通:int[][] m={{1,2},{3,4}};

    而不能写成

    int [][]m=new int[2][];
    m[0]= {5,6};

    m[1]={7,8};  也是只能在声明时初始化。

    对象:String [][] s={{new("aa"),new("bb")},{new("cc"),new("dd")}};

    或者是等价地有:String [][]s={{"aa","bb"},{"cc","dd"}};

    例如:

    String[][]s= {{"aa","bb"},{"a","c"},{"ff"}};
            for(String str[]:s)
            {
                for(String ss:str)
                System.out.println(ss);           //二维数组的遍历
            }

     输出:aa

    bb

    a

    c

    ff

  • 相关阅读:
    Ubuntu系统---安装思维导图XMind
    Git---Ubuntu下的安装与使用
    YOLO---YOLOv3 with OpenCV安装与使用
    Keras---Virtualenv 下安装Keras (基于Tensorflow后端)
    Python---virtualenv + Tensorflow + 安装jupyter notebook
    Ubuntu系统---以virtualenv方式安装Tensorflow-CPU
    Caffe---Pycaffe 绘制loss和accuracy曲线
    Caffe---自带工具 绘制loss和accuracy曲线
    day91 DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件
    day 90 DjangoRestFramework学习二之序列化组件
  • 原文地址:https://www.cnblogs.com/lbrs/p/9005863.html
Copyright © 2011-2022 走看看