Java中间缓存变量

news/2024/7/4 9:59:26

Java中间缓存变量,在看《Java面试宝典》时,看到面试例题,关于Java缓存变量,一直一脸茫然,查了部分资料,在这里和大家分享一下。

题目:
public class Test {
    public static void main(String[] args) {
        int j = 0;
        for (int i =0; i<100; i++) {
            j = j++;
        }
        System.out.println(j++);
    }
}

输出结果居然是 0

在这里,就涉及到所谓的Java中的中间缓存变量了。在Java中(其他的语言不了解),当进行自增(或自减)运算时,Java会对运算的变量进行临时缓存。
例如:

j = 0;
j = j ++;
就可以分解成:
temp = j = 0; //由于自增在后,所以,先进行临时变量缓存
j = j + 1; // j ++ 运算 ,缓存变量后,进行运算自增
j = temp; // 将缓存变量赋值给 j

可以这么理解,也就是, j = j++运算的时候 ,先进行左边的运算,然后再进行赋值,思路是这样的。
然后,当左边进行了两个运算,第一步是利用中间缓存变量,缓存 j 的初始值,也就是0, 第二部,是给j的变量自增为1, 因为这是两步,右边的自增是在 是后运算,所以当进行给左边赋值的时候,就行使用初始值,也就是临时缓存变量赋值,而自增的结果就会被抛弃。以上是个人总结后认为比较好理解的地方,如有其他意见,还请交流指出,谢谢!

具体参考地址:http://blog.csdn.net/u0112634...


http://www.niftyadmin.cn/n/2895997.html

相关文章

[网络流24题(1/24)] 最小路径覆盖问题(洛谷P2764)

传送门 分析&#xff1a; 本题的结论是&#xff1a;最小路径覆盖顶点数-原图的最大匹配数 证明&#xff08;逼逼&#xff09; &#xff1a; 对于$1$对由$1$条边覆盖的点而言&#xff0c;$点数-1边数$ 倘若对于$n$个由$m$边所覆盖的点而言&#xff0c;则等价于把上述式子归纳&am…

201521123070 《JAVA程序设计》第3周学习总结

1. 本章学习总结 初学面向对象&#xff0c;会学习到很多碎片化的概念与知识。尝试学会使用思维导图将这些碎片化的概念、知识组织起来。请使用纸笔或者下面的工具画出本周学习到的知识点。截图或者拍照上传。 http://naotu.baidu.com/file/9fe346029d5b41fae0d11c63e93b639a?t…

iOS开发应用上架必读最新苹果审核规则(史上最全版)

官方文档 地址https://developer.apple.com/cn/app-store/review/guidelines/ App Store 审核指南 简介 App 正在改变世界&#xff0c;丰富人们的生活&#xff0c;并为像您一样的开发者提供前所未有的创新机会。因此&#xff0c;App Store 已成长为一个激动人心且充满活力的生态…

linux设置自动更换壁纸

#!/bin/bash let n0 files($HOME/wallpapers/*.jpg) count${#files[]} while [ 1 ] dolet "nn%$count"file"${files[$n]}"echo "switch to $file"feh --bg-max "$file" &let nn1sleep 5s done最近发现王者荣耀的壁纸很精美&#x…

c3p0和QueryRunner的结合使用,让开发更加简便

1&#xff1a;DBUtils中的QueryRunner的使用&#xff1a; 1.1&#xff1a;QueryRunner中提供了对SQL语句操作的api&#xff1b; 1.2&#xff1a;主要有三个方法&#xff1a; 1.2.1&#xff1a;query()&#xff1a;用于执行select&#xff08;查询&#xff09;&#xff1b; 1.2.…

Scratch 母鸡保护鸡蛋

今天我们一起实现一个“母鸡保护鸡蛋”的小游戏 具体思路是这样滴&#xff1a; 1、鸡蛋会不断的从右往左移动&#xff1b; 2、当母鸡快碰到鸡蛋的时候&#xff0c;按下“空格键”让母鸡跳跃起来&#xff1b; 3、如果母鸡落下没碰到鸡蛋&#xff0c;加一分&#xff1b; 4、如果母…

python写的一段分页的代码

代码: from django.utils.safestring import mark_safeclass Paginator(object):def __init__(self,current_page,total_item_count,base_url,per_page_count10,show_pager_count11):""":param current_page: 当前页码:param total_item_count: 数据库数据总条…

iOS设置父视图透明度而不影响子视图

为什么80%的码农都做不了架构师&#xff1f;>>> view.backgroundColor [[UIColor blackColor] colorWithAlphaComponent:0.5]; 转载于:https://my.oschina.net/SoulJa/blog/858078