1. 方法总结
1.1 方法的三要素
返回值类型
当前方法运行之后对外的数据产出
方法名
明确告知用户这里运行的方法是哪一个,执行的效果会怎么样。
小驼峰命名法,见名知意,动宾结构
形式参数列表
巧妇难为无米之炊,方法运行所需的外来数据,方法运行的必要条件!!!
1.1.1 方法名
规矩
1. 只能用英文字母(A ~ Z a ~ z), 数字(0 ~ 9),还有下划线 _
2. 见名知意,动宾结构
好的代码从方法名开始
3. 小驼峰命名法
行为规范
setXXX
getXXX
remove
add
delete
update
attribute
1.1.2 返回值类型
返回值
1. 没有什么必要和不必要,需求分析过程!!!
2. 返回值的数据类型
3. 返回值的数据含义
4. 返回值每一次有且只能返回一个数据
1.1.3 形式参数列表
巧妇难为无米之炊!
需求分析过程!!!
用户注册
用户名,手机号,密码....
用户购物下单
用户地址,money
做菜
酱牛肉
牛肉,葱,姜,蒜,料酒,八角,花椒,麻椒,辣椒,小茴香,香叶,桂皮,
山奈,老抽,冰糖,耗油,黄豆酱
形式参数实际上是在对于方法分析过程中,了解方法运行需要必要参数,并且在参数使用必要性上做论证。
1.2 方法的完成过程
1. 需求分析
方法名,形式参数列表,返回值类型
2. 考虑方法的执行流程
可以采用注释辅助完成方法的执行流程
3. 实现代码
按照注释完成代码
【不要头铁】【不要自大】【认清自我】
【知错就改】
4. 验证
代码运行验证,正确参数情况,运行结果怎么样
错误参数是,代码反馈是什么
代码的稳定性,健壮性,安全性
【方法中需要使用参数合法性判断】
2. 数组【重点】
2.1 生活中的数组
超市
商品货物的存放,是不是分门别类???
分门别类有什么好处???
便于管理,便于查找
理念 【归纳总结】
图书馆:
1. 社科类,文学类,管理类,小说类,历史类,语言类
2. 相同的书籍会存放于一个书架上 【同一个位置】
3. 每一本书都要有一个唯一的编号 【同样的称呼】 W-101
4. 同一本有10本,都会有一个唯一的索引
W-101-01 ~ W-101-10 【唯一索引】
通过图书馆我们可以概括
1. 存储位置一致,并且连续
2. 有统一的称呼,方便管理
3. 存在唯一索引,具有一定的唯一性
2.2 开发中的实际情况
开发中一定存在对于大量相同数据处理的过程!!!
如果按照单一变量的定义方式,会导致
1. 代码冗余!!!
2. 代码维护性极差!!!
3. 代码可操作性极差!!!
4. 代码阅读性极差!!!
这里可以模仿生活中的案例,图书馆,超市,把这些同一个数据类型的数据,存放在一起,方便管理和使用
引入数组使用的场景和概念!!!
2.3 Java中创建数组的方式
案例
int[] array = new int[10];
【补充知识点 引用数据类型 难点】
引用在生活中很常见,比如 文献中引用,文言文注解引用,广告角标上标引用,这些目的,引入其他的内容,其他的文献,其他的操作...
引用存在的一定的【指向性!!!】
取快递
快递小哥如何知道你的地址在哪里???
根据快递单上的地址,联系方式和姓名来找到你的位置。
快递单这里也存在一定的【指向性!!!】
快递单中存有一个非常重要的数据【地址】!!!
开发中的【引用数据类型】,实际上是一个指向其他内存空间的一个数据类型。引用数据类型的变量中存储的内容是其他内存空间的【首地址】。
当CPU访问到【引用数据类型】变量时,会得到其存储的地址,然后直接跳转到对应的内存空间中,执行代码,获取数据,操作内容...
2.4 定义数组和使用
定义数组:
int[] array = new int[10];
需要操作数组中哪一个元素,这里需要使用数组的【下标】
计算机内数据的开头都是从0开始,数组容量为10的情况
有效下标的范围
0 ~ 9
0 ~ 数组容量 Capacity - 1
操作格式:
数组名[有效下标]
class Demo2 {
public static void main(String[] args) {
int[] array = new int[10];
array[0] = 10;
array[5] = 20;
System.out.println("array[0] : " + array[0]);
System.out.println("array[5] : " + array[5]);
}
}
2.5 数组内存分析图【难点】
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/54bc6970dce427a16ce3f215e6ca66f5.png)
2.6 数组和循环不得不说的秘密
数组的下标是不是一个等差数列?
0 ~ 数组容量 - 1
这里和循环存在一定的关系!!!
数组关系极为密切是for循环!!!
class Demo3 {
public static void main(String[] args) {
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}