一.初识JVM
其中,需要更详细说明的是关于虚拟机栈:虚拟机栈的栈帧包括局部变量表,操作数栈,动态链接以及返回地址和其他信息等等,而关于它的具体细节处理如下
二.关于数组的相关细节及问题
1.for-each循环
语法格式如下:
int[]arr={1,2,3};
for(int x:arr){
System.out.print(x);
}
其中需要注意的是:x只是对arr数组元素内容的拷贝,对x进行的任何操作无法对arr实际的元素产生任何影响
2.关于形式参数的传递问题
java只存在值的传递,不像c语言那样存在地址的传递,而具体分为两类①基本数据类型的传递②引用数据类型的传递,这也就意味着形式参数将永远是形式参数的一份临时拷贝
我们将具体讨论引用数据类型的传递的两种情况:
①不能通过修改形式参数来达到修改实际参数
具体如下:
②修改指向空间的内容,修改生效
③二维数组的杨辉三角
public static void main(String[] args) {
yangHuiTriangle(5);
}
//杨辉三角的实现
public static void yangHuiTriangle(int num){
int[][]arr=new int[num][];
//设置初始化
for (int i = 0; i < num; i++) {
arr[i]=new int[i+1];
}
//对杨辉三角进行赋值
for (int i = 0; i < arr.length ; i++) {
for (int j = 0; j <arr[i].length ; j++) {
if (j==0||i==j){
arr[i][j]=1;
}
else {
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
}
}
//打印杨辉三角
for (int i = 0; i < arr.length ; i++) {
for (int j = 0; j < arr[i].length ; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}