J2SE_运算符_表达式
来源:互联网 发布:单片机 pc 编辑:程序博客网 时间:2024/06/04 00:46
1. i++,++i
2.& && | ||
&& || 会短路(即前一个为false或true,后面就不运行)
3.顺序
++--
*/
+-
>><<
><
=!=
&
|
&&
||
得到的结论: 自增自减运算符, 如果是符号在值之后, 会首先记录一下需要自增一次. 这个自增发生的时机:
1. 运算式结束.
2. 对同一个值需要进行下一次自增或自减运算.
就总结得到这么一点, 如果有不合适或不完整的地方, 期待楼下高手指点...
- Java code
- /** * @param args */ public static void main(String[] args) { int a = 2;// int y = a ++ + ++ a * --a; //结果是14, 首先做*, 然后做+, /** * 两个栈, 一个数值栈, 一个符号栈.(下面对自增自减运算符没有对优先级判断, * 因为我知道的自增自减的运算符优先级好像算是最高了吧....不对的话请见谅) * 1. 读入a++, a++的值返回为2, 记录a一次自增.a++的返回值入栈 * 2. +号入栈, 此时值栈[2], 符号栈[+] * 3. 读入++a, ++a返回多少呢? 这里是先自增后运算的++a, * 然而, 前面还记录了一次a的自增, 所以, ++a返回4 * 返回的4也入栈. * 4. 此时值栈[2, 4], 符号栈[+] * 5. 符号栈有元素, 读取*后比较*和+的优先级, * 如果栈内的符号优先级大于等于新读取的符号, 值栈的栈顶出栈两个元素, 符号栈元素出栈, 进行运算. * 计算结果重新入栈到值栈. * 如果栈内的符号优先级小于新读取的符号, 新读取的符号继续入栈. * 在这里, 由于栈顶符号+优先级小于新读取符号*, 所以, *继续入栈, 进入符号栈. * 6. 所以, *号入栈后值栈[2, 4], 符号栈[+, *] * 7. 然后读取--a, 上面做完++a之后, a值是4, 并且是没有记录自增或自减的. 因此, --a返回3, 而a值也成为3. * 8. 根据7, 也就是说将--a的返回值3入栈到值栈中. 此时值栈[2, 4, 3], 符号栈[+, *] * 9. 运算时读取完毕. * * 下面是出栈进行运算. * 1. 值栈出栈3. * 2. 符号栈出栈* * 3. 值栈出栈4 * 4. 运算3*4 = 12; * 5. 符号栈出栈+ * 6. 值栈出栈2 * 7. 运算12 + 2 = 14; * */// int z = a ++ - ++ a; //结果-2, 如果把-号变成+号, 结果就是6, 所以, 在做减法运算的时候, a++部分值为2, ++a部分为4 int x = a ++ - a ++; //结果是-1, 如果把-号变成+号, 结果就是5, 所以, 在做减法运算的时候, -号左边值是2, 右边值是3; System.err.println(x); }
- J2SE_运算符_表达式
- 实验2_运算符和表达式
- pg学习_运算符,表达式
- C++_利用栈进行运算符表达式的运算
- 20150527常量变量_练习_运算符表达式练习
- Groovy笔记(2)_表达式与运算符
- 【C++学习笔记】06_运算符与表达式
- javascript重点-表达式和运算符_优就业
- C#编程入门_表达式和运算符_3
- C#编程入门3_表达式和运算符
- C编译器剖析_4.2 语义检查_表达式的语义检查(7)_二元运算符_赋值运算_条件表达式
- JavaScript权威指南_14_第4章_表达式和运算符_概述
- JavaScript权威指南_15_第4章_表达式和运算符_4.1-原始表达式
- JavaScript权威指南_19_第4章_表达式和运算符_4.5-调用表达式
- JavaScript权威指南_22_第4章_表达式和运算符_4.8-算术表达式
- JavaScript权威指南_23_第4章_表达式和运算符_4.9-关系表达式
- JavaScript权威指南_24_第4章_表达式和运算符_4.10-逻辑表达式
- JavaScript权威指南_25_第4章_表达式和运算符_4.11-赋值表达式
- Arbitrage------最短路径Floyd算法
- LPC1113调试笔记
- 数据库的基本概念
- AS中Date类的易混淆属性
- 21种提高转化率的秘诀
- J2SE_运算符_表达式
- 机房收费系统之条件查询窗体
- flash as3 电子书(模拟翻书页)功能模块
- 机房收费系统之范围查询
- 优秀程序员的45个习惯
- Apache Gems包服务器
- 机房收费系统之查看窗体
- Delphi 小谈之TList 篇
- 各大浏览器 CSS3 和 HTML5 兼容速查表