public class TestSelfIncrement {
public static void main(String[] args){
int i,j;
i=2;
j=i++ +2;
System.out.println("i="+i + ",j="+j);
}
}问题:
想不明白这段System.out.println( "i= "+ i+ ",j= "+j); 中 逗号,为什么放到",j="中,我试过了,放到其他地方都报错。其实不放逗号运行也没有问题,只是输出结果比较紧凑,估计逗号就是类似空格的作用,可就是想不明白,为什么就放在那个位置呢,感觉那个地方很别扭。
(初学者)
楼主怎么会感觉别扭呢,是不是你用中文的原因,我感觉这样挺好的!你说的对,逗号的作用就是把i和j分开,好看些,在这句代码里逗号是括号中字符串的一部分,所以要放在""中了。
想不明白这段System.out.println( "i= "+ i+ ",j= "+j); 中 逗号,为什么放到",j="中,我试过了,放到其他地方都报错。其实不放逗号运行也没有问题,只是输出结果比较紧凑,估计逗号就是类似空格的作用,可就是想不明白,为什么就放在那个位置呢,感觉那个地方很别扭。
","加上后就是字符串类型了,它在这里的作用其实你也说了,就是防止输出结果紧凑,就是为了输出看着舒服点,
j=i++ +2;--------------------
i=3 j=4
--------------------
首先 i=2
j=i++ +2
元算顺序是
执行j=i (j=2 i=2)
执行i++ (j=2 i=3)
最后执行+2 (j=4 i=3)
主要是看 a++和 ++a的区别
b=a++ 是先把a给b 然后 a++
b=++a 是先把a+1 然后再把结果给b
还有就是 ++ --比其他运算优先级高 所以上题中++ 比+2先做最后System.out.println( "i= "+ i+ ",j= "+j)
因为输入括号里需要放一格字符串,以上是一格字符串拼接,其中每引号的i , j是指变量,引号内是字符串
逗号不起任何作用,就是把式子分开,容易看
1)i=3j=4 2)i=3,j=4 明显2比1清晰
在此还得提及一下“bao110908” “j=i++ +2; 不要闲得没事干,把代码写成这样!”这个我不太明白 估计也是思想吧 我还没入门 多谢提醒了