|

java中的前加加++和后加加++,有很多人搞的很晕,不太明白!今天我举几个例子说明下前++和后++的区别!
其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加!
前++和后++总结:其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加!
请大家看下面的例子就明白了!
[indent,public class Test { public static void main(String args) { //测试,前加加和后加加 //前++和后++总结:其实大家只要记住一句话就可以了,前++是先自加再使用而后++是先使用再自加! int age = 6; //先自加,再使用(age先自加1,然后再打印age=7,此时age的值在内存中是7) System.out.println("age=" + ++age); //先使用,再自加(此时age的值在内存中是7,先打印age=7,然后age再自加1,所以此时打印age=7,但是其实此时age的值在内存中已经是8了) System.out.println("age=" + age++); //此时打印出来age=8 System.out.println("age=" + age); //先自加,再使用(此时age在内存中的值是8,先自加1,age的值在内存中就变成了9,然后再打印age,所以此时打印出9) System.out.println(++age); //先使用,再自加(此时age在内存中的值是9,先打印出9,然后age再自加1,自加完后,此时age在内存中的值是10) System.out.println(age++); //此时打印age是10 System.out.println(age);int index = 0; String names = {"令狐冲"] "张无忌"] "韦小宝"] "杨过"] "段誉"] "乔峰"}; // System.out.println(names[index++,); //打印出令狐冲 // System.out.println(names[index,); //打印出张无忌 //以上两行代码注释掉,那么以下两行代码,就会打印出张无忌 //如果以上两行代码没有注释掉,那么以下两行代码,就会打印出韦小宝 System.out.println(names[++index,); //打印出张无忌 System.out.println(names[index,); //打印出张无忌 }}[/indent,
再上两道常见面试题
面试题1
求下面代码执行后的a和b的值。
[indent,int a = 3; int b = (a++)+(++a)+2;[/indent,解:a = 5,b = 10; 求解过程b = 3+5+2=10.
面试题2
下面代码执行过程中,在哪句话会报错?
[indent,1)byte b = 10; 2)b++; 3)b = b+1;[/indent,解:在3)这里会报错,等号左边的值类型是byte,而等号右边的值类型是int,在这里需要类型强转:b = (byte)(b+1)。b++在底层自动帮我们完成了类型强转,因为++运算符需要得到结果值,所以底层自动帮我们做了类型强转。
|
|