一.数组
java数组属于引用类型,数组元素存储在堆空间,Java的堆内存申请会自动进行初始化
在Java中,字符数组!=字符串(字符数组:char[] 字符串:String)
数组的arr是哈希值(16进制),不是地址
//两种形式
int[] arr1;
int arr2[] = {};
int [] arr3 = {};//推荐这一种
//定义的时候指定数组元素
int[] arr4 = new int[] {1,2,3,4};
int[] arr5 = {1,2,3,4};
//定义的时候指定数组长度
int[] arr6 = new int[2];
arr6[0]=1;
arr6[1]=2;
arr6[2]=3;
//多维数组
int[][][] arr7;
int[] arr8[][];
public static void main(String[] args){
int[] array = new int[] {11,22,33};
System.out.println(array);
}

二.方法
方法的书写格式
修饰符 返回值类型 方法名(参数列表){
方法体
}
三.可变参数
可变参数必须是方法中的最后一个参数 举例:JDK白带的 Svstem.out.printf 方法使用了可变参数,格式字符串参考API文档的java.util.Formatter类
public class Main {
public static void main(String[] args){
System.out.println(sum(10,20,30));
}
public static int sum(int… numbers){
int result = 0;|
for (int num : numbers){
result += num;
}
return result;
}
}
其中的for (int num : numbers)是增强for循环
四.参数传递
基本类型(byte/char/short/int/long/float/double/boolean)作为参数的是值传递,作为返回值,返回的是值
引用类型(引用类型:数组、对象)作为参数是引用传递(地址传递)
五.方法签名与方法的重载
方法签名由2部分组成:方法名,参数类型
eg:下面方法的方法签名是:sum(int,long,double)
public static double sum(int i, long l, double d){
return i + l + d;
}
在同一个类中,不能定义2个方法签名一样的方法
Java的方法支持重载:方法名相同,方法签名不同(参数个数不同,参数类型不同) 重载与返回值类型、参数名称无关
六.栈帧
栈帧随着方法的调用而创建,随着方法结束而销毁,存储了方法的局部变量信息
局部变量表的存储机制
局部变量表以变量槽(Slot)为存储单元,不同类型数据占用不同数量的Slot:
- boolean、byte、char、short、int、float、reference 占用1个Slot。
- long 和 double 占用2个连续的Slot。
- 实例方法的局部变量表中,第0位Slot默认存储this引用。
网硕互联帮助中心







评论前必须登录!
注册