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);

  1. 可以是0个或多个参数
  2. 与数组形参不可构成重载,可以与0、1、2..个参数的构成重载
  3. 需要放在形参声明的最后
  4. 使用方法与数组形参是一致的
posted @ 2020-05-04 20:03  萝莉巴索小布丁  阅读(59)  评论(0)    收藏  举报