public class Test
{
public static void main(String[] args)
{
int[] index = {3,4,5};
for(int t : index)
{
//问题:这里为什么没有能对数组的值进行操作
t = 10;
}
for(int t : index)
{
//还是原来的值
System.out.println(t);
}
}
}
{
public static void main(String[] args)
{
int[] index = {3,4,5};
for(int t : index)
{
//问题:这里为什么没有能对数组的值进行操作
t = 10;
}
for(int t : index)
{
//还是原来的值
System.out.println(t);
}
}
}
{
//问题:这里为什么没有能对数组的值进行操作
t = 10;
}等于
for(int i = 0; i < index.length; i++)
{
int t = index[i];
t = 10;//这里怎么改变都没有用
}
for(int i=0;i<index.length;i++){
index[i] = 10;
}这么改才有用...
for(int i=0; i< index.length ;i++){
t=index[i];
t=10}怎么能改变数组里面的值呢?
-------------------------------------------------------
没看懂这位兄台的话..
a变量分配内存x1 变量b分配内存x2 当操作 b = a 时, 将x1的存储内容复制给x2引用拷贝的意思 :
A变量分配内存x1 变量B分配内存x2 当操作 B = A 时, 将B的内存指针指向A的内存地址x1明白了吧?public class Test
{
public static void main(String[] args)
{
int[] index = {3,4,5};for(int t : index)
{
//问题:这里为什么没有能对数组的值进行操作
t = 10;
}for(int t : index)
{
//还是原来的值
System.out.println(t);
}}
}由于是简单类型,你每次改变的都是t本身的值,没有改变index每个元素的值,因此值不会变。
for(int i = 0; i < index.length; i++)
{
t = 10;
int t = index[i];
}
试试看
你可以用
for(int i = 0; i < index.length; i++)
{
int t;
t = 10;
t = index[i];
}
试试看
{
t = 10; //问题:这里为什么没有能对数组的值进行操作
//t是什么?t就是temp,临时变量,到t != index[i]记住!index[i] =10才改变数组的值
}等于
for(int i = 0; i < index.length; i++)
{
int t = index[i];
t = 10;//这里怎么改变都没有用
//肯定没用的,int t = index[i]是把数组的数值赋给了t
}for(int i = 0; i < index.length; i++)
{
int t = 10;
index[i] = t;//你看看这么写有没有用
}