Java中怎么给数组批量赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中怎么给数组批量赋值相关的知识,希望对你有一定的参考价值。

只知道在声明数组的时候可以批量赋值 例如:int[] a=1,2,3
那声明后,在方法中还能对a进行批量的赋值吗?如 a=4,5,6.
有什么方法可以做到呢?
先谢谢yangyu125了!这样试过,确实没有问题。但是要在代码中对数组a进行多次的批量赋值呢?难道要一直用a=new int[]吗? 那不是每次赋值都要在内存中新建对象,大量浪费内存啊!

java中给字符数组批量赋值,可以使用for-each来给字符数组赋值,代码如下:

package com.qiu.lin.he;

public class CeShi 

public static void main(String[] args) 

char c[] = new char[26];
String s = "abcdefghijklmnopqrstuvwxyz";
char ss[] = s.toCharArray();
for (int i = 0; i < ss.length; i++) 
c[i] = ss[i];//给字符数组赋值

for (char x : c) 
System.out.print(x);//循环输出字符数组的内容


结果如下:

参考技术A int[] a=1,2,3;
这句话 我估计,大部分人都还没完全理解它的含义

首先,1,2,3这样的表达式,它一出现,就在内存中以一个整型数组出现了
类似"字符串" 一样,以双引号出现,系统默认的就把它当成一个java.lang.String的实例。
所以 当系统自动建立数组对象之后,才将引用传给 数组对象引用 a

后面你使用a=1,2,3,4,5 直接这样是不行的。(注意和String a="aaa";的区别)
因为a的含义容易出现歧义,所以JAVA的机制不支持这种赋值,
但是另一种是可行的,a=new int[]1,2,3,4,5,6;

不信你可以运行我下面的代码

public class Test

/**
* @param args
*/
public static void main(String[] args)

// TODO Auto-generated method stub
int []a=1,2,3;
for(int i=0;i<a.length;i++) System.out.println(a[i]);

a=new int[]1,2,3,4,5,6;
for(int i=0;i<a.length;i++) System.out.println(a[i]);



本回答被提问者采纳
参考技术B 不能再进行你所说的批量赋值,数组一但声明后,其个数就是固定的了,要对数组元素进行修改可以用循环进行赋值,
for(int i=0,j=4;i<arr.length;i++,j++)

arr[i]=j;

即让arr[0]=4;arr[1]=5;arr[2]=6;
参考技术C 遍历数组然后赋值,或者吧一个数组的数据复制下来 参考技术D int[] a=1,2,3

for(int i=0,j=4;i <a.length;i++,j++)
a[i]=j;


瞎扯的 不要相信

java中创建一个客户类数组customer[] 怎么给数组中的变量赋值?

如果可以的话,采用另外的方法也可以。
要求输出结果相同:

输入会员编号:20101
输入会员积分:1800
***会员列表***
编号 积分
20101 1800
1. 创建会员类 Customer 添加两个属性:会员编号、会员积分
2。创建会员操作类 CustManager

添加属性会员数组 customers
Customer [] customer = new Customer[100];

可添加多个会员编号和积分,要求接收add() 和打印所有 show()

先给数组元素new customer对象,然后通过customer对象在给属性变量赋值。

过程

customer类:

class customer//定义customer类
   public int a1;//顶一个变量属性a1

1、顶一个customer数组

customer[] ct = new customer[3];//定一个customer数组,数组长度是3

2、给数组中的customer赋值

for(int i=0;i<ct.length;i++)
    ct[i] = new customer();//实例化customer对象
    ct[i].a1 = 2;//给customer类的a1属性赋值

参考技术A 把会员信息封装成对象加到数据里面就行 要赋值就取出对象用setID 或者setJF方法就可以把 参考技术B public class Customer
int custNum;
int points;

public Customer()
public Customer(int custNum,int points)

this.custNum = custNum;
this.points = points;


public int getCustNum()
return custNum;

public void setCustNum(int custNum)
this.custNum = custNum;

public int getPoints()
return points;

public void setPoints(int points)
this.points = points;


public String lineInfo()
return this.custNum + "/t" + this.points;


/**
* 你的 show()
*/
public static void printList(Customer[] ca)
System.out.println("***会员列表***/r/n编号/t 积分");

if(ca!=null)
for(int i=0; i<ca.length; i++)
if(ca[i]!=null)
System.out.println(ca[i].lineInfo());



/**
* 你的 add()
* @return
* @throws IOException
*/
public Customer input() throws IOException
Customer c = new Customer();
System.out.println("输入会员号:");
c.setCustNum(System.in.read());
System.out.println("输入会员积分:");
c.setPoints(System.in.read());

return c;
参考技术C import java.io.IOException;

public class Customer
int custNum;
int points;

public Customer()
public Customer(int custNum,int points)

this.custNum = custNum;
this.points = points;


public int getCustNum()
return custNum;

public void setCustNum(int custNum)
this.custNum = custNum;

public int getPoints()
return points;

public void setPoints(int points)
this.points = points;


public String lineInfo()
return this.custNum + "/t" + this.points;


/**
* 你的 show()
*/
public static void printList(Customer[] ca)
System.out.println("***会员列表***/r/n编号/t 积分");

if(ca!=null)
for(int i=0; i<ca.length; i++)
if(ca[i]!=null)
System.out.println(ca[i].lineInfo());



/**
* 你的 add()
* @return
* @throws IOException
*/
public Customer input() throws IOException
Customer c = new Customer();
System.out.println("输入会员号:");
c.setCustNum(System.in.read());
System.out.println("输入会员积分:");
c.setPoints(System.in.read());

return c;




你要的大部分功能有了,自己拆补去吧!
参考技术D 为什么用数组而不用List。。。
Customer类:
int age;
String name;
Customer(int age,String name)

this.age = age;
this.name = name;


@Override
public String toString()

return "[" + name + "," + age + "]";


调用:
Customer[] customer = new customer[3];
customer[0] = new Customer (xxx,"XXX");

以上是关于Java中怎么给数组批量赋值的主要内容,如果未能解决你的问题,请参考以下文章

java 中怎么给list数组赋值

java中怎样给Boolean型二维数组赋值?

java 怎么给set赋值

JAVA中如何创建一个二维数组,然后给二维数组赋值!

二维数组怎么赋值

JAVA中如何创建一个二维数组,然后给二维数组赋值!