复习:
-
循环嵌套语句
一个循环语句中有包含了另一个循环语句。
for(){
for(){
}
} -
跳转语句
break;:循环或switch
continue;:循环中
return; : 方法中 -
方法
定义在类中,与main方法是平级的。
修饰符 返回值类型 方法名(参数列表){
…
return 返回值;
}
目标: -
数组理解
-
数组创建
-
数组内存理解
-
数组应用
数组理解
概念:是一个容器,可以存储多个数据。
特点: -
存储的数据必须是相同类型
-
容器的大小是固定
-
数组存储的每一个数据都有下标(角标),通过下标操作数据,角标从0开始
获取数组的长度: 数组名.length
获取数组的最大下标值: 数组名.length-1 -
容器中既可以存储基本类型数据,也可以存储引用类型数据
创建:
动态定义:
元素类型[] 数组名 = new 元素类型[元素个数];
静态定义:
元素类型[] 数组名 = new 元素类型[]{元素1,元素2,元素3,…};
简写格式:
元素类型[] 数组名 = {元素1,元素2,元素3,…};
数组内存理解:
jvm启动时,将内存划分了5块区域,不同的区域做不能的管理,提高效率。
寄存器、本地方法区。
堆、栈、方法区,与我们有关。
栈:
用来执行方法的。
特点:先进后出。
局部变量:都有作用域,存储在栈中。
堆:
存储容器中的数据。
只要看见关键字new说明都是在堆中开辟空间。
特点:
1、开辟空间就要占位置,分配内存地址
2、在该空间存储默认值
整数:0 float:0.0f double:0.0 boolean:false char:’\u0000’
引用:null
3、容器没有被任何引用变量所指向,那么这个容器就是垃圾。
在java中,有一个GC机制会不定时启动,处理堆中的垃圾。
如何让一个容器成为垃圾?
引用变量值为null。
方法的参数传递问题:
值传递:指的是基本数据类型值的传递,对原来的变量没有影响。
引用传递:指的是引用数据类型值(地址值)的传递,对原来的变量有影响。
操作数组容易出现的两个异常:(运行阶段产生)
ArrayIndexOutOfBoundsException :数组下标越界异常
操作了不存在的下标值。
NullPointerException : 空指针异常
引用变量值是null,还想要通过该引用变量操作容器中的数据。
应用: -
遍历数组元素
-
获取数组元素最值
-
数组元素查找
-
数组元素的反转