天天看点

数组的使用及注意事项

====== 数组的使用======

一、三种使用方法

1、使用方式一:动态初始化

格式:数据类型[ ] 变量名 = new 数据类型[大小]

例:double[] hens = new double[5];

使用方式一:动态初始化
		double[] hens = new double[5];
		Scanner myScanner = new Scanner(System.in);
		for(int i = 0 ; i < hens.length ; i++){

		System.out.println("请输入第"+ (i+1) +"个鸡的重量");
		hens[i] = myScanner.nextDouble();
	}
		System.out.println("========输出=========");

		for(int i = 0 ; i < hens.length ; i++){

		System.out.println("第"+ (i+1) +"个鸡的重量为:" + hens[i]);
		}

           

2、使用方式二:先声明再初始化

格式:数据类型[ ] 变量名;

变量名 = new 数据类型[大小 ];

例:double[] hens;

hens = new double[5];

double[] hens ;
		Scanner myScanner = new Scanner(System.in);
		hens = new double[5];
		for(int i = 0 ; i < hens.length ; i++){

		System.out.println("请输入第"+ (i+1) +"个鸡的重量");
		
		hens[i] = myScanner.nextDouble();
	}
		System.out.println("========输出=========");

		for(int i = 0 ; i < hens.length ; i++){

		System.out.println("第"+ (i+1) +"个鸡的重量为:" + hens[i]);
		}
           

3、使用方式三:使用静态初始化(知道数值且数量较少时使用)

格式:数据类型[ ] 变量名 = {};

例:double[ ] hens = {2,3,4,5,6};

double[] hens = {2,3,5,7,9};
		System.out.println("========输出=========");
		for(int i = 0 ; i < hens.length ; i++){
		System.out.println("第"+ (i+1) +"个鸡的重量为:" + hens[i]);
		}

           

=注意事项===

**一、**数组是多个相同类型数据的组合,实现对这些数据的统一管理

**二、**数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。

**三、**数组创建后,如果没有赋值,有默认值int 0, short 0, byte 0, long 0, float 0.0,double 0.0, char \u0000,.boolean false,String null

四、使用数组的步骤

1.声明数组并开辟空间

2给数组各个元素赋值

3使用数组

五、数组的下标是从0开始的。

六、数组下标必须在指定范围内使用,否则报:下标越界异常,比如

int arr=new int[5];则有效下标为0-4

七、数组属引用类型,数组型数据是对象(object)

数组赋值机制==

一、变量(基本类型)的赋值机制(值传递)

二、数组(引用数据类型)的赋值机制(地址传递)

数组的使用及注意事项

如图:

1、在定义基本数据类型时:

int  n1 = 10 ;
int  n2 = n1 ;
n2  =  80 ;
           

此时n2 = 80 ,而 n1 = 10;n1的值并不会改变

相当于重新申请了一块空间。

2、在定义引用数据类型时:

数组的使用及注意事项
int [ ]  arr1 = { 1, 3, 5} ;
int [ ]  arr2 = arr1 ;
arr2[0] = 10 ;
           

而此时当把 arr1 赋值给 arr2 时,是 arr2 指向了 arr1 的内存地址,相当于 arr1 和 arr2 指向了同一块内存地址,此时修改 arr1 里的值 arr2 也同时会修改。

数组的使用及注意事项