问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中数组的特点?数组的声明和初始化方法和简单变量有什么不同?_百度...

发布网友 发布时间:2022-05-02 06:40

我来回答

2个回答

热心网友 时间:2022-04-24 03:54

java语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和*数组。
★ 一维数组
1. 一维数组的定义

  type arrayName[ ];
  类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。
  例如:
   int intArray[ ];
   Date dateArray[];

  2.一维数组的初始化

  ◇ 静态初始化
    int intArray[]={1,2,3,4};
    String stringArray[]={"abc", "How", "you"};

  ◇ 动态初始化
    1)简单类型的数组
    int intArray[];
    intArray = new int[5];

   2)复合类型的数组
    String stringArray[ ];
    String stringArray = new String[3];/*为数组中每个元素开辟引用
                      空间(32位) */
    stringArray[0]= new String("How");//为第一个数组元素开辟空间
    stringArray[1]= new String("are");//为第二个数组元素开辟空间
    stringArray[2]= new String("you");// 为第三个数组元素开辟空间

  3.一维数组元素的引用

  数组元素的引用方式为:
     arrayName[index]

  index为数组下标,它可以为整型常数或表达式,下标从0开始。每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。

★*数组

  Java语言中,*数组被看作数组的数组。

  1.二维数组的定义

  type arrayName[ ][ ];
  type [ ][ ]arrayName;

  2.二维数组的初始化

  ◇ 静态初始化
  int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};

  Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

  ◇ 动态初始化
  1) 直接为每一维分配空间,格式如下:
  arrayName = new type[arrayLength1][arrayLength2];
  int a[ ][ ] = new int[2][3];

  2) 从最高维开始,分别为每一维分配空间:
  arrayName = new type[arrayLength1][ ];
  arrayName[0] = new type[arrayLength20];
  arrayName[1] = new type[arrayLength21];
  …
  arrayName[arrayLength1-1] = new type[arrayLength2n];

  3) 例:
  二维简单数据类型数组的动态初始化如下,
  int a[ ][ ] = new int[2][ ];
  a[0] = new int[3];
  a[1] = new int[5];

  对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。
  而且,必须为每个数组元素单独分配空间。

  例如:
  String s[ ][ ] = new String[2][ ];
  s[0]= new String[2];//为最高维分配引用空间
  s[1]= new String[2]; //为最高维分配引用空间
  s[0][0]= new String("Good");// 为每个数组元素单独分配空间
  s[0][1]= new String("Luck");// 为每个数组元素单独分配空间
  s[1][0]= new String("to");// 为每个数组元素单独分配空间
  s[1][1]= new String("You");// 为每个数组元素单独分配空间

  3.二维数组元素的引用
  
  对二维数组中的每个元素,引用方式为:arrayName[index1][index2]
  例如: num[1][0];

  4.二维数组举例:

  【例2.2】两个矩阵相乘
  public class MatrixMultiply{
   public static void main(String args[]){
   int i,j,k;
   int a[][]=new int [2][3]; //动态初始化一个二维数组
   int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//静态初始化
                           一个二维数组
   int c[][]=new int[2][4]; //动态初始化一个二维数组
   for (i=0;i<2;i++)
     for (j=0; j<3 ;j++)
      a[i][j]=(i+1)*(j+2);
   for (i=0;i<2;i++){
     for (j=0;j<4;j++){
      c[i][j]=0;
   for(k=0;k<3;k++)
     c[i][j]+=a[i][k]*b[k][j];
      }
     }
   System.out.println("*******Matrix C********");//打印Matrix C标记
   for(i=0;i<2;i++){
     for (j=0;j<4;j++)
      System.out.println(c[i][j]+" ");
     System.out.println();
      }
     }
   }

热心网友 时间:2022-04-24 05:12

1)在Java中,无论使用数组或容器,都有边界检查。如果越界操作就会得到一个RuntimeException异常。
2)数组只能保存特定类型。数组可以保存基本类型,容器则不能。容器不以具体的类型来处理对象,它们将所有对象都按Object类型处理。
3)容器类只能保存对象的引用。而数组既可以创建为直接保存基本类型,也可以保存对象的引用。在容器中可以使用包装类,如Integer、Double等来实现保存基本数据类型值。
4)对象数组和基本类型数组在使用上几乎是相同的;唯一的区别是对象数组保存的是引用,基本类型数组保存基本类型的值。
详见http://java.ccidnet.com/art/3737/20071115/1276487_1.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在爱水APP哪个模块中可以填写个人信息,查询自己一天的饮水量? 黄金为什么是避险产品 避险买什么 避险品种是什么 避险产品什么意思 什么是避险产品 ...对联和我们平时使用的印章,说说使用了哪几个字体 对联上写的是什么字 ...有一空是让我评价我自己,请各位哥哥姐姐帮帮忙,帮我编一段,往好了... 艾灸用品哪种好 如何填写(初始化一次)的数组 VB 较大的数组 怎么一次性初始化 在java中怎样将一个integer数组转换为int数组?? 为什么这样引用,数组不能初始化。java。 请问,Java中,泛型数组的数组怎么初始化?(就是ArrayList数组) 裙带菜可以凉拌吗 vb如何为数组赋初值 使用语句“Dim a(10)As Integer&quot;定义数组后,a数组中的所有元素都为0,为什么 vb 中如何初始化数组? java类中构造函数中:数组怎样初始化 ArrayList&lt;ArrayList&lt;Integer&gt;gt;的二维数组怎么初始化 Java中关于Integer数组赋值的问题 关于java的Integer二维数组的初始值 和多号注册的被封,不能发送短信解封怎么办?求高手支招! 移动和多号的副号能申请吗? 为什和多号申请收不到验证信息? 中国移动的和多号能注册吗 和多号怎么注册 如何在微信投票中获得好名次 要怎么才能在微信投票活动当中快速的得到大量 用java定义一个包含5个元素的int数组,并且初始化都为0,从键盘接收五个整 什么是Integer型数组 电脑上图片看不了 java中array如何初始化 电脑图片查看不了? java如何释放int数组空间 电脑图片看不成,怎么办 我的iPhone 怎么了?我在 theme里删了个文件夹,锁屏就这样了,设置图片也设置不上怎么回事 苹果手机不能设置锁屏图案怎么回事?设置好几次了,锁屏图案还是主题的!! iphone4锁屏图片不显示 iphone锁屏后无锁屏图片 梦见心上人喝酒在哭? 梦见喝酒醉人,去望老爸同意咱俩在一起,反被老爸用酒泼,我爱人哭好厉害,什么意? 梦见爱人喝多了 睡在身旁 java如何修改图片大小 康纳·麦格雷戈能成为UFC收入最高的拳手的原因是什么呢? java项目里面的图片大小怎么调 康纳麦格雷戈是什么民族 JAVA改变图片大小,该怎么处理 为什么说康纳尔麦格雷戈毁了UFC 223?