JAVA学习笔记4
数组
-
数组的定义格式:
- 格式1: 数据类型[] 变量名(推荐使用这种格式)
- 范例:int[] arr
- 定义了一个int类型的数组,数组名是arr
- 格式2:数据类型 变量名[]
- 范例:int arr[]
- 定义了一个int类型的变量,变量名是arr数组
-
数组初始化之动态初始化
-
定义:初始化时只指定数组长度,由系统为数组分配初始值 -
格式:数据类型[] 变量名 = new 数据类型[数组长度]; -
范例: int[] arr = new int[3];
int:说明数组中的元素类型是int类型;
[]:说明这是一个数组;
arr:这是数组的名称;
new:为数组申请内存空间;
int:说明数组中的元素类型是int类型;
[]:说明这是一个数组;
3:数组长度,其实就是数组中的元素个数
public class array3 {
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
-
数组初始化之静态初始化
-
数组元素访问
-
数组变量访问方式
-
数组内部保存数据的访问方式
-
格式:数组名[索引]
索引是数组中数据的编号方式
作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
-
索引的特征:
-
数组操作的两个常见小问题
-
索引越界:访问了数组中不存在的索引对应得元素,造成索引越界问题 运行后显示:
ArrayIndexOutOfBoundException
-
空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
内存分配
-
JAVA中内存分配
-
数组在初始化时,会为存储空间添加默认值
- 整数:默认值0
- 浮点数:默认值0.0
- 布尔值:默认自false
- 字符:默认值是空字符
- 引用数据类型:默认值是null
-
栈内存:存储局部变量
-
堆内存:存储new出来的内容(实体,对象)
- 每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时回收
数组常见操作
-
遍历
-
获取数组元素数量
- 格式:数组名.length
- 范例:arr.length
-
遍历通用格式
-
获取最值 public class array {
public static void main(String[] args){
int[] arr = {12,45,98,73,60};
int max = arr[0];
for(int x=1;x<arr.length;x++){
if(arr[x]>max){
max = arr[x];
}
}
System.out.println("max:" + max);
}
}
方法
-
方法概述
- 方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
- 注意
- 方法必须先创建才能使用,该过程称为方法定义
- 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
-
方法定义
-
方法调用
-
带参数方法的定义
-
格式:public static void 方法名(参数){…} -
格式(单个参数):public static void 方法名(数据类型 变量名){…} -
范例(单个参数):public static void ness(int number){…} -
格式(多个参数):public static void 方法名(数据类型 变量名1,数据类型 变量名2,…){…} -
范例(多个参数):public static void ness(int number1,int number2){…} -
注意:
- 方法定义时,参数中的数据类型和变量名都不能缺少
- 方法定义时,多个参数之间使用逗号(,)分隔
-
带参数方法的调用
-
格式:方法名(参数); -
格式(单个参数):方法名(变量名/常量值); -
范例(单个参数):ness(7); -
格式(多个参数):方法名(变量名1/常量值1,变量名2/常量值2); -
范例(多个参数):ness(6,7); -
注意:
- 方法调用时,参数的数量和类型必须与方法定义中的设置相匹配,否则程序报错
-
public class array4 {
public static void main(String[] args) {
int number = 10;
Number(number);
}
public static void Number(int number) {
if(number % 2 == 0){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
-
形参和实参
-
形参:方法定义中的参数,等同于变量定义格式 ? 例如:int number -
实参:方法调用中的参数,等同于使用变量或常量 ? 例如:10 number -
带返回值方法的定义和调用
-
带返回值方法定义
-
格式: public static 数据类型 方法名(参数){
return 数据;
}
-
范例1: public static boolean ness(int number){
return true;
}
-
范例2: public static int getMax(int a,int b){
return 100;
}
-
带返回值方法调用
-
格式1:方法名(参数); -
范例: ness(5);
-
格式2:数据类型 变量名 = 方法名(参数); -
范例: boolean flag = ness(5);
- 注意:方法的返回值通常会使用变量接收,否则该返回值将无意义
-
方法注意事项
|