JavaSE_25th_数组——声明和初始化

来源:互联网 发布:matlab矩阵转化列向量 编辑:程序博客网 时间:2024/06/18 06:19
一、一维数组的声明和初始化
1、概述
1)数组可以看成是多个相同数据类型数据组合,对这些数据的统一管理。
2)数组变量属于引用类型,数组也可以看成对象,数组中的每个元素相当于该对象
的成员变量。
3)数组中的元素可以是任何数据类型,包括基本类型和引用类型。
2、一维数组的声明
1)例如:
int a1[];int[] a2;double b[];Person[] p1;String s1[];
2)Java语言中声明数组时不能指定长度(数组中元素的个数),例如:int a[5];//非法
3、数组对象的创建
1)元素为基本数据类型的数组
public class Test {public static void main(String[] args) {int[] s;//数组s为nulls = new int[5];//数组s指向堆空间中分配的5个int格子,每个格子默认值为0/* 为数组中的每个格子赋值 */for(int i=0; i<5; i++) {s[i] = i;}}}
2)元素为引用数据类型的数组
public class Test {public static void main(String[] args) {Date[] days;//数组days为nulldays = new Date[3];//数组days指向堆空间中分配的3个Date类型格子,每个格子默认值为null/* 为数组中的每个格子赋值 */for(int i=0; i<3; i++) {days[i] = new Date(2004, 4, i+1);}}}class Date {int year; int month; int day;Date(int y, int m, int d) {year = y; month = m; day = d;}}
4、数组初始化
1)动态初始化
数组的定义与为数组元素分配空间和赋值的操作分开进行,
public class Test {public static void main(String[] args) {int[] a;a = new int[3];a[0] = 3; a[1] = 9; a[2] = 8;Date[] days;days = new Date[3];days[0] = new Date(2004, 4, 1);days[1] = new Date(2004, 4, 2);days[2] = new Date(2004, 4, 3);}}class Date {int year; int month; int day;Date(int y, int m, int d) {year = y; month = m; day = d;}}
2)静态初始化
在定义数组的同时就为数组元素分配空间并赋值。
a、数组元素的初值存放在栈中
public class Test {public static void main(String[] args) {int[] a = {3, 9, 8};Date days[] = {new Date(2004, 4, 1);new Date(2004, 4, 2);new Date(2004, 4, 3);};}}class Date {int year; int month; int day;Date(int y, int m, int d) {year = y; month = m; day = d;}}
b、数组元素的初值存放在堆中
public class Test {public static void main(String[] args) {int[] a = new int[]{3, 9, 8};Date days[] = {new Date(2004, 4, 1);new Date(2004, 4, 2);new Date(2004, 4, 3);};}}
3)默认初始化
数组是引用数据类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照
成员变量的规则被隐式初始化。
public class Test {public static void main(String[] args) {int[] a = new int[5];Date[] days = new Date[3];System.out.println(a[3]);System.out.println(days[2]);}}class Date {int year; int month; int day;Date(int y, int m, int d) {year = y; month = m; day = d;}}
运行结果:
0null



0 0
原创粉丝点击