zoukankan      html  css  js  c++  java
  • Java中间缓存变量机制

    public static  void main(String[] args){          
            test_1();  
            test_2();   
        }  
          
        private static void test_1(){  
            int j = 0;  
            for(int i = 0; i < 100; i++){            
                j = j++;                          
            }         
            System.out.println("test_1:"+j);      
        }  
          
        private static void test_2(){  
            int j = 0;  
            for(int i = 0; i < 100; i++){            
                j = ++j;                          
            }         
            System.out.println("test_2:"+j);      
        }  

    输出结果:

    test_1:0
    test_2:100

    本题考查的知识点是:Java中间缓存变量机制。在java中,执行自增运算时,会为每一个自增操作分配一个临时变量,如果是前缀加(++i),就会“先自加1后赋值(给临时变量)”;如果是后缀加(i++),就会“先赋值(给临时变量)后自加1”。运算最终使用的,并不是变量本身,而是被赋了值的临时变量。

    test_1中的 j = j++ 即等同于:
    
    int temp = j;  
    j = j + 1;  
    j = temp; 
    test_2中的 j = ++j 即等同于:
    
    j = j + 1;  
    int temp = j;  
    j = temp;
    追梦的脚步,永不停息
  • 相关阅读:
    es6 Set 和Map 数据结构
    es6 Symbol
    es6 对象的扩展
    es6 class
    es6 数组扩展方法
    Docker入门01——Image
    GORM 中文文档
    将以前的文章开始慢慢转到这里发表
    环境变量
    在 Linux 中安装 VMware Tools
  • 原文地址:https://www.cnblogs.com/liuzhenping/p/7419216.html
Copyright © 2011-2022 走看看