day08 学习内容
今日重点:
(1)掌握二维数组的用法及其使用场景
(2)理解数组中所涉及的算法
(3)练习客户管理系统的样例代码,完善项目的功能
(4)理解掌握java中的可变参数
简单数组
int[] arr = {0,1,2};
一、二维数组
1. 动态初始化
格式1:
//声明 {{0,0,0},{0,0,0}}
int[][] arr = new int[2][3];
格式2:
//声明
int[][] arr = new int[2][];//{null,null}
//赋值
arr[0] = new int[]{0,9,2};//{{0,9,2},null}
arr[1] = new int[2];//{{0,9,2},{0,0}}
arr[1][0] = 1;//{{0,9,2},{1,0}}
arr[1][1] = 6;//{{0,9,2},{1,6}}
2. 静态初始化
int[][] arr = new int[][]{{3,8,2},{2,7}};
二、数组涉及的算法
1. 和、均值、最大值、最小值
和
int[] number = {1,4,32,0,80};
int sum =0;
for(int i:number){
sum += i;
}
均值
int[] number = {1,4,32,0,80};
int sum =0;
for(int i:number){
sum += i;
}
double numberAvg = (double)sum/number.length
最大值
int[] number = {1,4,32,0,80};
int max =number[0];
for(int i:number){
if(max<i){
max = i;
}
}
最小值
int[] number = {1,4,32,0,80};
int min =number[0];
for(int i:number){
if(min>i){
min = i;
}
}
2. 复制
int[] number = {1,4,32,0,80};
int[] arrCopy = new int[number.length];
for(int i=0;i<number.length;i++){
arrCopy[i] = number[i];
}
3. 反转
int[] number = {1,4,32,0,80};
for(int i=0;i<number.length/2;i++){
int temp = number[i];
number[i] = number[number.length-1-i];
number[number.length-1-i] = temp;
}
4. 排序
java.util.Arrays类的sort()方法
import java.util.Arrays;
public class Sort{
public static void main(String[] args){
int[] number = {1,4,32,0,80};
Arrays.sort(number);//调用sort方法
for(int i:number){
System.out.println(i);
}
}
}
三、可变参数
解决参数个数不固定时的需求问题
- 数组形参
public static void test(int a,String[] books);
- 可变个数形参
public static void test(int a,String...books);
- 可以是0个或多个参数
- 与数组形参不可构成重载,可以与0、1、2..个参数的构成重载
- 需要放在形参声明的最后
- 使用方法与数组形参是一致的

浙公网安备 33010602011771号