数组使用
- 打印全部的数组元素
- 计算所有元素的和
- 查找最大的数
package array;
public class ArrayDemo03 {
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
//打印全部的数组元素
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("————————————————————————————");
//计算所有元素的和
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum = sum + array[i];//sum+=array[i]
}
System.out.println("sum="+sum);
System.out.println("————————————————————————————");
//查找最大的数
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i]>max){
max = array[i];
}
}
System.out.println("max="+max);
}
}
For-Each循环
没有下标
//JDk1.5 没有下标 For-Each循环
for (int array : arrays) {
System.out.println(array);
}
反转数组
//反转数组
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
//反转操作
for (int i = 0,j=result.length-1; i < arrays.length; i++,j--) {
result[j] = arrays[i];
}
return result;
}
多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组
数组中的数组,嵌套
int a[][] = new int[2][5];
//可以看成两行五列得数组
int[][] b = {{1,2}, {2,3}, {3,4}, {4,5}};
package array;
public class ArrayDemo05 {
public static void main(String[] args) {
//int[][] array = new int[2][5];
/* [4][2] 4行2列
1,2 array[0]
2,3 array[1]
3,4 array[2]
4,5 array[3]
*/
int[][] array = {{1,2}, {2,3}, {3,4}, {4,5}};
//System.out.println(array[0]);// [I@55ddc3ea
//printArray(array[0]);
//System.out.println(array[0][0]);
//System.out.println(array[0][1]);
//System.out.println(array[1][0]);
//System.out.println(array[1][1]);
System.out.println(array.length);// 4
System.out.println(array[1].length);// 2
// 二维数组的输出
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
}
//打印数组元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
}
Arrays 类
- 数组的工具类java.util.Arrays
- 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
- 查看JDK帮助文档
- Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是"不能")
- 具有以下常用功能:
- 给数组赋值:通过fil方法。
- 对数组排序:通过sort方法,按升序
- 比较数组:通过equals 方法比较数组中元素值是否相等
- 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操
package array;
import java.util.Arrays;
public class ArrayDemo06 {
public static void main(String[] args) {
int[] a = {1,2,3,4,9090,31231,543,21,3,23};
System.out.println(a);//[I@238df2e4
//打印数组元素
//System.out.println(Arrays.toString(a));
//printArray(a);
Arrays.sort(a);//升序
System.out.println(Arrays.toString(a));
Arrays.fill(a,2,4,0);//数组填充 [1, 2, 0, 0, 4, 21, 23, 543, 9090, 31231]
System.out.println(Arrays.toString(a));
}
public static void printArray(int[] a){
for (int i = 0; i < a.length; i++) {
if (i==0){
System.out.print("[");
}
if (i==a.length-1){
System.out.print(a[i]+"]");
}
else {
System.out.print(a[i]+", ");
}
}
}
}