class A
{
int i;
}class D
{
public static void main(String[] args)
{
int j=10;
A a=new A();
a.i=1;
int k=0;
while(k++<10)
{
System.out.println("k="+k);
g(a,j);
}
System.out.println("j="+j);
System.out.println("a.i="+a.i);
}
static void g(A a,int j)
{
a.i+=j;
j*=2;
System.out.println("j="+j);
System.out.println("a.i="+a.i);
}
}运行结果
k=1
j=20
a.i=11
k=2
j=20
a.i=21
k=3
j=20
a.i=31
k=4
j=20
a.i=41
k=5
j=20
a.i=51
k=6
j=20
a.i=61
k=7
j=20
a.i=71
k=8
j=20
a.i=81
k=9
j=20
a.i=91
k=10
j=20
a.i=101
j=10
a.i=101我是想问为什么a.i的值不断变化,而j的值不变啊,每次都是j=10导入
{
int i;
}class D
{
public static void main(String[] args)
{
int j=10;
A a=new A();
a.i=1;
int k=0;
while(k++<10)
{
System.out.println("k="+k);
g(a,j);
}
System.out.println("j="+j);
System.out.println("a.i="+a.i);
}
static void g(A a,int j)
{
a.i+=j;
j*=2;
System.out.println("j="+j);
System.out.println("a.i="+a.i);
}
}运行结果
k=1
j=20
a.i=11
k=2
j=20
a.i=21
k=3
j=20
a.i=31
k=4
j=20
a.i=41
k=5
j=20
a.i=51
k=6
j=20
a.i=61
k=7
j=20
a.i=71
k=8
j=20
a.i=81
k=9
j=20
a.i=91
k=10
j=20
a.i=101
j=10
a.i=101我是想问为什么a.i的值不断变化,而j的值不变啊,每次都是j=10导入
解决方案 »
- 问大家一个很菜鸟的问题!
- OutputStreamWriter BufferedWriter PrintWriter 区别
- 昨天去公司面试题 大家一起来讨论
- applet使用的基础问题,请指教
- 关于Swing组件显示JavaHelp帮助文件
- 控制JTextArea 的键盘输入 在线等
- 续前一问题:java调用动态库!!!---如何在页面上调用该java类(java类调用dll)
- 请问问大家一个图片刷新问题 --请大家多多帮助
- 用Graphics 中的drawLine()方法可以画出"粗"一点的线吗?
- 关于《北京浮生记》java编程的思路
- 请问ArrayList和Vector的区别?
- 请问一个JB里的小问题,希望没有发错版
public class TestSwap
{
public static void main(String[] args)
{
int i=2,j=5;
System.out.println("main方法中,调用方法swap(int i,int j)前:"+"\ni="+i+"\tj="+j);
swap(i,j);
System.out.println("main方法中,调用方法swap(int i,int j)后:"+"\ni="+i+"\tj="+j);
}
static void swap(int i,int j)
{
int temp;
System.out.println("swap方法中,变量i和j的值交换前:"+"\ni="+i+"\tj="+j);
temp =i;
i=j;
j=temp;
System.out.println("swap方法中,变量i和j的值交换后:"+"\ni="+i+"\tj="+j);
}
}运行结果
main方法中,调用方法swap(int i,int j)前:
i=2 j=5
swap方法中,变量i和j的值交换前:
i=2 j=5
swap方法中,变量i和j的值交换后:
i=5 j=2
main方法中,调用方法swap(int i,int j)后:
i=2 j=5为什么调用方法swap(int i,int j)后不是i=5,j=2呢