必威体育Betway必威体育官网
当前位置:首页 > IT技术

Java中数组的定义和使用

时间:2019-06-23 11:42:06来源:IT技术作者:seo实验室小编阅读:67次「手机版」
 

java 数组

如果希望保存一组有相同类型的数,可以使用数组

今天天气不错,来复习复习java数组。

数组的定义和和内存分配

Java中定义数组的语法有两种:

int[] arr;//第一种
int arr[];//第二种

这两种形式上没有区别,使用效果完全一样。

与C、C++不同,Java在定义数组时并不为数组元素分配内存空间,因此[]中无需指定数组元素的个数,也就是数组长度

所以我们需要先分配内存空间,才能访问数组中的元素。

而想要为数组分配内存空间可以这样:

int[] arr;//定义一个int数组变量arr
arr=new int[3];//为int数组变量arr指定数组元素个数为3,也就时分配内存空间。
也可以这样写:
int[] arr=new int[3];//这样等于在定义int数组变量的时候,为其分配内存空间。

数组的初始化

可以在声明数组的同时进行初始化(静态初始化),也可以在声明以后进行初始化(动态初始化)。例如:

//静态初始化
int[] arr=new int[]{1,2,3};

//动态初始化
String[] strArr=new String[3];
strArr[0]="Hello";
strArr[1]="World";
strArr[2]="hello world";

数组引用

可以通过下标来引用数组:

arrName[index];

与C、C++不同,Java在数组元素引用要进行越界检查以确保安全性,如果越界,就会抛出数组越界异常(java.lang.ArrayIndexOutOfBoundsException)。

每个数组都有可以拿length属性来得到数组的长度。

【示例】输入任意5个整数,输出它们的和。

public class Demo {

	public static void main(String[] args) {
		int[] arr=new int[]{1,2,3,4,5};//定义一个int数组类型的变量arr,并为其分配内存空间和初始化
		int len=arr.length;//得到arr数组的长度
		int total=0;//和
		//注意,数组下标从0开始,到len-1结束
		for(int i=0;i<=len-1;i++){
			total+=arr[i];//求和
			System.out.print(arr[i]+" ");//根据下标来输出arr每个变量
		}
		System.out.println("和为"+total);

	}

}

数组的遍历

可以使用for循环来遍历

public class Demo {

	public static void main(String[] args) {
		int[] arr=new int[]{1,2,3,4,5};//定义一个int数组类型的变量arr,并为其分配内存空间和初始化
		int len=arr.length;//得到arr数组的长度
		//注意,数组下标从0开始,到len-1结束
		for(int i=0;i<=len-1;i++){
		    System.out.print(arr[i]+" ");//根据下标来输出arr每个变量
		}
	}

}

不过Java为我们提供了增强版的for循环(foreach),专门来遍历数组,语法为:

for( arrayType varName: arrayName ){
    // 操作
}

arrayType为数组类型,varName时用来保存当前元素的变量,每次循环这个变量的值都会改变,arrayName为数组名。

二维数组

二维数组的声明,初始化和引用和一维数组相似:

int intArray[ ][ ] = { {1,2}, {2,3}, {4,5} };
int a[ ][ ] = new int[2][3];
a[0][0] = 12;
a[0][1] = 34;
// ......
a[1][2] = 93;

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

例如:

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

几点说明:

  • 上面讲的是静态数组,静态数组一旦被声明,它的容量就固定了,不容改变。所以在声明数组时,一定要考虑数组的最大容量,防止容量不够的现象。
  • 如果想在运行程序时改变容量,就需要用到java集合中的ArrayList或者vector了。
  • 正是由于静态数组容量固定的缺点,实际开发中使用频率不高,被ArrayList或Vector代替,因为实际开发中经常需要向数组中添加或删除元素,而它的元素不好预估。

相关阅读

Unexpected 'a' 使用postman报错

使用postman 进行接口测试时,输了地址访问提示 Unexpected 'a'错误。原因:用户权限校验不通过导致。解决:在http请求头(Heads)中加入

Java反编译工具使用对比,最好用的Java反编译工具 --- J

Java反编译工具使用对比,最好用的Java反编译工具 --- JD-GUI、XJad一、前言1、什么是反编译?大家都知道,将源代码转换成二进制执行代

使用Filezilla Server软件配置FTP的全过程

使用Filezilla Server软件配置FTP的全过程一、下载Filezilla  Server一般设备电脑上都会有安装包。官网网址:https://filezilla-p

Linux使用SSH上传下载文件

查看目录 ssh user@host command ls "/path" 上传文件 scp /filepath(localpath) user@host:/filepath(remotepath) 下

作为产品经理你会不会使用鱼骨图?

产品经理最重要的能力之一就是需要有很强的逻辑,但是并不是所以产品经理天生就要这样的能力,这个时候我们就需要工具辅助,将我们的思

分享到:

栏目导航

推荐阅读

热门阅读