黑马程序员 心得---> java中的数组赋值

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

先来看下面一个小程序:

import java.util.*;
class ArrayText
{
	public static void main(String [] args)
	{
		Scanner in = new Scanner(System.in);
		//常规赋值方法
		int[]   a = {4,8,5};
		for (int i=0;i<a.length;i++)
		{
			a[i] = in.nextInt();
		}
		int[][] b = 
			{
			{1,2,3},
			{2,1,3},
			{3,2,1}
			};

		/*赋值二:
		b[0][0] = 1;
		b[1] = a;*/
		
		/*赋值三:
		b[0][] = {4,8,5};
		b[0][] = a[];
		b[0][] = a[1];*/
		
		/*赋值四:
		b[1] = 5;
		a[1] = 5;
		b[1] = a[1];*/

		System.out.println("数组b:");
		System.out.println(Arrays.deepToString(b));
		System.out.println("数组a:");
		System.out.println(Arrays.toString(a));
	}
}

我们在给一维数组赋值的时候,如果用上面那种输入的方法,是可以的,但是如果给b这种二维甚至多维数组用这种方法赋值,就只能赋值给最后一维的数组(在b中是第二维数组),因为最后一维数组是可以接收int型(同类型)的值的。

在这四种赋值方法中,后三种都是不正确的,我在写其他程序时才发现的,我想,我在数组,尤其是多维数组上还存在误区吧。所谓多维数组,简单地说就是“数组的数组”。多维数组中,最后一维可以接收int型(或其他类型)的值,而除了最后一维数组外,都是不可直接接收int型(或其他类型)的值,如上面的赋值四所示。

归结为一句话:必须是同类型的值才能接收赋的值。如赋值二所示,是可以的。

对于赋值三,会提示“非法表达式的开始”的错误。

所以对于多维数组,如何把读取用户随机输入的数值赋值给除最后一维外的数组呢?我没有想到什么方法,如果看到我这篇很菜的文章的高手有办法,希望能给些意见,在此谢过。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值