前言:经过5个工作日,辉仔完成了第二部分的学习。在学习的过程中也有一些心得体会和问题,都会被记录在这里。面对问题,我希望大家能帮我答疑解惑。这一章的学习内容相对于第一章来讲比较复杂一点(当然对于大佬来说都简单)。
目录
标题1:学习数组(Array)的思考与疑惑
1.什么是数组:数组是用于存储多个相同类型数据的存储模型.。打个比喻就是,把一堆书放在一个图书馆,将书编码并统一保管使用。
2.数组的格式及读法:
①数据类型[] 变量名
int [] arr
读法:定义了一个int类型的数组,数组名是arr。
②数据类型 变量名 []
int arr []
读法:定义了一个int类型的变量,变量名是arr数组
(一般采用第一种,但是还是要知道第二种)
3.用文字叙述往往没有画图来的直接,所以安排!直接上图:
①变量访问的方式 格式:数组名 Array1/Array2
②数组内保存数据的访问方式 格式:数组名索引
(Array1) 0→0 1→0 2→0
(Array2) 0→98 1→99 2→100
4.数组的内存分配:
完整的创建动态数组:
int [] arr=new int [3 ]
ps:arr是一个变量,可以用替换,3代表数据的长度为3,也可以替换。
arr是一个数组类型,旁边的int表示的是索引里面的元素所代表的数据类型
数据类型分为
基本数据类型和引用数据类型
左边:int [] arr 表示栈内存 存储局部变量 (使用完就消失,arr表示内存地址)
右边:new int [3 ] 堆内存 new出来的内容(垃圾回收器空闲时清理掉)
注意:
初始化的默认值:
整数:0
浮点数:0.0
布尔:false
字符:空字符
引用数据类型:null
5.静态数组:
格式1:int [] arr = new int [] {数据一、数据二、数据三。。。。}
格式2: int [] arr= {数据一、数据二、数据三。。。。。。}
6.数组的遍历:就是将数组中的每个元素分别获取出来,就是遍历
如果不用循环,数据量大了就特别麻烦。
如果用了循环进行遍历会方便很多
ps:arr.length表示的是数据的长度,也可以理解为个数。
格式3种:int [][] y 或int[]y[]或int y [][]
7.二维数组:
二维数组定义:
数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数]
用图像表示:
依旧理解成图书馆,arr[][]表示图书馆的地址,arr[]表示图书馆里面的柜子,arr[1][2]元素表示柜子里对应标号的书籍。
感悟 :学习数组就是为了处理数据更加的方便、简洁和快速。就拿之前做过的比喻,数组就想图书馆,将元素编号更便于查看与运用。方便处理大量的数据。在后期的学习中发现在运用多个数据是,运用数组确实简单一些。在数组方面的问题并没有太大,毕竟是一个集合实用工具。后面的方法就遇见了一些问题。
标题2:初面方法(Method)
1.方法的定义:
是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
可以简单理解为一个工具包。
2.方法的格式:
①无参数
方法名可以自己修改。
在idea上的操作格式
②带参数的方法
定义格式:
public static void 方法名 (参数1) { //这个参数1是实参,由变量和常量
方法体;
}
public static void 方法名 (参数1, 参数2, 参数3...) {
方法体;
} //这三个参数是形参,由数据类型和变量组成
图片表示:
③带return的参数方法
定义格式:
public static 数据类型 方法名 ( 参数 ) {
return 数据 ;
}
调用格式:
方法名 ( 参数 ) ;
数据类型 变量名 = 方法名 ( 参数 ) ;
ps:方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,
如果没有,写void;
如果有,写对应的数据类型
明确参数:主要是明确参数的类型和数量
3.方法的重载
定义:方法重载指同一个类中定义的多个方法之间的关系
判断方法:
① 多个方法在同一个类中
② 多个方法具有相同的方法名
③ 多个方法的参数不相同,类型不同或者数量不同
范例:
标题3:总结感悟
在学习方法时一直会有一个疑问为什么要用这个方法,因为我认为用不用方法我都可以把代码实现,后来通过询问老师和同学,了解到两个原因为什么使用方法:其一,以后会使用到方法集,直接调用方法包即可。其二,使用方法书写更加的简洁,易读。如果后续还有什么优点希望评论区的友友帮辉仔指出来,谢谢!学习了数组与方法,再将前面的内容结合起来。感觉就能写一个规范的代码。学到这里觉得代码的基础知识已经入门了。知识量也越来越大,还没有达到熟练运用的地步。没面对复杂的题,依旧无法下手,看来还是需要大量的练习呀!
ps:不定期更新自己学习Java的心得体会。以日记的方式见证自己的成长或者退步哈哈哈!!!!