Java中数组的概念

1.什么是二维数组?有几种表达方式?分别是什么?

 答:多维数组即数组的数组,即数组的元素也是数组。

 例:int[] [] a = {{1},{1,2},{1,2,3}};

 有三种方式

 1).int [] [] a;  2).int [] a1 [];  3).int a2 [] [];

 *强烈推荐用第1种,不容易混淆a的数据类型;

2.多维数组的创建过程是什么?

  答:

例:int [] [] a = new int [2] [];

a[0] = {1,2,3};

a[1] = {4,5,6};

3.请举例说明多位数组的迭代

 答:int [] [] b1 = new int [] [] {{1,2},{3,4}};

           for(int i = 0;i < b1.length;i++){

            for(int j = 0;j < b1[i].length;j++){

                  System.out.println(b1[i][j]);

}

}

4.如何进行数组的拷贝?并且举例说明

  答:在JDK APISystem类中,提供了一个数组拷贝的静态方法:

  arraycopy(Object srcint srcPos, Object dest, int destPos, int

length)

  从指定源数组中复制一个数组,复制从指定的位置开始,

到目标数组的指定位置结束。

例:int[] a = {10.100.1000};

    int[] b = {20.200.2000.20000};

    System.arraycopy(a,1,b,2,2);

 for(int x : b){

       System.out.println(x);

}

输出结果是:20 200 100 1000

5.数组有哪些特点?优点是什么?缺点是什么?

   答:1).数组是引用数据类型

         2).数组是存储相同数据类型的集合

         3).数组的下标从0开始

     *优点:1).越界检查 2).通用算法

      *缺点:长度一经定义不能改变

 6. 什么是值传递?值传递在基本数据类型和引用数据类型中有什么区别?

     答:值传递的本质是赋值,是把实际参数赋值给形式

参数的过程。

     *基本数据类型是值之间进行赋值。

     *引用数据类型是虚拟地址之间进行赋值。

     例:基本数据类型:传递的是值(value)的拷贝

        public void add(int x){

              x++;

              System.out.println(“add()方法:x=” +x);

}

 

public static void main(String[] args){

        TestPass pass = new TestPass();

        int x = 100;

        Pass.add(x);

        System.out.println(“main()方法:x=” +x);

}

引用类型:传递的是引用(reference

    Public void test(PersonalAccount a){

 a.deposit(2000);

System.out.println(“test 方法中a的余额=”+a.

getbalance);

}

public static void main(String[] args){

PersonalAccount a = new PersonalAccount(“3333”, “123”,1900);

TestByReference t = new TestByReference();

t.test(a);

System.out.println(“main 方法中a的余额=” + a.getBalance());

}

注意:

*基本数据类型在传递过程中形参改变实参不改变。

*引用类型在传递过程中形参改变实参也改变。

*虽然String,包装器类本身是引用数据类型,但是按基本数据类型的规则传递

posted @ 2017-09-20 17:01  Evan789  阅读(1726)  评论(0编辑  收藏  举报