第四章
 〜基本編〜
 演算前編
 演算について
   今回は、演算について説明するです。
  演算というのは、演算であって、計算ですね!(すいません。そのまんまでした
  演算は、足したり引いたりするやつですね!
  演算と言うより計算という言葉を使って説明していくです。
  小学校のときにやった算数と同じです〜
  ただ、少し違うかもしれないところがあるので
  さっそくですが例を出して見ていきたと思うです。

  例  :変数Aに1と2を足した答えを入れる
  やり方:A = 1 + 2;
   まず変数Aに1と2を入れて足すと書いてあるので、
  A = とおくです。そして、1と2を足すと書いてあるので1 + 2を書くです。
  そうすると・・・
  A = より右側の式1 + 2がまず最初に計算されるです。
  答えは、ずばり3ですね!
   次に、その出た答え3が左側にあるAに代入されるです。
  これは、変数のときにやった代入と同じですね!
  そうすると変数Aの中に3が入るです。

  A = 1 + 2;
   ↓
  A = 3;
  Aの値が3になる♪

   算数のときでも、そうだったと思うですが、
  =よりも右側の式がさきに実行されるです〜。
  そして、そのあとに=によって変数の中に値が代入されるです。
  ほかにもいろいろできるです〜

  1: A = 10 + 20 + 30;
  2: A = 100 - 50 + 10 - 15;
  3: A = 5 + 3 * 2;
  4: A = 10 / 2 + 6 * 1;

   上の計算の中で * と / が出てきたと思うです。
  これは、Javaの算術演算子の掛け算と割り算です。
  算術演算子というのは、計算を行うときに使う演算子です。
  演算子というのは、+ - * /などなどといったやつです。
  他にも算術演算子には、 % といったものなどもあります。
  下の表に算術演算子をまとめてみたです〜。


演算子使用例
説明
+ a + b aとbの足し算
- a - b aとbの引き算
* a * b aとbの掛け算
/ a / b aとbの割り算
% a % b a割るbの余り

算術演算子一覧表

   算術演算子を一通り載せたところで、今度は変数同士の
  計算をやってみたいと思うです。これは、初めてプログラムをやる人にとっては
  違和感があるかもしれないですが、やっていくです〜
  例:変数A(変数Aには5が入ってるとするです)に変数Aと10を足した答えを入れる
  やり方:A = A + 10;
  今までやったのと、何の違いもないと思うですが、
  やっぱり違和感を感じちゃったですか?
  この式はぱっと見、有り得ないですね!
  Aに0を入れれば有り得るという反則な考えは無しとして・・・
  でも、計算の仕方を思い出せばありえるはずだと思うです。
  最初にA + 10を実行して変数Aの値は5なので、5 + 10は15という感じになるです。
  そして、その値を変数Aに代入してあげるという感じで処理が終わるです。
  そう考えれば、納得いくと思うですね!
   もちろん、ここでは、足し算を例に説明したですが、
  引き算でも掛け算でもかまわないですよ〜
  それにA = A + B * 10;などといった長い式をかくのもOKです!

   ひとつ言っておかないといけないことがあるです。
  それは、演算子には実行優先順位というものがあるです。
  これは、日常でやっている計算と同じで、足し算や引き算よりも、
  掛け算や割り算が先に行われるということです。
  そんなに難しくはないですが、うっかりやってしまいそうなミスなので、
  そのへんは気をつけるです〜
  ちなみに%(あまりを求める)演算子は、掛け算や割り算と同じ

   実は、上の表以外にも便利な演算子があるので紹介するです。
  それは、計算と代入が同時に行えてるいう便利な演算子です〜
  例えばA = A + 10;などのように元々あるAの値を使って計算して、
  計算し終わったら、新しくなった値(計算された値)をAに代入するようなときに
  複合代入演算子を使うと便利です〜。
  上の例と同じことをやるときに次のように表すことができるです。
  A += b;
  この += という演算子が、複合代入演算子です。
  他にもいくつかあるので表にまとめてみたです。


演算子使用例
説明
+= a += ba = a + bと同じ
-= a -= ba = a - bと同じ
*= a *= ba = a * bと同じ
/= a /= ba = a / bと同じ
%= a %= ba = a % bと同じ

複合代入演算子一覧表

   最後にもうひとつ便利な演算子を紹介するです〜
  それは、インクリメント演算子とデクリメント演算子です。
  インクリメント演算子というのは、変数の値を1加算する演算子です。
  デクリメント演算子というのは、 変数の値を1減算する演算子です。
  使い方は、
  インクリメント演算子の場合:A++; //これは、A = A + 1またはA += 1と同じ
  デクリメント演算子の場合 :A--; //これは、A = A - 1またはA -= 1と同じ


   計算するときに役立つ演算子がいくつかあるですが、
  それはおまけ資料を見てほしいです〜
  実際に変数を使ったプログラムでも見てみようと思うです。
サンプルプログラム4_1_1
   1:
   2:
   3:
   4:
   5:
   6:
   7:
   8:
   9:
   10:
   11:
   12:
   13:
   14:
   15:
   16:
   17:
   18:
   19:
   20:
   21:
   22:
   23:
   24:
   25:
//演算を行うプログラム
class Rei4_1_1{
    public static void main(String args[]){
        int a = 1;
        int b = 2;
        int c = 3;
        
        a = a + b * c;   //a = 7
        c = a * 5;       //c = 35
        b++;             //b = 3
        
        System.out.println("変数aの値は" + a + "です");
        System.out.println("変数bの値は" + b + "です");
        System.out.println("変数cの値は" + c + "です");
        
        int d = 10;
        d = d % 3;
        
        System.out.println("変数dの値は" + d + "です");
        
        //出力するときに計算することも可能♪
        System.out.println("6 / 3 = " + (6 / 3));
        System.out.println("a * b = " + (a * b));
    }
}

   今回のサンプルプログラムで説明をしなくてはいけない場所は、
  やっぱり22行目と23行目ですね!
  見てみればわかると思うですがprintln()メソッドの中で
  直接計算して出力してるです。
  この場合は、計算結果は、どこにも代入されないです。
  それと、自分で計算プログラム(変数の型や値を変えたとき)を
  作って不具合がきっとでてくると思うです。
  それについては、次回説明するです〜。
  不具合がでそうな例:
  System.out.println("6 / 4 = " + (6 / 4));
  きっと答えが1になってしまうですね!


  今回のポイント
  @ 算術演算子には、 + - * / がある。
  A 式は、右側から処理される。 a = a + b は、
    a + b が先に行われ、a に代入される。
  B 複合代入演算子やインクリメント演算子、
    デクリメント演算子などの便利な演算子がある。
  C println()メソッドの中に計算式を入れることができる。
    System.out.println("x * y = " + (x * y));
    System.out.println("3 + 2 = " + (3 + 2));

  TOPに戻る     Java講座に戻る