和所有其他程序一起,OC 在两个数字相加时用(+),相减用(-),相乘用(*),相除用(/),这些运算符称为二元运算符,它们运算两个值或项
1.运算符的优先级
优先级用于确定包含多个运算符的表达式如何求值:优先级较高的先求值。如果表达式包含优先级相同的运算符,可按照从左到右的方向来求值。
int main(int argc,char * argv[]){
@autoreleacepool{
int a=100,b=2,c=25,d=4,result;
result=a-b;
NSLog(@"a-b=%i",result);
result=a*b;
NSLog(@"a*b=%i",result);
result=a/b;
NSLog(@"a/b=%i",result);
result=a+b*c; //先乘后加
NSLog(@"a+b*c=%i",result);
result=-a; //一元负号运算
NSLog(@"-a=%i",result);
result=a%b;//取模运算
NSLog(@"-a=%i",result);
}
}
2.一元负号运算
一元负号运算符对变量a的值求反。这个一元运算符是用于单个值的运算符,扮演的角色是对一个值求反。
关于优先级,与其他算术运算符相比,一元负号预算符具有更高的优先级。
3.取模运算
取模运算是 % ,取的是余数
4.整数浮点数的转换
在Objective-c 中,只要将浮点值赋值给整型变量,会自动转换成整数。同样,把整型变量赋给浮点变量不会引起数字的任何改变,该值仅由系统转换并存储到浮点变量中。
int main(int argc,char *argv[]){
@autoreleacepool{
float f1=123.4,f2;
int i1,i2=-150;
il=f1;//浮点型赋值给整型
NSLog(@"li=%i",i1);
f2=i2;//整型
NSLog(@"f2=%f",f2);
}
}
5.类型转换运算符
另外一种转换,可以使用(数据类型)进行限制,类型转换运算符比除 一元负号,一元加号 运算符的优先级都高。
例子:
(int)1.3+(int)13.7;