- 数组中包含一批数据,一个数组包含若干个相同数据类型的变量,每个变量被称作一个数组元素,数组的元素个数称为数组的长度。
- 本章我们将学习Java数组的声明,创建和初始化,并写出其对应代码。
声明数组变量
数组的创建与初始化
Java语言使用new操作符来创建数组,语法如下:
上面的语法做了两件事:
- 使用new double[5]创建了一个数组。
- 把新创建的数组的引用赋值给变量 marks。
数组变量的声明,和创建数组可以用一条语句完成,如下所示:
double [] marks=new double[]
数组的初始化有两种方法:
- 动态初始化:初始化时只指定数组长度,由系统为数组元素分配初始值;
数值型数组元素默认值是0
字符型元素的默认值是'\u0000’
布尔型的默认值是false
引用类型默认值是null。
代码如下:
- 静态初始化:初始化时显示指定每个数组元素的初始值,由系统决定数组长度
可以使用初始化器对数组元素初始化,它是在一对大括号中给出数组的每个元素值。
上面两句还可以写成如下更简单的形式:
用初始化器初始化的数组不能指定大小,系统根据元素个数确定数组大小
例题:
有十个学生的某科目成绩,要求输出高于平均分的成绩
import java.util.Scanner;
public class java_01 { //表示定义一个公开的类,起名为java_01
public static void main(String[] args) { //表示定义一个公开的静态的主方法
int [] a; //定义一个数组
double ave=0;
a=new int[10]; //定义数组长度
Scanner reader = new Scanner(System.in); //读取输入的信息
for(int i=0;i<10;i++)
a[i]= reader.nextInt(); //将输入的数据存入数组当中
for(int i=0;i<10;i++)
ave=ave+a[i];
ave=ave/10; //求平均数ave
System.out.println("平均值是:"+ave);
for(int i=0;i<10;i++)
if (a[i] > ave)
System.out.println(a[i]);
}
}
二维数组的声明和创建
数组元素的使用
例题:
使用二维数组计算两个矩阵的乘积。
矩阵 A 乘以矩阵 B 得到矩阵 C ,则必须满足如下要求:
1) 矩阵A的列数与矩阵B的行数相等。
2) 矩阵C的行数等于矩阵A的行数,列数等于矩阵B的列数。
public class java_02 {
public static void main(String[] args) {
//初始化第一个矩阵
int a[][] = {{1,2,1},{-2,4,1}};
int b[][] = {{4,3,0,-1}, {2,3,5,2}, {1,0,6,3}};
int c[][] = new int[2][4];
//计算矩阵乘积
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 4; j++) {
c[i][j] = 0;
for (int k = 0; k < 3; k++)
c[i][j] += a[i][k] * b[k][j];
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 4; j++)
System.out.printf(c[i][j] + " ");
System.out.println();
}
}
}