摘要:
1.面试题:问两次打印的number是多少? 通过内存图来分析流程 main进入栈内存,定义了变量,栈内存给相应的空间,打印。 调用change方法,change进入栈内存,形参在内存中也属于变量,所以栈内存也要给相应的空间,你给形参什么,形参就记录什么,在调用change方法的时候,我们把主方法的 阅读全文
摘要:
1.索引越界异常 例子 原因:错误地方在于<=arr.length,长度只有3,如果小于等于那i就会是0,1,2,3 索引没有3,所以报错 . 正确查看java错误提示方法:从下往上看 紫色的代码类似于超链接,点击便会跳到我们代码出错的地方 灰色的代码即是错误操作的名称,如:索引越界异常(Array 阅读全文
摘要:
1.java内存分配介绍:灰色字体的不需了解 2.对数组内存图流程分析 1.原文件翻译成字节码进入方法区待命,main被jvm自动调用进栈内存,接着执行main里的代码,变量是内存中的存储空间,因此arr开辟空间。 注意:我们写的简化静态初始化只是简化了代码书写,真正运行时还是按照完整格式运行。 有 阅读全文
摘要:
1.数组的动态初始化 2.两种初识化的区别 3.两种初始化的使用选择 1.静态初始化:如果要操作的数据,需求中已经给出了,直接静态初始化 如:从100 50 40中找出最大值 . 2.动态初始化:只明确元素个数,不明确具体值 如:键盘录入5个数,找出最大值 . 案例:键盘录入5个学生成绩,求出最高分 阅读全文
摘要:
1.找出最大值 模拟成5个选手进行武力比赛 注意事项: 请误写成int max=0,如果写成这样,那最大值可能会出错 如图 原因是我们的索引是从1开始的,0直接被忽略了,而0又是最大的。 . 但是这种写法还是有弊端,如果我们的同事使用我们的方法,但是他想使用别的数据,那我们的方法就没用了,过于死板 阅读全文
摘要:
1.数组元素访问、索引 数组元素的访问不止局限于打印数组元素,我们可以随意使用数组元素 如: 2.数组遍历 将数组的每一个内容(元素),取出来进行操作 . 如果要大于数组的所有元素,该怎么操作? 注意索引是从0开始的。没错,按照我们之前的知识,使用for循环,循环5次便可以打印数组的所有元素。 但还 阅读全文
摘要:
1.数组 2.使用场景 当拥有多个数据,并且所有数据的类型一致时,可以考虑使用 3.数组的格式(通常用第一种) 4.初始化 注意事项: 这种定义,定义出来的只是数组类型的变量,内存中还没有创造出数组容器 5.数组静态初始化格式 1.完整格式: 2.简化格式:(推荐) 6.打印出的数组解析 按照前面的 阅读全文
摘要:
1.重载 是方法和方法之间的一种关系 . 2.重载的要求 要在同一个类中,定义了多个同名的方法,但每个方法的参数不同。 . 3.判断下列方法是否为重载关系 1. 答:同一个类中,方法名相同,但是参数无论是类型还是个数都一样,所以不是重载关系。(void和int是返回值类型,无关) . 2. 答:同一 阅读全文
摘要:
1.方法流程知识 2.流程分析 . 1.首先,我们写的原文件会被dlc编译成字节码文件,然后字节码文件会进入到方法区待命 2.然后,原文件里有什么,字节码文件里就有什么,所以MethodDemo1.class里会加载main、getmax 3.方法区的方法就会留在方法区等待调用,其中main方法较为 阅读全文
摘要:
1.方法的定义、作用 一段具有独立功能的代码块,不调用就不执行 2.方法的定义及调用 3.实操 4.注意事项 . 1.方法和方法之间是平级关系,不允许嵌套定义(不能将方法写在main方法里面,而是要和main方法平级) . 2.方法不调用就不会执行,要在main方法里调用方法 . 3.方法的定义顺序 阅读全文