数组的内存图解3三个引用两个数组
- 三个引用,有两个数组的引用指向同一个地址
int[] a=new int[5];
int[] b= a;
a[0]=5;
b[0]=10;
System.out.println(a[0]);
输出结果a[0]=10
因为覆盖了之前的赋值
(二维数组练习1遍历)
* 需求:二维数组遍历
* 外循环控制的是二维数组的长度,其实就是一维数组的个数。
* 内循环控制的是一维数组的长度。
int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
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();
}
###05.19_Java语言基础(二维数组练习2求和)(掌握)
- A:案例演示
-
需求:公司年销售额求和 某公司按照季度和月份统计的数据如下:单位(万元) 第一季度:22,66,44 第二季度:77,33,88 第三季度:25,45,65 第四季度:11,66,99 int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}}; int sum = 0; //定义变量,记录每次相加的结果 for (int i = 0;i < arr.length ;i++ ) { //获取每一个一维数组 for (int j = 0;j < arr[i].length ;j++ ) { //获取每一个一维数组中的元素 sum = sum + arr[i][j]; //累加 } } System.out.println(sum);
###05.20_Java语言基础(思考题Java中的参数传递问题及图解)(掌握)
- A:案例演示
-
看程序写结果,并画内存图解释 public static void main(String[] args) { int a = 10; int b = 20; System.out.println("a:"+a+",b:"+b); change(a,b); System.out.println("a:"+a+",b:"+b); //把参数传递给a,b时,不改变主方法里a,b的值 int[] arr = {1,2,3,4,5}; change(arr); System.out.println(arr[1]); } public static void change(int a,int b) { System.out.println("a:"+a+",b:"+b); a = b; b = a + b; System.out.println("a:"+a+",b:"+b); } public static void change(int[] arr) { for(int x=0; x<arr.length; x++) { //数组时,改变主方法里的数组值,因为用 的同一个数组 if(arr[x]%2==0) { arr[x]*=2; } } }