当前位置: 首页 > 编程笔记 >

初识JAVA数组

杜晨朗
2023-03-14
本文向大家介绍初识JAVA数组,包括了初识JAVA数组的使用技巧和注意事项,需要的朋友参考一下

1. 一维数组

1.1 一维数组的定义

type arrayName[];
type[] arrayName;

当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。

另外一种形式对C++开发人员可能认为非常奇怪,只是对JAVA或C#这种开发语言来说,另外一种形式可能更直观,由于这里定义的仅仅是个变量而已,系统并未对事实上例化,仅仅需指明变量的类型就可以,也不需在[]指定数组大小。(第一种形式是不是仅仅是为了兼容曾经的习惯,毕竟C语言的影响太大了?)

比如:

int intArray[];
声明了一个整型数组,数组中的每一个元素为整型数据。与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不用指出数组中元素个数,即数组长度,并且对于如上定义的一个数组是不能訪问它的不论什么元素的。我们必须为它分配内存空间,这时要用到运算符new,其格式例如以下:
arrayName=new type[arraySize];
当中,arraySize指明数组的长度。如:
intArray=new int[3];

为一个整型数组分配3个int型整数所占领的内存空间。

通常,这两部分能够合在一起,格式例如以下:

type arrayName=new type[arraySize]; 
比如:
int intArray=new int[3];
1.2 一维数组元素的引用

定义了一个数组,并用运算符new为它分配了内存空间后,就能够引用数组中的每个元素了。数组元素的引用方式为:
 
arrayName[index]
当中:index为数组下标,它能够为整型常数或表达式。如a[3],b[i](i为整型),c[6*I]等。下标 从0開始,一直到数组的长度减1。对于上面样例中的in-tArray数来说,它有3个元素,分别为:
intArray[0],intArray[1],intArray[2]。注意:没有intArray[3]。
 
另外,与C、C++中不同,Java对数组元素要进行越界检查以保证安全性。同一时候,对于每一个数组都有一个属性length指明它的长度,比如:intArray.length指明数组intArray的长度。
 

public class ArrayTest{
  public static void main(String args[]){
    int i;
    int a[]=new int[5];
    for(i=0;i<5;i++)
      a[i]=i;
    for(i=a.length-1;i>=0;i--)
      System.out.println("a["+i+"]="+a[i]);
  }
}

执行结果例如以下:

C:/>java ArrayTest
a[4]=4
a[3]=3
a[2]=2
a[1]=1
a[0]=0

该程序对数组中的每一个元素赋值,然后按逆序输出。
 
1.3 一维数组的初始化

对数组元素能够依照上述的样例进行赋值。也能够在定义数组的同一时候进行初始化。
比如:
int a[]={1,2,3,4,5};
用逗号(,)分隔数组的各个元素,系统自己主动为数组分配一定空间。
 
与C中不同,这时Java不要求数组为静态(static),事实上这里的变量相似C中的指针,所以将其作为返回值给其他函数使用,仍然是有效的,在C中将局部变量返回给调用函数继续使用是刚開始学习的人非常easy犯的错误。
 
2. 多维数组

与C、C++一样,Java中多维数组被看作数组的数组。比如二维数组为一个特殊的一维数组,其每一个元素又是一个一维数组。以下我们主要以二维数为例来进行说明,高维的情况是相似的。

2.1 二维数组的定义

二维数组的定义方式为:

type arrayName[][];
比如:
int intArray[][];

与一维数组一样,这时对数组元素也没有分配内存空间,同要使用运算符new来分配内存,然后才干够訪问每一个元素。
对高维数组来说,分配内存空间有以下几种方法:

1. 直接为每一维分配空间,如:
int a[][]=new int[2][3];

2. 从最高维開始,分别为每一维分配空间,如:

int a[][]=new int[2][];
a[0]=new int[3];
a[1]=new int[3];

完毕1中同样的功能。这一点与C、C++是不同的,在C、C++中必须一次指明每一维的长度。

2.2 二维数组元素的引用

对二维数组中每一个元素,引用方式为:arrayName[index1][index2] 当中index1、index2为下标,可为整型常数或表达式,如a[2][3]等,相同,每一维的下标都从0開始。

2.3 二维数组的初始化

有两种方式:
1. 直接对每一个元素进行赋值。
2. 在定义数组的同一时候进行初始化。
 
如:int a[][]={{2,3},{1,5},{3,4}};
定义了一个3×2的数组,并对每一个元素赋值。

 类似资料:
  • 本文向大家介绍初识PHP,包括了初识PHP的使用技巧和注意事项,需要的朋友参考一下 1.在PHP中,全局变量都要大写; 2.在PHP表单提交方式中,method属性设置了获取和提交数据的方式; 3.如果在表单中使用了上传元素,那么就要给表单添加属性:enctype="multipart/form-data"; 4.注销用户功能的实现:   删除多个会话:$_SESSION=array(); 5.p

  • 本文向大家介绍初识Laravel,包括了初识Laravel的使用技巧和注意事项,需要的朋友参考一下 #缘由 这两天,我在做一个小活儿的一个小功能,想想反正现在时间不急,我就尝试一下新的工具,Laravel。 #Laravel官网截图: #Laravel哲学 Laravel是一套web应用开发框架,它具有富于表达性且简洁的语法。我们相信,开发过程应该是愉悦、创造性的体验。Laravel努力剔除开发过

  • 用twisted的方式实现前面的内容 最终我们将使用twisted的方式来重新实现我们前面的异步模式客户端。不过,首先我们先稍微写点简单的twisted程序来认识一下twisted。 最最简单的twisted程序就是下面的代码,其在twisted-intro目录中的basic-twisted/simple.py中。 from twisted.internet import reactor reac

  • Rust 是一门系统级编程语言,被设计为保证内存和线程安全,并防止段错误。作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C / C++ 同级。 Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。与这两门编程语言不同的是,Rust 是线程安全的! Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、并发和内存控制。尽管

  • 本文向大家介绍初识php MVC,包括了初识php MVC的使用技巧和注意事项,需要的朋友参考一下 学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就是这样应运而生的,mvc分为了三个层次,而且三个层次各司其职,互不干扰,首先简单介绍下,各个层次,view即是视图,也就是web页面,control即是控制器 向

  • 本指南让你开始进行 TensorFlow 编程。开始之前,安装 TensorFlow, 为了充分利用本指南,您应该了解以下内容: Python 如何编程。 至少对数组了解一点。 最好了解一些机器学习。然而,如果你对机器学习了解很少或不了解,你仍然应该首先阅读本指南。 TensorFlow 提供了多种API。最底层的 API--TensorFlow Core-- 可以让你完全控制自己的程序。 我们推