数组

什么是数组?

  数组是存储在一个连续的内存块中的元素集合。 可以减少内存中变量搜索的时间

 

  数组中的每个元素必须是相同的数据类型,并且通过索引进行区分。数组中的第一个元素的索引为0。

 

为什么要用数组?

  单一值类型变量有时候很难满足应用程序的设计要求。

  数组类型变量可以同时存储多个同类型基础数据类型变量或对象。 

一维:

public static void main(String[] args) {
// TODO Auto-generated method stub
int i; //定义变量
i = 0; //引用变量

int [] grade; //定义了一个成绩的数组
int grade2[]; //但是不推荐这种写法

String [] str;
double [] money;

/*创建数组的空间大小*/
//执行了这句话后,在内存里面开辟了一个空大小为31的空间,并且每一个空间大小是int
grade =new int[31];
grade = new int[40]; //这句话执行后,相当于grade执行int[40]空间,以前int[30]被回收
str = new String[5];
int []age = new int[31]; //定义数组的时候就创建空间大小


/*如何让访问数组,下标从0开始*/
age[0] = 23; //给第一个学生赋值
age[30] = 22; //最后一个学生
for(int k=0;k<31;k++){
age[k] = k; //引用数组
}

System.out.println(age[30]); //下标越界

/*数组的长度。*/
int classNum = 5;
int len = age.length;// java类库定义好的属性,用来求数组的长度
System.out.println(len);

/*数组的初始化*/
int[] student = {1,2,3,4,6}; //{}用来初始化数组
System.out.println(student[0]); //输出1,已经被初始化
System.out.println(student.length); //如果没有指定长度,长度是根据内容长度来定
System.out.println(student);

int[] classs = new int[]{1,2,3,4,6,7};
System.out.print(classs[3]);
二维:

int [][] huju = new int[4][5];
Scanner s = new Scanner(System.in);
/*引用二位数组*/
for(int k=0;k<4;k++){
for(int i=0;i<4;i++){
System.out.print("请输入第"+(k+1)+"行的第"+(i+1)+"列");
huju[k][i] = s.nextInt();
}
}


/*初始化*/
int[][] stu = new int[][]{{1,2,3},{2,4},
{2,4},
{2,4},
{2,4},
{2,4}
};

/*输出数组的长度*/
//System.out.println(stu.length);

/*求耍平均花费*/
int sum = huju[0][3]+huju[1][3];
//System.out.println(sum/2);

/*求huju每天的平均花费*/
int allSum = 0;
for(int i=0;i<2;i++){
for(int j=0;j<4;j++){
allSum+=huju[i][j];
}
huju[i][4] = allSum/4;
allSum = 0;
}

for(int k=0;k<2;k++){
System.out.print("第"+(k+1)+"天");
System.out.println(huju[k][4]);

posted @ 2016-05-22 14:07  macro鹏  阅读(148)  评论(0编辑  收藏  举报