Objective-C 中的赋值运算符



Objective-C 语言支持以下赋值运算符:

运算符 描述 示例
= 简单赋值运算符,将右侧操作数的值赋给左侧操作数 C = A + B 将 A + B 的值赋给 C
+= 加法和赋值运算符,将右侧操作数加到左侧操作数上,并将结果赋给左侧操作数 C += A 等价于 C = C + A
-= 减法和赋值运算符,从左侧操作数中减去右侧操作数,并将结果赋给左侧操作数 C -= A 等价于 C = C - A
*= 乘法和赋值运算符,将右侧操作数乘以左侧操作数,并将结果赋给左侧操作数 C *= A 等价于 C = C * A
/= 除法和赋值运算符,将左侧操作数除以右侧操作数,并将结果赋给左侧操作数 C /= A 等价于 C = C / A
%= 取模和赋值运算符,使用两个操作数进行取模运算,并将结果赋给左侧操作数 C %= A 等价于 C = C % A
<<= 左移和赋值运算符 C <<= 2 等价于 C = C << 2
>>= 右移和赋值运算符 C >>= 2 等价于 C = C >> 2
&= 按位与和赋值运算符 C &= 2 等价于 C = C & 2
^= 按位异或和赋值运算符 C ^= 2 等价于 C = C ^ 2
|= 按位或和赋值运算符 C |= 2 等价于 C = C | 2

示例

尝试以下示例以了解 Objective-C 编程语言中可用的所有赋值运算符:

#import <Foundation/Foundation.h>

int main() {
   int a = 21;
   int c ;

   c =  a;
   NSLog(@"Line 1 - =  Operator Example, Value of c = %d\n", c );

   c +=  a;
   NSLog(@"Line 2 - += Operator Example, Value of c = %d\n", c );

   c -=  a;
   NSLog(@"Line 3 - -= Operator Example, Value of c = %d\n", c );

   c *=  a;
   NSLog(@"Line 4 - *= Operator Example, Value of c = %d\n", c );

   c /=  a;
   NSLog(@"Line 5 - /= Operator Example, Value of c = %d\n", c );

   c  = 200;
   c %=  a;
   NSLog(@"Line 6 - %= Operator Example, Value of c = %d\n", c );

   c <<=  2;
   NSLog(@"Line 7 - <<= Operator Example, Value of c = %d\n", c );

   c >>=  2;
   NSLog(@"Line 8 - >>= Operator Example, Value of c = %d\n", c );

   c &=  2;
   NSLog(@"Line 9 - &= Operator Example, Value of c = %d\n", c );

   c ^=  2;
   NSLog(@"Line 10 - ^= Operator Example, Value of c = %d\n", c );

   c |=  2;
   NSLog(@"Line 11 - |= Operator Example, Value of c = %d\n", c );

}

编译并执行上述程序时,会产生以下结果:

2013-09-07 22:00:19.263 demo[21858] Line 1 - =  Operator Example, Value of c = 21
2013-09-07 22:00:19.263 demo[21858] Line 2 - += Operator Example, Value of c = 42
2013-09-07 22:00:19.263 demo[21858] Line 3 - -= Operator Example, Value of c = 21
2013-09-07 22:00:19.263 demo[21858] Line 4 - *= Operator Example, Value of c = 441
2013-09-07 22:00:19.263 demo[21858] Line 5 - /= Operator Example, Value of c = 21
2013-09-07 22:00:19.264 demo[21858] Line 6 - %= Operator Example, Value of c = 11
2013-09-07 22:00:19.264 demo[21858] Line 7 - <<= Operator Example, Value of c = 44
2013-09-07 22:00:19.264 demo[21858] Line 8 - >>= Operator Example, Value of c = 11
2013-09-07 22:00:19.264 demo[21858] Line 9 - &= Operator Example, Value of c = 2
2013-09-07 22:00:19.264 demo[21858] Line 10 - ^= Operator Example, Value of c = 0
2013-09-07 22:00:19.264 demo[21858] Line 11 - |= Operator Example, Value of c = 2
objective_c_operators.htm
广告

© . All rights reserved.