二维数组
理解: 元素是一维数组的数组
格式:
A:数据类型[ ] [ ] 数组名 = new 数据类型[m] [n];
B:数据类型[ ] [ ] 数组名 = new 数据类型[m] [ ];
C:数据类型[ ] [ ] 数组名 = new 数据类型[ ] [ ]{{…},{…},{…}…};
D:数据类型[ ] [ ] 数组名 = {{…},{…},{…}…};
注意:
1.注意下面定义的区别
int x; int[ ] x;
int y; int[ ] y;
int x,y; //定义变量x,y int[ ] x, y[ ]; //定义一维数组x,二维数组y
2.数据类型 [ ] [ ] 变量名 = new 数据类型[m] [ ];
m表示这个二维数组有多少个一维数组。
这一次没有直接给出一维数组的元素个数,可以动态的给出。
举例:int[ ] [ ] = new int[3] [ ];//定义一个长度为3的二维数组
int[0] = new int[3];//第一个一维数组有3个元素
int[1] = new int[4];//第二个一维数组有4个元素
int[2] = new int[5];//第三个一维数组有5个元素
//定义数组
int[][] arr = new int[3][];
System.out.println(arr); //[[I@175078b
System.out.println(arr[0]); //null
System.out.println(arr[1]); //null
System.out.println(arr[2]); //null
//动态的为每个一维数组分配空间
arr[0] = new int[2];
arr[1] = new int[3];
arr[2] = new int[1];
System.out.println(arr[0]); //[I@42552c
System.out.println(arr[1]); //[I@4255d6
System.out.println(arr[2]); //[I@425516
System.out.println(arr[0][0]); //0
System.out.println(arr[0][1]); //0
参数传递问题
Java只有值传递
基本数据类型:形式参数的改变不影响实际参数
引用数据类型:形式参数的改变影响实际参数
注意: 字符串作为形式参数传递时,不影响实际参数,基本数据类型的包装类也是一样的情况。
当使用引用数据类型作为方法的形参时,若在方法体中修改形参指向的数据内容,会 对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区;
当使用引用数据类型作为方法的形参时,若在方法体中改变了形参变量的指向,此时不会 对实参变量的数值产生影响,因此形参变量和实参变量分别指向不同的堆区;最后一个例子就是最形象的解释。
参考文档:https://blog.csdn.net/weixin_43030796/article/details/81974190
面向对象
面向对象
面向对象是基于面向过程的编程思想。
类与对象
类是一组相关的行为和属性的集合,是一个抽象的集合。
对象是该类事务的具体存在,是具体的实例。
类的定义及使用
A:类的定义
成员变量:类中方法外
构造方法
成员方法
B:使用类的内容
a.创建对象,格式
类名 对象名 = new 类名( );
b.如何使用成员变量和成员方法
对象.成员变量
对象.成员方法( )