読者です 読者をやめる 読者になる 読者になる

JAVA 代入演算子

パソコン

代入演算子

これは面白い動きですね〜。

+=   加算代入

-=   減算代入

*=   乗算代入

/=   除算代入

%=   剰余代入

&=     論理積代入

|=   論理和代入

^=    排他的論理和代入

<<=  左シフト代入

<<=  右シフト代入

>>>=  符号なし右シフト代入

正直、論理代入から何をするか想像もつかん。

動きとしては、

a = a + b;

これと

a += b ;

と同じ動きになるそうです。
この考えは、知らないだけかもしれないがExcelでは無かったと思う。
プログラムをややこしくする要因ですが、きっと効率が良くなるん
でしょうね。
でもこの代入演算子は馴染みが無く、面白い動きするなぁ、と関心
する。

 

 

 

import java.io.*;

class sample10
{

public static void main(String[] args) throws IOException

   {

   System.out.println("整数を3つ入力して下さい");
   BufferedReader br =
   new BufferedReader(new InputStreamReader(System.in));
   String str1 = br.readLine();
   String str2 = br.readLine();
   String str3 = br.readLine();

   int mun = 0;

   mun += Integer.parseInt(str1);
   mun += Integer.parseInt(str2);
   mun += Integer.parseInt(str3);
   System.out.println("3つの整数の合計は" + mun + "です");
   }
}

 

これだと、+= の動きが良く理解出来ます。
このロジックはExcelにはやはり無いと思う。

ついでにシフト演算子だが、例文を見ると理解は出来る。

簡単に言うと、桁をずらすだけです。
非常に難しくなるのは、十進数ではなくパソコンが一番理解しやす
い二進数と言う事が問題ですな。

素人には二進数での桁移動は結局、十進数でいくらなのか解らない。
もちろん二進数を見ただけで十進数に翻訳出来る人なら良いか、解
らんよ、これ。

5 << 2

5は、0000 0000 0000 0101

なので、2桁ほど左にずらすと言う意味なので、

0000 0000 0001 0100

これは解る。

けどこれが、20と言われても即座に計算出来ないし。

 

十進数だと簡単に理解できる。

5

50

500

この桁なら解るよ。

 

進めば進むほど険しい山だと認識します。