Java基础知识-数组和方法
数组
数组指一种容器,可以存储同种数据类型的多个值。
定义
int [ ] array
int array[ ]
初始化: 数据类型 [ ] 数组名 = { }
例 int[] array = { 2,33,44 };
数组的地址值
数组在整个内存中的地址 [D@776ec8df
//[表示当前是一个数组
//D表示数组中的元素为double类型
//@ 表示间隔符号
//776ec8df:数值真正的地址值(十六进制)
//整体表示为数组的地址值
数组元素访问
格式 数值名 [索引](从0开始逐个加1)
数组的遍历
获取数组里面中的所有数据
int[] arr = {2,5,8,9,7};
for(int i=0;i<5;i++){
System.out.println(arr[i]);
}
java中长度属性length
上式中5可以替换为arr.length
// 数组名.fori IDEA 中快速遍历方法
数组的动态初始化
如果数组中的数据不知道
格式 数据类型啊[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];
动态初始化和静态初始化的区别:
动态:明确个数,不确定数值
静态:明确具体操作
常见问题:索引越界异常
常见操作:求最值 求和 交换数据 打乱数据
数组内存:
关键字new出来一定是在堆里面开了一个小空间
栈内存是方法的存储空间
如果new了很多次,那么在堆里面有多个小空间,每个小空间有各自的数据
两个数组指向同一个空间的内存图 int[] arr2 = arr1; 无new关键字
方法
定义:程序中最小的执行单元
重复代码写在,具有独立功能的代码写在方法中
复用性、可维护性
方法的调用
方法定义:
最简单方法的定义
public static void 方法名(){
方法体;
}
调用:方法名();
带参数的方法的定义和调用
public static void 方法名(int num1,int num2){
int num = num1 + num2;
}
调用方法名(10,20);
形参和实参
形参:方法定义中的参数
实参:方法调用中的参数
方法在调用时形参和实参必须一一对应,否则程序将报错。
在定义方法时,先判断要干什么决定方法体是什么
干这件事需要什么才能完成:是否需要参数
带返回值方法的定义和调用
public static method(int a;int b;int c){
int num = a + b + c;
return 返回值;
}
调用 直接调用 方法名(实参) 赋值调用整数类型 变量名 = 方法名(实参);
输出调用 System.out.println(方法名(实参));
方法不调用就不执行
方法的编写顺序与执行顺序无关3
方法与方法之间是平级关系,不能相互嵌套
return下面不能写语句体
方法的重载
同一类、方法名相同、参数不同的方法、与返回值不同
相同功能的方法名定义成一样的
循环判断时要注意什么时候需要跳出循环,以免后续的结果覆盖当前结果!
return 跟循环无关,只跟方法有关,表示结束方法,返回结果
break 与循环有关,跳出循环与for while有关。
方法基本运行内存
栈:方法运行时使用的内存,方法进栈运行,运行完出栈
堆:new出来的小空间
方法区:存储可以运行的class文件
本地方法栈:JVM使用操作系统功能的时候使用,与开发无关
寄存器:CPU使用
基本数据类型和引用数据类型
基本数据类型:变量存储的数据值,赋值给其他变量,赋值的是真实值
引用数据类型:变量存储的是地址值
传递引用数据类型时,传递的是地址值,会覆盖原来的值。
浙公网安备 33010602011771号