Objective-C 賦值運算符
支持Objective-C語言的賦值運算符有以下:
運算符
描述說明
示例
=
Simple assignment operator, Assigns values from right side operands to left side operand
C = A + B will assign value of A + B into C
+=
Add AND assignment operator, It adds right operand to the left operand and assigns the result to left operand
C += A 等同於 C = C + A
-=
Subtract AND assignment operator, It subtracts right operand from the left operand and assigns the result to left operand
C -= A 等同於 C = C - A
*=
Multiply AND assignment operator, It multiplies right operand with the left operand and assigns the result to left operand
C *= A 等同於 C = C * A
/=
Divide AND assignment operator, It divides left operand with the right operand and assigns the result to left operand
C /= A 等同於 C = C / A
%=
Modulus AND assignment operator, It takes modulus using two operands and assigns the result to left operand
C %= 等同於 C = C % A
<<=
Left shift AND assignment operator
C <<= 2 等同於 C = C << 2
>>=
Right shift AND assignment operator
C >>= 2 等同於 C = C >> 2
&=
Bitwise AND assignment operator
C &= 2 等同於C = C & 2
^=
bitwise exclusive OR and assignment operator
C ^= 2 等同於C = C ^ 2
|=
bitwise inclusive OR and assignment operator
C |= 2 等同於 C = C | 2
例子
嘗試下面的例子就明白了所有在Objective-C編程語言的賦值運算符:
#import <Foundation/Foundation.h> main() { int a = 21; int c ; c = a; NSLog(@"Line 1 - = Operator Example, Value of c = %d
", c ); c += a; NSLog(@"Line 2 - += Operator Example, Value of c = %d
", c ); c -= a; NSLog(@"Line 3 - -= Operator Example, Value of c = %d
", c ); c *= a; NSLog(@"Line 4 - *= Operator Example, Value of c = %d
", c ); c /= a; NSLog(@"Line 5 - /= Operator Example, Value of c = %d
", c ); c = 200; c %= a; NSLog(@"Line 6 - %= Operator Example, Value of c = %d
", c ); c <<= 2; NSLog(@"Line 7 - <<= Operator Example, Value of c = %d
", c ); c >>= 2; NSLog(@"Line 8 - >>= Operator Example, Value of c = %d
", c ); c &= 2; NSLog(@"Line 9 - &= Operator Example, Value of c = %d
", c ); c ^= 2; NSLog(@"Line 10 - ^= Operator Example, Value of c = %d
", c ); c |= 2; NSLog(@"Line 11 - |= Operator Example, Value of c = %d
", 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