找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 389138|回复: 0

还在迷惑java前++,后++,--怎么用吗?老码农来教你!

[复制链接]

该用户从未签到

发表于 2020-8-2 04:44:10 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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++在底层自动帮我们完成了类型强转,因为++运算符需要得到结果值,所以底层自动帮我们做了类型强转。


                               
登录/注册后可看大图
回复

使用道具 举报

网站地图|页面地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2025-3-10 00:43

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表