黑马程序员技术交流社区

标题: 数组的赋值问题 [打印本页]

作者: 李君言    时间: 2013-5-11 23:16
标题: 数组的赋值问题
本帖最后由 李君言 于 2013-5-14 10:51 编辑

int[] a={1,4,2,7,5};
我知道定义数值时直接赋值
那下面
int[] a = new int[5];
只能通过
a[0]=3;
a[1]=7;
这样一个个的赋值了吗?

作者: long    时间: 2013-5-11 23:35
不是的,还可以通过给数组引用赋新值的方式,使原来的数组引用指向另一个数组对象,实现间接赋值。例如:
int[] arr1 = new int[2];
int[] arr2 = { 1,  2};
arr1 = arr2; // 给arr1赋值,赋值后arr1和arr2都指向同一个数组对象,arr1[0] = 1, arr2[1] = 2
作者: 赵利斌    时间: 2013-5-11 23:39
还可以用for循环啊  
代码如下:
class Demo
{
    public static void main(String []args)
    {
            Scanner input=new Scanner(System.in);
            int[] arr=new int[6];
            for(int x=0;x<arr.length;x++)
            {
                    System.out.print("请输入第"+(x+1)+"个数:");
                    arr[x]=input.nextInt();
            }
   }
}
作者: 赵利斌    时间: 2013-5-11 23:39
导入这个包才可以输入的   
import java.util.Scanner;
作者: 赵利斌    时间: 2013-5-11 23:45
还可以用for循环   代码如下:

import java.util.Scanner;




class Demo
{
    public static void main(String []args)
    {
            Scanner input=new Scanner(System.in);
            int[] arr=new int[6];
            for(int x=0;x<arr.length;x++)
            {
                    System.out.print("请输入第"+(x+1)+"个数:");
                    arr[x]=input.nextInt();
            }
   }
}

导入import java.util.Scanner;   包
作者: Sofoul    时间: 2013-5-11 23:45
                                  int arr[]={1,2,3,4,5};
                int arr1[]=arr;
                for (int x=0;x<arr1.length ;x++ )
                {
                        System.out.println("arr["+x+" ]="+arr[x]);
                }
如果你已经有了一个数组并且想再定义一个数组和它一模一样,可以这么定义。如果是int arr[]=new int[5]这样的话是不知道他得具体值。如果知道具体值就用int arr[]={1,2,3,4}直接赋值就行了。
作者: 赵利斌    时间: 2013-5-11 23:46
二楼说的另一个意思
作者: Sofoul    时间: 2013-5-11 23:53
赵利斌 发表于 2013-5-11 23:46
二楼说的另一个意思

是,我说的不是键盘录入的,
作者: 王明明1004    时间: 2013-5-13 17:41
不是的啊  可以用一个新的数组直接赋值代替原来的数组,或者用一个for循环




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2