您的位置:首页 > 编程语言 > Java开发

[Java基础]数组/二维数组/查找最大元素/平均值/复制/颠倒/矩阵相乘

2018-02-07 23:10 459 查看

数组

1】数组能顺序存储相同类型的多个数据,可以通过索引访问数据
2】所有元素的初始值都是0.0
3】数组一经创建,长度大小就是固定了
4】a.length获取数组a[]的长度,数组a的最后一个元素总是a[a.length-1]
5】如果你创建了一个大小为N的数组,但是使用了一个小于0或者大于N-1的索引访问它,程序会抛出ArrayIndexOutOfBoundsException异常而终止
6】数组起别名会导致难以察觉的问题,如果你像复制数组,应该声明创建并初始化一个新的数组,然后复制到新数组里去
package 数组;

public class test {

public static void main(String[] args) {

int N = 10;
// 完整模式
double[] a;
a = new double
;
for (int i = 0; i < N; i++) {
a[i]=0.0;
}

//简化写法
double[] newa = new double
;

//声明初始化
int[] b = {1,3,4,5,5};

}

}

常用数组操作算法

package 数组;

public class task {

// 找出数组中最大的元素
public double findMax(double[] a) {
double max = a[0];
for (int i = 0; i < a.length; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}

// 计算数组元素的平均值
public double findAverage(double[] a) {

int N = a.length;
double average = 0;
double sum = 0.0;
for (int i = 0; i < N; i++) {
sum += a[i];
average = sum / N;
}
return average;

}

// 复制数组
public double[] copyArr(double[] a) {
int N = a.length;
double[] b = new double
;
for (int i = 0; i < N; i++) {
b[i] = a[i];
}
return b;

}

// 颠倒数组元素的顺序
public double[] reversalArr(double[] a) {
int N = a.length;
for (int i = 0; i < N / 2; i++) {
double temp = a[i];
a[i] = a[N - 1 - i];// 交换顺序为 第一个和最后一个交换,第二个和倒数第二个换,只换N/2遍即可
// N-1为最后一个数,N-1-i为需要交换的数
a[N - 1 - i] = temp;
}
return a;

}

// 矩阵相乘(方阵)
public double[][] multiplyArr(double[][] a, double[][] b) {

int N=a.length;
double[][]c=new double

;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
for (int k = 0; k < N; k++) {
//计算行i和列j的点乘
c[i][j]+=a[i][k]*b[k][j];
}

}

}

return c;

}

}

二维数组

1】初始化为0可以直接用简化,但是如果想要初始化为其他值,需要嵌套循环或手动初始化

int M=10;//这里的长度是必须给的
int N=10;
double[][] a;
a=new double[M]
;
for (int i = 0; i <M; i++) {
for (int j = 0; j < N; j++) {
a[i][j]=0.0;

}

}

//简化写法
double[][] b = new double[M]
;

}

打印二维数组

for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {

System.out.print(c[i][j]+" ");
}
System.out.println("\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: