JAVA二维数组的一个很简单的问题,我是初学者,我实在想不通,帮我解答一下谢谢了。

int myarr[][] = {{19,1},{48,11}}; //比如我声明一个有值得二维数组

System.out.println(myarr[1][1]); //然后我打印的下标为[1][1],输出的值为什么总是 {{19,1},{48,11}}最后哪一个11呀,{19,1},{48前面这三个数我怎么改,跟我打印下标为[1][1]没有关系,只要我改最后一个11的值改成多少,我打印下[1][1]的值就是多少?

为什么呀,原理?
在帮我解决一个问题哈 谢谢了
在数组替换中:比如下面的代码
int arr[] ={1,2,3,4,5,6,7};

Arrays.fill(arr,3,4,8)

//1代表要指定值填充第一个元素的索引(包括)

//2代表要指定值填充最后一个元素的索引(不包括)

for(int a:arr){
system.out.print(a)
//遍历数组打印
//打印的值为:1,8,3,4,5,6,7
}

问题是:我想了很久为什么替换数组后我指定替换的是4,上面数组当中就替换掉4的那个索引,为什么(arr,3,4,8)这个公式里面必须要在4前面跟一个3啊??如果3改成0,4前面所有的数都替换成8了。总感觉哪里没有想通。

关键是:为什么(arr,3,4,8)这个代码这样相邻的为什么就只替换第4个而,不替换第3个呢?

谢谢了 在帮我解答一下吧。

int myarr[][] = {{19,1},{48,11}};

表示

myarr是一个二维数组

数组0的值是{19,1}

数组1的值是{48,11}

现在访问的是myarr[1][1] 肯定就是访问数组1的值1 所以肯定是11了

每个值都是独立的  ä¸ºä»€ä¹ˆæ”¹å‰ä¸‰ä¸ªä¼šå½±å“åˆ°æœ€åŽçš„那个  ä½ è¦è¿™ä¹ˆè¯´æˆ‘反而觉得很想不通

感觉你应该是基础比较差 没正式学过编程 就开始看代码的类型

还是老老实实的看书 理解了再来看代码吧

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-14
myarr[0][0]——19

myarr[0][1]——1
myarr[1][0]——48
myarr[1][1]——11
从0开始算的追问

为什么这个数组的[0][0]是19呀?
为什么这个数组的[0][1]是1呢
为什么这个数组的[1][0]是48呢
为什么这个数组的[1][1]是11呢?

上面的不是只有两个下标吗,表示只有[][] 和[][]吗,我不太懂谢谢了,再帮我解释一下吧。那这个数组声明的时候就是int myarr[][] = new int[2][2]的公式吗?

追答

声明的时候是int myarr[][] = new int[2][2]
这是创建了两个数组,这两个数组又是有两个元素的数组