位置:首頁 > 高級語言 > Objective-C教學 > Objective-C 賦值運算符

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