public class PlusPlusTest {
/**
* @param args
* @author Bruce
*/
public static void main(String[] args) {
int a = 0;
for (int i = 0; i < 10; i++) {
a = a++;
}
System.out.println(a);
}
}
输出结果是0
解释:在这里jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区。
语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值);语句iload_1是将变量区中的值暂存如堆栈中。
因为a = a++;是先将a的值(0)存入堆栈,然后对变量区中的a自加1,这时a的值的确是1,但是随后的istore_1又将堆栈的值(0)弹出赋给变量区的a,所以最后a = 0。
又因为a = ++a;是先对变量区中的a自加1,然后再将变量区中a的值(1)存入堆栈,虽然最后执行了istore_1,但也只是将堆栈中的值(1)弹出赋给变量区的a,所以a = ++a;的结果是a = 1。
分享到:
相关推荐
Java运算符+(优先级、目数)
Java运算符是编程中至关重要的组成部分,它们用于执行各种计算和逻辑操作。了解运算符的优先级和目数对于编写高效、准确的代码至关重要。在Java中,运算符按照其功能分为不同的类别,并且有不同的结合性和目数。 1....
Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java...
Java基础知识,其中包括基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合训练+字符串+集合&学生管理系统+学生管理系统升级版+面向对象进阶(static&继承+多态+包&final&权限+抽象类&...
Java运算符优先级和目数 Java是一种面向对象的编程语言,它的运算符和目数是编程的基础,本文将详细介绍Java中的运算符优先级和目数。 一、点运算符(.)和圆括号([]) Java中的点运算符(.)和圆括号([])是...
本文将详细讲解Java中的运算符及其在实际编程中的应用。 首先,我们要了解Java中的类型转换。类型转换分为两种:自动类型转换和强制类型转换。自动类型转换发生在数据范围小的类型向数据范围大的类型转换时,例如,...
但是,c语言和java语言在使用increment运算符时存在着一些区别,这篇文章将深入探讨c语言和java语言中i++的区别。 首先,让我们来看一下c语言中的i++。在c语言中,i++是后缀自增运算符,也就是说,它会先返回变量的...
28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符...
Java运算符是编程语言中用于执行特定操作的关键符号,它们在Java程序中起着至关重要的作用,帮助我们处理数据和控制程序流程。在这个"java运算符小程序"中,我们可以探索和学习Java中的各种运算符及其用法。 1. **...
内容概要:本文详细介绍了前置自增(++i)和后置自增(i++)运算符的区别及其应用场景,涵盖C/C++、Java、JavaScript等多门语言。重点讨论了两者在返回值、执行顺序以及在复杂表达式中的差异,并探讨了编译器优化的...
非常详细的java运算符优先级表,帮助记住优先级顺序
无论是在C语言还是Java语言中,这两种运算符都有着广泛的用途,并且能够极大地简化代码的编写过程。然而,对于初学者来说,正确理解和运用这两个运算符并不是一件容易的事情,特别是当它们与其他运算符组合在一起...
本资料包"java学习-java的运算符"是针对Java运算符的学习资源,旨在帮助你深入理解和熟练运用Java中的各种运算符。 1. **算术运算符**:Java中的算术运算符包括加法(+)、减法(-)、乘法(*)、除法(/)和取余...
在Java编程语言中,算术运算符是进行基本数学计算的关键元素。它们允许我们执行加法、减法、乘法、除法等操作。本文将深入探讨Java中的算术运算符,以及它们如何用于处理数值。 1. 基本算术运算符: - 加法 (+):...
Java运算符是编程中不可或缺的部分,它们用于执行各种计算和逻辑操作。Java提供了四大类运算符:算术运算符、位运算符、关系运算符和逻辑运算符。 1. **算术运算符**: - `+`:加法运算,可用于整数、浮点数的相加...
Java运算符是编程语言中不可或缺的部分,它们帮助程序员执行各种计算和逻辑判断。在Java中,运算符主要分为四大类:算术运算符、关系运算符、逻辑运算符和位运算符。 1. **算术运算符** - 加法运算符 (+):将两个...
13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位...
9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip...
35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元...