操作符--自动递增和递减(前缀式和后缀式的区别、i++和++i区别)
2015-07-19 20:56
239 查看
递增和递减运算是两种相当 不错的快捷运算(常称为“自动递增”和“自动递减”运算)。其中,递减操作符是“--”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。举个例子来说,假设a是一个int(整数)值,则表达式++a就等价于(a=a+1)。递增和递减操作符不仅改变了变量,并且以变量的值作为生成的结果。
这两个操作符各有两种使用方式,通常称为“前缀式”和“后缀式”。“前缀递增”表示“++”操作符位于变量或表达式的前面;而“后缀递增”表示“++”操作符位于变量或表达式的后面。类似地,“前缀递减”意为着“--”操作符位于变量或表达式的前面;而“后缀递减”意味着“--”操作符位于变量或表达式的后面。对于前缀递增和前缀递减(如++a或--a),会先执行运算,再生成值。而对于后缀递增和后缀递减(如a++或a--),会先生成值,再执行运算。下面的例子就阐释了这一概念:
程序运行结果如下:
这两个操作符各有两种使用方式,通常称为“前缀式”和“后缀式”。“前缀递增”表示“++”操作符位于变量或表达式的前面;而“后缀递增”表示“++”操作符位于变量或表达式的后面。类似地,“前缀递减”意为着“--”操作符位于变量或表达式的前面;而“后缀递减”意味着“--”操作符位于变量或表达式的后面。对于前缀递增和前缀递减(如++a或--a),会先执行运算,再生成值。而对于后缀递增和后缀递减(如a++或a--),会先生成值,再执行运算。下面的例子就阐释了这一概念:
package assignment; public class AutoInc { /** * @param args */ public static void main(String[] args) { int i=1; System.out.println("i :"+i); System.out.println("++i :"+ ++i); System.out.println("i++ :"+ i++); System.out.println("i :"+i); System.out.println("--i :"+ --i); System.out.println("i-- :"+ i--); System.out.println("i :"+i); } }
程序运行结果如下:
i :1 ++i :2 i++ :2 i :3 --i :2 i-- :2 i :1从中可以看出,对于前缀形式,我们在执行完运算后才得到值。但对于后缀形式,则是在运算执行之前就得到值。它们是除那些涉及赋值的操作符以外,唯一具有“副作用”的操作符。也就是说,它们会改变操作数,而不仅仅是使用自己的值。
相关文章推荐
- 也谈double dispatch(双分派)::Visitor 模式(转)
- 学习笔记:Twitter核心数据类库团队的Hadoop优化经验
- Win8 下配置Java开发环境
- 水题
- [LeetCode][Java] Merge Sorted Array
- Java IO练习
- MySQL 忘记密码解决方案
- 代表控件的对象
- 关于导出数据库提示 outfile disabled的解决方案
- hdu2181 dfs
- 杭电 hdu 1102 Constructing Roads (最小生成树)
- shell 中 seq的用法总结
- Delete Node in a Linked List
- Linux 2.6.35内核配置 armv7 s5pv210 模块加载错误
- Android应用的耗电量统计
- SSH上传文件时报错
- VBS学习日记(一个) 开始了解
- Redis常用命令
- 使用simhash算法对网页去重
- C++归并排序总结