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

今天是周六,没有老师讲课,需要自己自习,回顾了老师上课时的一些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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值