二维数组
    数组的每一个元素都是一个一个的值,我们称之为一维数组
    二维数组 中的每一个元素都是一个一维数组,
    二维数组是储存一维数组的数组
    定义一维数组
    元素数据类型[] 数组名;

    定义二维数组
    元素数组类型[][] 数组名;
    int[][] arrInarr;
    声明了一个二维数组arrInArr,每一个元素都是一个int[]类型的一维数组

    二维数组的初始化
    静态初始化
    事先知道元素是什么
    元素数据类型[][] 数组名 = new 元素数据类型[][] {一维数组1,一维数组2……}
    int[] arr1 = {1,2,3};
    int[] arr2 = {4,5};
    int[] arr3 = {6};
    int[][] arrInArr = new int[]{arr1,arr2,arr3};

    int[][] arrInArr2 = {{1,2,3},{4,5},{6}}
    image.png
    二维数组的长度:数组名.length

    动态初始化二维数组
    语法
    元素数据类型[][] 数组名 = new 元素数据类型[x][y];
    x: 表示二维数组有x个一维数组
    y: 表示每一个一维数组有y个元素
    定义了一个x行y列的二维数组

    获取二维数组的元素
    //step1: 通过二维数组获取每个一维数组
    int [] arr;
    int item;
    for( int i = 0; i < arrInArr.length;i++){
    arr = arrInArr[i];
    for(int j = 0; j < arr.length; j++){
    item = arr[j];
    System.out.print(item + “ “);
    }
    System.out.println(); //换行
    }

    image.png

    方法:
    方法的设计练习(难点)
    方法的定义(重点)
    方法的调用(重点)

    针对于某一功能的重复操作,循环解决不了,就需要用到方法
    方法
    封装一个功能的代码块
    被提取出来的功能代码可以就是类中定义的一个方法

    意识: 实际开发过程中重复的功能代码抽离出来,定义成方法,通过方法调用远程重复功能地执行

    方法
    概念:完成特定功能且可以被重复调用的代码快
    定义语法
    [ 修饰符 ]返回值类型 方法名(参数类型 参数1 , 参数2 …..){
    方法体
    [return 返回值]
    }

    方法语法解析
    1> [修饰符] 修饰符直接写public static即可
    2> 返回值类型: 完成特定功能,是否需要给调用者返回一个值
    如果需要返回一个值,那写上这个返回值的数据类型
    如果不需要返回一个值,就写上void,表示无返回值
    3> 方法名,就是方法的名字,未来通过方法名需要方法. 方法名需要符合命名规则, 建议使用动词
    4> 参数列表. 有多个参数构成的列表,每个参数用,号分割
    5> 方法体: 完成某一个功能的代码
    6> return
    ①把值返回给调用者
    ②结束方法

    image.png
    image.png
    方法的调用
    形势参数: 方法定义是的参数称为形势参数,简称形参
    实际参数: 方法调用时需要传入到方法中的真实的具体参数,简称实参
    方法调用的语法:
    所在类的类名.方法名(实际参数)
    类名.方法名(实际参数)
    调用方法的地方(行数)称为方法的调用处/调用者
    int m = 10;
    int n = 20;
    int result;
    result = MethodDemo3.add(m,n);
    // 调用add方法,传入实参m,n
    image.png
    设计方法:
    开发者主要抓住两点即可
    1> 形势参数:看一个功能, 是否存在未知的因素需要调用处传入,如果需要把他们定义成方法形参
    2> 返回值类型:看完成一个功能是否需要给调用处返回一个结果?
    —-如果需要给调用处返回结果,那么就写上这个结果的数据类型
    —-如果不需要给调用处返回结果,那么就写上void,表示无返回

    image.png

    image.png
    image.png