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

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

发布网友 发布时间:2022-05-29 20:01

我来回答

2个回答

热心网友 时间:2023-11-20 23:23

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();
      }
     }
   }

热心网友 时间:2023-11-20 23:23

1)在Java中,无论使用数组或容器,都有边界检查。如果越界操作就会得到一个RuntimeException异常。
2)数组只能保存特定类型。数组可以保存基本类型,容器则不能。容器不以具体的类型来处理对象,它们将所有对象都按Object类型处理。
3)容器类只能保存对象的引用。而数组既可以创建为直接保存基本类型,也可以保存对象的引用。在容器中可以使用包装类,如Integer、Double等来实现保存基本数据类型值。
4)对象数组和基本类型数组在使用上几乎是相同的;唯一的区别是对象数组保存的是引用,基本类型数组保存基本类型的值。
详见http://java.ccidnet.com/art/3737/20071115/1276487_1.html

热心网友 时间:2023-11-20 23:23

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();
      }
     }
   }

热心网友 时间:2023-11-20 23:23

1)在Java中,无论使用数组或容器,都有边界检查。如果越界操作就会得到一个RuntimeException异常。
2)数组只能保存特定类型。数组可以保存基本类型,容器则不能。容器不以具体的类型来处理对象,它们将所有对象都按Object类型处理。
3)容器类只能保存对象的引用。而数组既可以创建为直接保存基本类型,也可以保存对象的引用。在容器中可以使用包装类,如Integer、Double等来实现保存基本数据类型值。
4)对象数组和基本类型数组在使用上几乎是相同的;唯一的区别是对象数组保存的是引用,基本类型数组保存基本类型的值。
详见http://java.ccidnet.com/art/3737/20071115/1276487_1.html
java中数组的特点?数组的声明和初始化方法和简单变量有什么不同?

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")...

java中数组的定义为什么和c等语言不一样,不可以表明数组长度?

java中声明与初始化数组的方式与c不同,原因其实很简单,java是一个纯粹的面向对象语言,而C不是。在java中所数组也是一个对象,也需要通过new来创建。在java中初始化时既可以规定数组的大小,也可以分被初始化数组中的每一个元素。用一维数组举例:声明一个int型一维数组 int [] array;初始化这个数...

java里的数组和集合的区别是什么?

你好具体的来讲 数组保存的是类型,几何保存的是对象 如我的2个封装类Person,Animal:用数组保存时应该这样:Person[] p = new Person[100];Animal[] a = new Animal[100];我们能明确的知道我们保存的是是什么,不同的类要分开保存,并且在保存前就要知道我要保存的数量 用集合类来保存的话是这样...

Java中一维数组定义及初始化 int []a; a[]={1,2,3}; 是错的,为什么

1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。数组声明的两种形式:一、int[] arr; 二、int arr[]; 推荐使用前者,这是一个int数组对象,而不是一个int原始类型。2、数组本身就是对象,Java中对象是在堆中的,因此数组无论保...

请教JAVA中数组的正确定义方法

一般来说这是不同语言之间竞争的结果,第二种方法在c语言等面向过程的语言中被广泛的使用,鉴于许多程序员在学习java或者c#时候,都具有部分c的基础,所以这种数组声明的方式被保留了下来。不过对于java和C#这类面向对象的语言,都推荐使用第一种命名方式,原因很简单,第一,java和c# 把数组当成是对象...

JAVA中一个类包含String数组怎么初始化的?

C先声明了一个数组,所以只要存在C的实例,就可以使用到这个数组。虽然这时候,数组里面的元素是为空的,但是你在主程序里面使用了c.s[1]="3",意思就是为c实例里面的数组的第2个元素给申明了,而不是直接引用,这与B是不同的。———B--&gt;不为空,所以可以使用B里面的元素,既as数组,但是as...

在JAVA中定义数组时,可不可以一开始不设定数组的长度?

但是要把它初始化成为一个真正意义上的数组就必须设定长度: int [] a = new int[10]; 这时就只能改变数组里的数值而不能改变它的长度了.Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java...

JAVA中的属性、方法、构造器,你真的弄懂了吗?

简单解析一下:以p1对象引用为例,当我们创建该对象时,成员变量就会放在堆空间中,先是默认初始化值null、0,之后通过对象.属性的赋值方式把属性值分别改为:cabbage、20。四、对象数组的内存解析先看如下代码:publicclassPerson{publicstaticvoidmain(String[]args){Person[]people=newPerson[2];people[...

JAVA中如何对数组进行操作

很简单,因为你的数组是局部变量,只在那个声明它的方法里能用,解决办法是:1. 把它设置为属性;2. 作为方法的返回值。下面分别举个例子:public class A{ public int[] arr = new int[2]; //这里设置为public是方便你理解。一般设置为private,然后提供一个getArr()方法。//赋值 public void...

数组与集合的区别?

1、数组:是有序的元素序列。将有限个类型相同的变量的集合命名。2、集合:具有某种特定性质的具体的或抽象的对象汇总而成的集体。二、特点不同 1、数组:数组中的所有元素都具有相同类型。数组中的元素存储在一个连续性的内存块中,并通过索引来访问。2、集合:给定一个集合,任给一个元素,该元素...

java数组初始化的三种方式 java初始化数组赋值 java数组默认初始化 java数组初始化默认值 java对象数组初始化 JAVA数组的初始化 数组怎么初始化 二维数组的初始化 Java声明数组
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
糖心视频怎么看 鸡蛋放在冰箱里几天为好? 无法用语言来表达此刻的心情精选20句 此刻无法用语言表达我的心情不好的说说 中国有多少所211大学啊? QQ靓号密码忘记了,以前的手机号码没有了,申诉没用,有好心泛滥的人帮忙不... 关于警察鸣枪示警的问题```弹头会落在地上不? 我户口在在南昌,医保和社保在九江,2018年退休。该怎么办 求音乐:漂亮的姑娘就要嫁人了龙梅子老猫 谁有歌曲:《漂亮的姑娘就要嫁人拉》龙梅子&amp;老猫,加伴奏的下载地址? 河北省可以升本的专科学校有哪些? 囊空饼空鸭蛋炒大葱 什么意思 气浮法得到污水去除率在实际中有何意义 小葱炒鸭蛋是不是食物相克 鸭蛋和葱须一起煮的功效 斜板隔油池对SS的去除率有多少 鸭蛋和葱能一起吃吗? BOD5去除率 含油废水处理中含油量为60mg&#47;l,能不能直接用气浮池不用隔油池,另外,气浮池去除油的去除率大概是多少啊 隔油池需要安排气管吗 女生长相很斯文,有气质,思考能力强,聪明,口才好,为人直爽,但略有孤僻。是什么样性格的人? 说一个女生长得很有气质是啥意思? 我想重新注册一个新的,该怎么办? 残疾人交党费有优惠吗 党员是残疾人可以不交党费吗 残疾人的党费怎么收 乳胶枕之前没味道洗完之后塞干味道特别大 浙江省高等教育自学考试免考申请表怎么填写 请问,在铜仁学院报的贵阳学院自考本科,贵州省高等教育自学考试毕业生信息表在哪里补办??? tp-link能连接无法上网 什么炒鸭蛋好吃 Qq号可以用来注册吗,怎么注册 泰拉瑞亚血腥祭坛怎么用 用QQ号能申请吗 泰拉瑞亚手机版血醒祭坛怎么用 我有一个,想再用新QQ号再申请一个可以吗 用QQ号可以注册吗 解绑后的QQ号可以重新申请吗? 速度 速率 加速度的区别? qq号可以申请吗 气管炎严重什么症状,回咯血吗? QQ号可以直接注册吗 13岁得了气管炎满严重的,能不能跑800米,还有会不会复发 得了气管炎有什么症状,严重吗 男人是否爱你入骨,从叫你的“昵称”就能看出来吗? 男人越爱你,会用哪些方式“昵称”称呼你? 男生一旦喊你哪几个昵称,看似亲昵实则已经把你当做备胎? 一个男生每次找你聊天 说的每一句话都少不了先叫一下他给你的昵称 是什么意思 男生为什么叫我的昵称要和我爸妈叫我一样? 在钢铁是怎么炼成中保尔昏迷在站台医生诊断是什么?