数组的复习:

数组的复习:

一:一维数组的使用
1.一维数组的声明和初始化
int[] arr = new int[]{1,2,3};//静态初始化
int[] arr1 = new int[5];//动态初始化
int arr2[] = new int[5];//也是正确的写法
int[] arr3 = {1,2,3}//也是正确的写法
2.如何调用数组的指定位置的元素
int[] arr = new int[]{1,2,3}
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
3.如何获取数组的长度

即:数组的属性(.length)

int[] arr4 = new int[]{1,2,3,5,9};
System.out.println(arr4.length);//结果为5
4.如何遍历数组
int[] arr5 = new int[]{1,2,5,6,8,9}
for(int i = 0;i < arr5.length;i++){
    System.out.println(arr5[i]);//结果为1 2 5 6 8 9
}
5.数组元素的默认初始化值

int 型----------->0;

boolean型-------->false;

char型----------->ASCII码中的代表0的元素;

String(引用类型)---------->null;

浮点型--------->0.0;

6.数组的内存解析
微信图片_20210805200830
7.案例:

从键盘读入学生人数跟成绩,找出最高分,并输出学生成绩等级。成绩 >= 最高分 - 10 等级为’A‘;成绩 >= 最高分 - 20 等级为’B‘;成绩 >= 最高分 - 30 等级为’C‘;其余 为’D‘。提示:先读入学生人数,根据人数创建int数组,存放学生成绩。

import java.util.Scanner;
public class ArraryTest{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入学生人数:")int number = input.nextInt();
        System.out.println("请输入" + number + "个学生成绩:")int[] grade = new int[number];
        int max = 0;
        char a;
        for(int i = 0;i < grade.length;i++){
            grade[i] = input.nextInt();
            if(max < grade[i]){
                max = grade{i};
            }
        }
        System.out.println("最高分为:" + max);
        for(int i = 0;i < grade.length;i++){
            if(grade{i} >= max - 10){
                a = 'A';
            }else if(grade[i] >= max -20){
                a = 'B';
            }else if(grade[i] >= max - 30){
                a = 'C';
            }else{
                a = 'D';
            }
        }
        System.out.println("student " + i + "成绩为 " + grade[i] + "等级为 " + a);
    }
}
二:二维数组的使用
1.二维数组的声明和初始化
int[][] arr = new int[][]{{1,2,3},{4,5,6},{7,8,9}};//静态初始化
int[][] arr1 = new int[4][3];//动态初始化  or
int[][] arr2 = new int[4][];//动态初始化
2.如何调用数组的指定位置的元素
int[][] arr3 = new int[][]{{1,2,3},{4,5,6,5,8},{7,8,9}};
System.out.println(arr3[0][1]);//结果为2;
3.如何获取数组的长度

即:数组属性(.length)

int[][] arr3 = new int[][]{{1,2,3},{4,5,6,5,8},{7,8,9}};
int[][] arr4 = new int[4][];
System.out.println(arr4.length);//结果为4;
System.out.println(arr3.length);//结果为3;
System.out.println(arr3[1].length);//结果为5
4.如何遍历数组
int[][] arr5 = new int[][]{{1,2,3},{4,5,6,5,8,8,5},{7,8,9}};
for(int i = 0;i < arr5.length;i++){
    for(int j = 0;j < arr5[i].length;j++){
        System.out.println(arr5[i][j] + " ");//结果为1 2 3 
        									 //		4 5 6 5 8 8 5
        									 //		7 8 9
    }
    System.out.println();
}
5.数组元素的默认初始化值
规定:二维数组分为外层数组的元素,内层数组的元素
     int[][] arr6 = new int[4][3];
外层元素:arr6[0],arr6[1]等
内层元素:arr6[0][0],arr6[1][2]等
针对于初始化方式一:比如 int[][] arr = new int[4][3];
      外层元素的初始值为:地址值
      内层元素的初始值为:与一维数组初始化情况相同
针对于初始化方式二:比如 int[][] arr = new int[4][];
      外层元素的初始值为:null
      内层元素的初始值为:不能调用,否则报错
6.二维数组的内存解析
微信图片_20210805200848
7.案例:

杨辉三角:打印10行的杨辉三角

public class YangHuiTest {
    public static void main(String[] args) {
        int[][] yangHui = new int[10][];
        for (int i = 0;i < yangHui.length;i++){
            yangHui[i] = new int[i + 1];
            yangHui[i][0] = yangHui[i][i] = 1;
            for(int j = 1;j < yangHui[i].length - 1;j++){
                yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];
            }
        }
        for(int i = 0;i < yangHui.length;i++){
            for (int j = 0;j < yangHui[i].length;j++){
                System.out.print(yangHui[i][j] + " ");
            }
            System.out.println();
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值