java二维数组动态赋值_【基础】二维数组在C语言与java中的异同

e679b841977218734ea4e39d2573e989.png

(本人很菜,所以以下本文若让您觉得太简单or有问题,请轻拍板砖。欢迎在评论区提出你的问题or补充or解答)

今天在敲代码的时候,发现一个奇妙的点:

(1)关于是否可以在定义时省略列

在C语言中,二维数组无论如何定义的时候都不可以少了列。

所以,以下的这种写法是错误的:

int nuns[][] = { 1,2,3,4,5};

但是在java中,就不一样了。java里是可以不给二维数组定义列数的。

直接上代码:

boolean[][] a = {{true,true,false,false},{false,false,true,true}};
boolean[][] b={};

了解了这一点后,我又去网上搜了下,再补充一种情况:

(2)有一种特殊的二维数组,它的行数确定,但是每行的列数不确定。

这样的的数组实现方法:先创建制定行数,列数缺省的二维数组,然后对数组的每一行重新初始化。举例如下:

package day5;
//第二种定义二维数组的方式,它的行数确定,但是每行的列数不确定。这样的的数组实现方法:先创建制定行数,列数缺省的二维数组,然后对数组的每一行重新初始化。
public class TwoArrayDemo_3 {
	public static void main(String[] args) {
		
		int [][]arr=new int[3][];
		//第一行
		arr[0]=new int[7];//相当于int[] a=new int[3]
		for(int i=0;i<arr[0].length;i++){
			arr[0][i]=i+1;
		}
		//第二行
		arr[1]=new int[4];
		  for(int i=0;i<arr[1].length;i++){
			  arr[1][i]=i+1;
		  }
		//第三行
			arr[2]=new int[8];
			  for(int i=0;i<arr[2].length;i++){
				  arr[2][i]=i+1;
			  }
		//遍历数组
			for(int i=0;i<arr.length;i++){
				  for(int j=0;j<arr[i].length;j++){
					  System.out.print(arr[i][j]);
				  }
				  System.out.println();
			  }
	}

}

以上代码就是分行定义,最后得到的是一个三行八列的数组。

ps:

以及,要注意一点:java中的数组自带length属性,例如:假设有个二维数组a[][]

a.length就是行数,a[0].length就是列数

(以后本文也许还会有补充)


参考:

java基础之二维数组不定义列数 - 索隆十郎 - 博客园​www.cnblogs.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值