我是菜鸟,在练习计算符号的使用-----public static void main(String[] args) {
int a=5;
int b=a;
int c=b-a;
int d=b*c;
int e=c/a;
int f=++a;
int g=f++;
int h=--g;
int i=h--;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
System.out.println("i="+i);
// TODO Auto-generated method stub }}---------------运行后的结果--------------------
a=6 //问题就在这里
b=5
c=0
d=0
e=0
f=7
g=5
h=4
i=5a的值总比给它赋的大一个1,我试了好几次,赋4得出来的就是5,赋4+5得出来的就是10,现在我真晕了.如果a值为6,那b也该是6啊!怎么a=6,b=a/结果b就成5了?我没用自加的符号啊~这个1是哪跑出来的?谢谢大大们了!
int a=5;
int b=a;
int c=b-a;
int d=b*c;
int e=c/a;
int f=++a;
int g=f++;
int h=--g;
int i=h--;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
System.out.println("i="+i);
// TODO Auto-generated method stub }}---------------运行后的结果--------------------
a=6 //问题就在这里
b=5
c=0
d=0
e=0
f=7
g=5
h=4
i=5a的值总比给它赋的大一个1,我试了好几次,赋4得出来的就是5,赋4+5得出来的就是10,现在我真晕了.如果a值为6,那b也该是6啊!怎么a=6,b=a/结果b就成5了?我没用自加的符号啊~这个1是哪跑出来的?谢谢大大们了!
C:\temp>javac aaaa.javaC:\temp>java aaaa
a=6
b=5
c=0
d=0
e=0
f=7
g=5
h=4
i=5C:\temp>
你打印出的是+a不是a
你的a已经自加过1了,当然是6
System.out.println(a+a+"===a");
System.out.println("a=="+a);
public static void main(String[] args) {
int a=5;
int b=a;
int c=b-a;
int d=b*c;
int e=c/a;
System.out.println("a="+a);
int f=++a;
int g=f++;
int h=--g;
int i=h--; System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
System.out.println("i="+i);
// TODO Auto-generated method stub } }