栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

软件构造blog1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

软件构造blog1

Java中的数组 1.数组的声明

在C语言中,除了在声明数组时直接初始化时可以不声明数组的size,例如:

int a[] = {1, 2, 3}

其他情况下,声明一个数组一定要声明数组的大小。

int a[4];
for (int i = 0; i < 4; i++){
    printf("a[%d] = %dn", i, a[i]);
}

而在Java中,声明数组:

int[] a;
int a[];

即可表示数组,此时我们只有一个数组的句柄(a),但还没对数组分配空间。同C一样,可以对数组初始化:

int[] a = {1, 2, 3};
2.java中数组的“赋值”

但在java中,一个没有初始化的数组可以被其他数组“赋值”:

	public static void main(String argv[]){
		int[] a = {1, 2, 3};
		int[] b;
		b = a;
		
		for(int i = 0; i < a.length; i++){
			System.out.println("a [" + i + "] = " + a[i]);
		}
		System.out.println("--------------");
		for(int j = 0; j < b.length; j++){
			System.out.println("b [" + j + "] = " + b[j]);
		}
	}

观察输出:

当我们修改数组b中信息时,数组a也会随着改变:

		int[] a = {1, 2, 3};
		int[] b;
		b = a;
		
		b[2] = 0;
		
		for(int i = 0; i < a.length; i++){
			System.out.println("a [" + i + "] = " + a[i]);
		}
		System.out.println("--------------");
		for(int j = 0; j < b.length; j++){
			System.out.println("b [" + j + "] = " + b[j]);
		}

观察输出:

 说明,a和b指向统一内存空间,b = a并不意味着编译器为b创建新的空间,并将a中的元素倒进去,而是将b指向与a所指向的内存地址。

3.java对数组检查边界

当访问超出数组范围,java会通过编译,但在运行时抛出异常:

 java.lang.ArrayIndexOutOfBoundsException

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941100.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号