数组

为什么需要数组?

假设现在要计算全班100个学生的java成绩,该怎么办?定义100个变量来保存每个学生的java成绩吗?这好麻烦。因此我们需要数组来为我们解决这样繁琐的事情。

 

定义一维数组

语法:

数据类型[] 变量名 = new 数据类型[长度];

例如:

int[] arr = new int[4];// 声明一个长度为4的数组

 

 

 

代码
public class Test {
public static void main(String args[]) {
//int[] arr = {1, 2, 3, 5};
//相当于
int[] arr; arr = new int[]{1, 2, 3, 5};
for(int i = 0; i < arr.length; i ++) {
System.out.println(arr[i]);
}
}
}

使用数组常犯错误:

 

int[] arr = new int[4];// 声明一个长度为4的数组
arr[4] = 3;// 数组下标越界,因为数组下标是从0开始的。

int
[] arr;
arr = {2,3,4};// 如果直接是花括号的形式就必须一次性完成。

int
[] arr = new int[4]{1, 2, 3, 4};// 不能给定长度

定义二维数组

语法与定义以为数组相似,只是维数不同而已。

数据类型[][] <数组变量名> = new 数据类型[行长度][列长度];

数据类型[][] <数组变量名> = {{数值1...数值n},{数值2...数值n}...{数值n...数值n+1}};

int[][] arr = {{1, 2},{3},{4, 6, 7}};

 

代码
public class Test {
public static void main(String args[]) {
int[][] arrs = {{1, 2},{3},{4, 6, 7}};// 有三行,第一行有两列,第二行有一列,第三行有3列。
for(int[] arr : arrs) {// 使用for循环增强来遍历元素
for(int e : arr) {
System.out.print(e
+ ", ");
}
System.out.println();
}

// 传统方式
for(int i = 0; i < arrs.length; i ++) {
for(int j = 0; j < arrs[i].length; j ++) {
System.out.print(arrs[i][j]
+ ", ");
}
System.out.println();
}
}
}

 

求最大值:

代码
import java.util.*;

public class Test{

/**
*
@param args
*/
public static void main(String[] args) {
// 声明变量
int[] score = new int[5];
int max;

// 循环给数组赋值
System.out.println("请依次录入5位学生的Java成绩:");
Scanner sc
= new Scanner(System.in);
for (int i = 0; i < 5; i++) {
score[i]
= sc.nextInt();
}

// 计算成绩最大值
max = score[0];// 假设第一个成绩是最大的
for (int index = 1; index < 5; index++) {
if (score[index] > max) {
max
= score[index];
}
}

// 显示最大值
System.out.println("本次考试的五位学生的最高分是: " + max);
}
}

 

 

 

posted @ 2010-12-20 14:26  meng72ndsc  阅读(189)  评论(0编辑  收藏  举报