第五天
第五天讲的是一维数组和二维数组,当时学完二维数组以后做了杨辉三角题目,课上自己想没有想出来,然后老师讲课的时候我有点走私,还在自己想怎么做,以至于后来老师解析完这道题,我还是没弄懂,到晚自习结束我也没心思弄这道题,后来回宿舍,十一点多的时候舍友说看一下杨辉三角,然后我说我也看一下,结果突然就想明白了,然后当时就能自己把代码写出来,我想说的有2点,一个是上课老师讲课一定要认真听,然后就是有不会的不要急,先缓一下,没准什么时候就突然开窍了,当然不能耽误太长时间
第五天内容总结,其实像这种数字类的知识,多想想就明白了,但是面向对象讲的是思想,真的是不好弄明白
一、数组(重点、难点、掌握)
什么叫做数组:用来装一堆相同数据类型数值的容器叫做数组
一维数组格式:
数组类型[] 数组名(一般用这种格式)
数组类型 数组名[]
动态初始化
数组类型[] 数组名 = new 数组类型[m];
动态初始化定义了数组的长度,但是没有定义数组内容,系统会给数组分配默认值
int类型的默认值是0
浮点型默认值 0.0
char类型默认值 "\u0000"
String默认值 null
boolean默认值 false
静态初始化
数组类型[] 数组名 = {数据1, 数据2, 数据3, 数据4, 数据5}
静态初始化给出了数组里边的内容,系统会自动判断数组长度
获得数组长度的方法:
数组名.length
数组即可以存储基本数据,也可以存储引用数据
通过数组引出来内存中 栈、堆和方法区(面向对象讲)
栈内存:用来存储局部变量
堆内存:用来存储new出来的对象
数组在内存中是通过数组在内存中的地址来进行指向的
二、二维数组(理解)
二维数组的格式
数组类型[][] 数组名
数组类型 数组名[][]
二维数组动态初始化
有2种
数组类型[][] 数组名 = new 数组类型[m][n]
数组类型[][] 数组名 = new 数组类型[m][]
m代表二维数组最外边的大括号,表示行,包含n
n代表二维数组里边的大括号,表示列,被m包含
int[][] arr = new int[m][n];
表示int数组类型的arr,里边有m个一维数组,每个一维数组有n个数据
二维数组静态初始化
数组类型[][] 数组名 = new 数组类型[][]{{},{}};
数组类型[][] 数组名 = {{1,2,3,4},{3,4},{3},{2,3}};
注意:静态初始化数组,大括号后边有一个分号
还可以这样
int[ ][ ] arr = new int[3][ ];
arr[0] = new int[2];
arr[1] = new int[3]
arr[2] = new int[1];
|
|