二维数组的定义,内层数组大小可以不同

今天是周六,没有老师讲课,需要自己自习,回顾了老师上课时的一些PPT,发现有好几个疑惑的地方,分享一下

1.当定义方法时,传递的参数为数组时,传递过来的数组的使用?
我的理解:因为定义的数组在不同的方法里,所以只有当数组作为参数传递进去,才能使用该数组的数据
例题为:C:\Program Files\feiq\Recv Files\day05\JavaSEDemo05\src\homework  StudentScore.java


2.对二维数组的定义
    例:int[][] arr=new int[10][];//这里是对二维数组的外层数组进行定义
           for(int i=0;i<arr.length;i++){
arr[i]=new int[i+1];//在这里,将二维数组得内层数组进行定义,大小可不一样
}
例题:C:\Program Files\feiq\Recv Files\day05\JavaSEDemo05\src\homework  YangHui.java


3.javeSE_面向对象01PPT 第28页:参数传递??输出结果不同的原因。

如果参数时引用数据类型,对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数
public class TestParamValue2 {
      
 public static void main(String[] args) {
          
    StringBuffer sb = new StringBuffer("Hello ");


             
System.out.println("before change sb="+sb);
             
 change(sb);
             
System.out.println("after change sb = "+sb);
     
  }
     
public static void change(StringBuffer s){
           
  s.append("world");
    
     }


}
输出结果1:before change sb=Hello
 after change sb=Helloworld


public class TestParamValue3{
      
      public static void main(String[] args) {
 
             StringBuffer sb = new StringBuffer("Hello ");




              System.out.println("before change sb="+sb);
 
             change(sb);


             System.out.println("after change sb = "+sb);       }
   
  public static void change(StringBuffer s){
 
            s = new StringBuffer("hi ");//这里重新分配了内存空间             s.append("world");


     }


}


输出结果2:before change sb=Hello
 after change sb=Hello
ps:如果输出:System.out.println("s = "+s);  那么结果为:s=hiworld


版权声明:本文为asddddd555原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。