Objective-c-assignment-operators

提供:Dev Guides
移動先:案内検索

Objective-Cの割り当て演算子

Objective-C言語でサポートされている次の代入演算子があります-

Operator Description Example
= 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 is equivalent to C = C + A
-= Subtract AND assignment operator, It subtracts right operand from the left operand and assigns the result to left operand C -= A is equivalent to C = C - A
*= Multiply AND assignment operator, It multiplies right operand with the left operand and assigns the result to left operand C *= A is equivalent to C = C *A
/= Divide AND assignment operator, It divides left operand with the right operand and assigns the result to left operand C/= A is equivalent to C = C/A
%= Modulus AND assignment operator, It takes modulus using two operands and assigns the result to left operand C %= A is equivalent to C = C % A
<⇐ Left shift AND assignment operator C <⇐ 2 is same as C = C << 2
>>= Right shift AND assignment operator C >>= 2 is same as C = C >> 2
&= Bitwise AND assignment operator C &= 2 is same as C = C & 2
^= bitwise exclusive OR and assignment operator C ^= 2 is same as C = C ^ 2
= bitwise inclusive OR and assignment operator
C = 2 is same as 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