Day7:矩阵元素相加
实现矩阵的赋值和二重循环
part 1:import
导入的用法 可以导入类,导入包,导入项目
导入方式:
1:全局导入:导入声明在方法外
2:局部导入:导入声明在方法中
当你自定义的类和系统的类重名的时候,如果要使用系统类,就得使用局部导入
只有当把这个类导入到当前类中,这个类中的属性和方法,才能调用。
part 2:Arrays
一维数组常见定义方法:
数据类型 [] 数组名称 = new 数据类型[长度];
二维数组常见定义方法:
数组的动态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数];
数组的静态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数]{{值, 值,…}, {值, 值,…},…};
part 3:Arrays类常用方法
example 1:数组复制 copyOfRange
example 2:转化为字符串 toString
example 3:排序 sort
example 4:搜索 binartSearch 注:使用该搜索之前需要对数组进行排序
example 5:判断是否相同 equals
example 6:填充 fill
part 4:Arrays.deepToString()与Arrays.toString()的区别
Arrays.deepToString()主要用于数组中还有数组的情况,而Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来。遍历一维数组用toString()方法,遍历二维数组用deepToString()方法。
package tesss;
import java.util.Arrays;
public class arrays {
public static void main(String args[]) {// 执行求和以及加法测试
matrixElementSumTest();
matrixAdditionTest();
}// Of main
public static int matrixElementSum(int[][] paraMatrix) {
int resultSum = 0;
for (int i = 0; i < paraMatrix.length; i++) {
for (int j = 0; j < paraMatrix[0].length; j++) {
resultSum += paraMatrix[i][j];
} // Of for j
} // Of for i
return resultSum;
}// Of matrixElementSum 对矩阵的值求和
public static void matrixElementSumTest() { // 测试矩阵值相加的实验
int[][] tempMatrix = new int[3][4];
for (int i = 0; i < tempMatrix.length; i++) {
for (int j = 0; j < tempMatrix[0].length; j++) {
tempMatrix[i][j] = i * 10 + j;
} // Of for j
} // Of for i
System.out.println("The matrix is: \r\n" + Arrays.deepToString(tempMatrix));
System.out.println("The matrix element sum is: " + matrixElementSum(tempMatrix) + "\r\n");
}// Of matrixElementSumTest
public static int[][] matrixAddition(int[][] paraMatrix1, int[][] paraMatrix2) {
int[][] resultMatrix = new int[paraMatrix1.length][paraMatrix1[0].length];
for (int i = 0; i < paraMatrix1.length; i++) {
for (int j = 0; j < paraMatrix1[0].length; j++) {
resultMatrix[i][j] = paraMatrix1[i][j] + paraMatrix2[i][j];
} // Of for j
} // Of for i
return resultMatrix;
}// Of matrixAddition 矩阵值相加
/**
*********************
* Unit test for respective method.
*********************
*/
public static void matrixAdditionTest() {
int[][] tempMatrix = new int[3][4];
for (int i = 0; i < tempMatrix.length; i++) {
for (int j = 0; j < tempMatrix[0].length; j++) {
tempMatrix[i][j] = i * 10 + j;
} // Of for j
} // Of for i
System.out.println("The matrix is: \r\n" + Arrays.deepToString(tempMatrix));
int[][] tempNewMatrix = matrixAddition(tempMatrix, tempMatrix);
System.out.println("The new matrix is: \r\n" + Arrays.deepToString(tempNewMatrix));
}// Of matrixAdditionTest
}
运行结果如下