A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李君言 中级黑马   /  2013-5-11 23:16  /  1421 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李君言 于 2013-5-14 10:51 编辑

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

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

8 个回复

倒序浏览
不是的,还可以通过给数组引用赋新值的方式,使原来的数组引用指向另一个数组对象,实现间接赋值。例如:
int[] arr1 = new int[2];
int[] arr2 = { 1,  2};
arr1 = arr2; // 给arr1赋值,赋值后arr1和arr2都指向同一个数组对象,arr1[0] = 1, arr2[1] = 2

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
还可以用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();
            }
   }
}
回复 使用道具 举报
导入这个包才可以输入的   
import java.util.Scanner;
回复 使用道具 举报
还可以用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;   包
回复 使用道具 举报
                                  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}直接赋值就行了。
回复 使用道具 举报
二楼说的另一个意思
回复 使用道具 举报
Sofoul 中级黑马 2013-5-11 23:53:50
8#
赵利斌 发表于 2013-5-11 23:46
二楼说的另一个意思

是,我说的不是键盘录入的,
回复 使用道具 举报
不是的啊  可以用一个新的数组直接赋值代替原来的数组,或者用一个for循环
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马