首页 > 代码库 > 《Java程序员面试宝典》读书笔记1
《Java程序员面试宝典》读书笔记1
今天读书发现一个很有趣的问题
请问以下程序会输出什么?
public class Test2 {
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 100; i++) {
j = j++;
}
System.out.println(j);
}
}
输出的结果是:0
刚看到的时候觉得很不可思议,我选的答案是100,然后看了书上给的解释是什么中间缓存变量,结果看的一塌糊涂,最后发现其实解释起来很简单,完全不用书上写的那一堆乱七八糟的东西,当执行J= j++时,是先将等于0的j赋值给j,然后将后边的j自增,但是下一次执行的时候其实j还是等于0;在别的地方都解释为java中间缓存变量,反正我是没看明白和这个有什么关系,难道其他语言就不是这样么?
《Java程序员面试宝典》读书笔记1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。