`

更深入地理解自增自减运算符

    博客分类:
  • java
 
阅读更多
public class DeepTest {
public static void main(String[] args) {
int a = 0;
int b = 0;
int i = 10;
while (i > 0) {
i--;
a = a++;
b = ++b;
}
System.out.println("a=" + a);
System.out.println("b=" + b);
}
}
思考一个问题,这个程序a、b的输出是多少呢?

最开始的想法是这样的,++自增运算符在这里是后缀式,应该是a赋值给a之后,a再自增一次,即首先a=a,然后a++(a=a+1).如此,最后a的输出值应

该是10.

但是输出结果是:
a=0
b=10
解释如下:++运算符的优先级高于赋值运算符,在程序运行a++时,a的值首先是赋值给一个拷贝或者说临时变量(按值传递,底层实现),即temp=a(即temp=a=0),然后a执行自增运算(运算后a的值为1),最后将这个拷贝(此时拷贝的值为0)作为(a++)整体的值赋值给a(赋值后a的值有重新从1变为0),所以最终的a的值输出为0.即a=a++;语句等价于 a=(temp=a,a+=1,temp);
分享到:
评论

相关推荐

    C语言自增自减运算符的解析与应用.pdf

    自增运算符(++)和自减运算符(--)是C语言中极为重要的运算符,它们在编程中承担着变量值增加或减少的职责。这两个运算符的使用,尤其在复合表达式中的使用,是C语言学习者需要重点掌握的内容。在实际编程过程中,...

    浅谈自增自减运算符在C语言中的应用.pdf

    自增运算符用“++”表示,自减运算符用“--”表示。自增和自减运算符均属于单目运算符,它们只对变量有效,不能作用于常量或表达式。 自增自减运算符有两种使用形式,分别是前置式和后置式。前置式指的是运算符放在...

    C语言中的自增自减运算符.pdf

    例如,自增运算符的前缀形式有较高的优先级,它会在算术运算之前执行。这使得 `a+b++` 等同于 `(a+b)+b++`,而 `a+++b` 实际上是 `(a++)+b`。另一方面,后缀运算符的优先级较低,如在 `a*b++` 中,`b` 的值会在乘法...

    浅析C语言中自增自减运算符的使用问题.pdf

    自减运算符(--)的工作原理与自增运算符类似,只是它将变量的值减1而不是加1。前缀运算符`--i`会先减后用,而后缀运算符`i--`会先用后减。 最后,自增自减运算符只能作用于变量,不能直接用于常量或者不分配内存的...

    Java语言中自增、自减运算符解析.pdf

    Java语言中的自增运算符(++)和自减运算符(--)是两个非常基础且独特的运算符,它们在编程中用于递增或递减变量的值。这两个运算符源自C语言,且Java语言中也使用了这两个运算符,并保留了它们的主要特性,但也有一些...

    C语言中自增自减运算符在表达式和函数中的应用.pdf

    总结来说,C语言中的自增和自减运算符是提高代码效率的关键元素之一,但需要深入理解其运算规则和在不同上下文中的行为,才能避免常见的错误和提高代码质量。在TurboC环境下探讨自增和自减运算符的应用,可以帮助...

    C语言自增自减运算符的区别与理解

    因此,深入理解自增自减运算符的前后置差异是每个C语言程序员的基础技能之一。 在编程考试或者实际开发中,自增自减运算符的应用是常考知识点。理解它们的工作原理有助于避免潜在的逻辑错误,提高代码质量。希望...

    set命令实例 运算符自增自减 +=、-=

    分析这两个文件可以帮助我们更详细地理解批处理脚本的实现方式。在实际操作中,我们还需要考虑错误处理和用户交互的友好性,比如使用`echo`命令显示提示信息,以及使用`pause`命令暂停脚本执行等待用户确认等。 ...

    试析二级C语言之自增、自减运算符.pdf

    在C语言中,自增运算符有两种形式:前缀形式(++x)和后缀形式(x++)。同样,自减运算符也有前缀形式(--x)和后缀形式(x--)。前缀形式意味着变量在表达式求值之前先增加(或减少)1;后缀形式意味着变量在表达式...

    sizeof运算符的使用,自增和自减运算符的使用

    在2.cpp文件中,可能包含了使用`sizeof`、自增和自减运算符的示例代码,通过编译和运行这个程序,我们可以更直观地看到这些运算符在实际情境中的应用。这些例子有助于加深对这些知识点的理解,尤其是在处理循环、...

    Java语言中自增、自减运算符解析.zip

    本篇文章将深入解析Java中的自增和自减运算符,帮助你更好地理解和运用它们。 自增运算符主要有两种形式:前置自增(++)和后置自增(++)。前置自增会在运算前先将变量的值加1,然后返回新的值;而后置自增则是在运算...

    探讨C语言中自增、自减运算符.pdf

    C语言中的自增运算符(++)和自减运算符(--)是该语言中的特有元素,它们使得变量的值增加或减少1。这两个运算符的使用规则看似简单,但在实际编程中却很容易导致错误。本文将详细讲解自增和自减运算符的用法、运算...

    C语言自增自减运算探讨.pdf

    这一规则对于理解自增自减运算符的优先级至关重要。 此外,作者还通过具体的习题分析来加深读者对自增自减运算符使用的理解。比如,通过分析main()函数中包含自增运算符、逗号运算符和赋值运算符综合使用的例子,来...

    C语言自增(自减)运算符运算规律的探讨.pdf

    C语言中的自增运算符(++)和自减运算符(--)是十分重要的运算符,它们用于将变量的值分别增加或减少1。这些运算符非常简洁并且在代码中使用起来非常灵活,但是,如果使用不当,就可能导致程序的运行结果与预期不同...

    C++中的自增自减操作

    在C++编程语言中,自增(++)与自减(--)运算符是极其重要的概念,它们在处理数值...通过对这些实例的理解和实践,我们可以更深入地掌握C++中自增自减运算符的使用技巧,这对于提高编程效率和代码理解能力至关重要。

    C语言中指针自增自减运算常见错误分析.pdf

    根据C语言的运算规则,自增和自减运算符的优先级高于其他大多数运算符,但低于函数调用和成员访问运算符。 7. 练习和实践 掌握指针和自增自减运算符的最佳方法是通过编写和调试实际的代码。实践可以帮助巩固理论...

    C语言中自增(自减)运算符的应用与分析.pdf

    这篇文章将详细地介绍自增和自减运算符的使用功能、使用形式以及它们在复杂表达式中的应用,以帮助初学者深入理解并正确使用这两个运算符。 首先,自增和自减运算符都只作用于变量,不能作用于常量或表达式。例如,...

    c语言中自增自减的探讨

    自增运算符(++)用于将变量的值增加1,而自减运算符(--)则是将变量的值减少1。这两种运算符分为前缀形式(++x或--x)和后缀形式(x++或x--),它们在操作顺序和结果上有所不同。 前缀形式的自增和自减运算符(如...

    C语言中自增(自减)运算解析.pdf

    因此,需要深入理解自增(自减)运算符的运算规律和应用场景。 C语言中的自增(自减)运算符是一个非常重要的知识点,需要深入理解和掌握。在编程过程中,需要正确地使用自增(自减)运算符,以提高程序的执行效率和简洁...

Global site tag (gtag.js) - Google Analytics