黑马程序员Java零基础视频教程_上部(2022新版Java入门,含斯坦福...

数组的内存状态,new出来的在堆里,程序从main开始到结束在栈里。
Java内存分配
●栈
方法运行时使用的内存,
比如main方法运行,
进入方法栈中执行
●堆
new来创建的,
都存储在堆内存


方法调用的基本内存原理:细节如下
调用main,加入栈;
main中调用eat(),将eat方法加入栈;
eat中调用study(),将study方法加入栈;

study方法执行输出,结束,study出栈;

回到调用study处,执行输出;
执行sleep,sleep进栈;

sleep执行输出,结束,sleep出栈;

回到调用处,eat结束,eat出栈;
main结束,main出栈。

基本数据类型、引用数据类型的分类和本质

本质:
基本数据类型中变量存储的是真实的数据,传递时传递的时真实的数据

引用数据类型中存储的是地址值。修改了值,其他引用数据也是变化后的值。

二维数组:
综合练习-09-二维数组 P80 - 04:50
编程思路
1.根据需求分析步骤,再想 1)我要干啥?2)需要啥数据?3)需要返回值嘛? 2.在一堆没有规律的数据中随机抽取,可以先把数据放入数组中,随机抽取索引。
编程习惯
1.写代码写的不要太绝对,防止后面更改需求的时候太麻烦 //如i < sc.length;虽然知道sc.length是6,但为了以后,用sc.length 2. //判断当前奖项是否已经存在,不用flag=0 ,是个很好的思想。 public static boolean isHave(int[] arr, int a){ for (int i = 0; i < arr.length; i++) { if(arr[i] == a){ return true; } } return false; }