Objective-C学习笔记(六)——运算符之一元运算符
来源:互联网 发布:cf手游刷枪永久枪软件 编辑:程序博客网 时间:2024/06/15 04:41
OC中的运算符分为一元运算符,二元运算符和三元运算符,这和C语言是极为类似的。本篇文章主要来聊一聊OC中的一元运算符。一元运算符主要分为自加运算符和自减运算符。两者的思路是一样的,所以主要讨论自加 ++运算。下面分为几个代码片段来分析:
(1)代码一:
int main(int argc, const char * argv[]) { @autoreleasepool { int a = 1; a++;//等价于 a=a+1; NSLog(@"a = %d",a); } return 0;}
运行结果:
。
结果分析:a的初始值为1,自加一次后值为2,所以结果输出2.在这里a++;等价于 a=a+1;
(2)代码二:
int main(int argc, const char * argv[]) { @autoreleasepool { int a = 1; a++; NSLog(@"a = %d",a++); NSLog(@"a = %d",a); } return 0;}
运行结果:
。
结果分析:为什么第一个输出为2?不也是执行了a++,按道理来说应该是3才对啊? 这里就涉及到了++的特殊点。如果是a++,虽然等价于a=a+1;但是对于a值,是先使用,再增加的。
所以第一个输出先使用a的值为2,然后在执行++,所以第二个输出等于3.
(3)代码三:
int main(int argc, const char * argv[]) { @autoreleasepool { int a = 1; a++; NSLog(@"a = %d",++a); NSLog(@"a = %d",a); } return 0;}
运行结果:
。
结果分析:这里要区别 a++和++a, a++表示的是先使用a的值,再自增;++a表示的是先增加a的值,再使用a。
所以在第一个输出中先增加了a的值,变为3,再进行输出,然后第二个输出a,值也就是3. 所以关键在于是“先加后用”,还是“先用后加”。自减--使用和++一样,也就是区分“先加后用”,还是“先用后减”。在此不再重复叙述。
2 0
- Objective-C学习笔记(六)——运算符之一元运算符
- Python学习笔记(六)—Python的运算符
- 《C语言宝典》学习笔记(六):运算符
- Python学习笔记之运算符之一
- Objective-C学习笔记(四)——OC实现最简单的数学运算
- 【C++PrimerPlus6学习笔记】之四:循环、分支、表达式、运算符(第五六章)
- Objective-C位运算符-Objective-C 位运算符
- Python学习笔记(六)—— 序列运算
- Objective-C位运算符
- Objective-C位运算符
- 【C++】学习笔记三——算术运算符
- 【C++】学习笔记二十四——?:运算符
- 【C++】学习笔记五十一——运算符重载
- PHP学习(六)--运算符
- 【IOS 开发学习总结-OC-4】objective-c 运算符
- c语言笔记——运算符
- 运算符重载——五元向量的运算
- c学习笔记(三)C数据类型与运算符
- C语言声明一览
- Linux下C编程知识整理
- 第12章:继承
- 我有个问题
- 用java实现 小孩围圈数三退一游戏
- Objective-C学习笔记(六)——运算符之一元运算符
- oracle数据库实战_如何利用PL/SQL远程登录oracle数据库
- 2015072201 - 越来越不像技术博客
- 沙盒获得根目录
- 数据库中的悲观锁和乐观锁详解
- [原创] Zookeeper注册节点的掉线自动重新注册及测试方法
- QTP 默认场景恢复文件
- 一些在JAVA中获得文件夹路径的方法http://www.cnblogs.com/lostyue/archive/2011/06/27/2091686.html
- 【80X86汇编语言学习】【DOS功能调用】磁盘文件管理及应用(一)