コンテンツにスキップ

演算子と式

演算子について

  • インクリメント・デクリメントという書き方がある.
  • インクリメントは変数に対して+1する
  • デクリメントは変数に対して-1する
  • インクリメント・デクリメントは前置と後置という書き方がある.
  • 前置は変数iに対して++i,後置は変数iに対してi++となる.
  • 一般的には後置される.前置と後置の違いは後述.
演算子 説明 前置 後置
+ 加算 ++i i++
- 減算 --i i--
* 乗算 - -
/ 除算 - -
% 剰余 - -

計算する

public class CalcTest{
    public static void main(String[] args){
        int va = 91;
        int vb = 11;

        int add = va + vb;
        int sub = va - vb;
        int mul = va * vb;
        int div = va / vb;
        int mod = va % vb;

        double div_d = va / vb;

        String to_str = "の計算結果:";
        System.out.println("加算" + to_str + add);
        System.out.println("減算" + to_str + sub);
        System.out.println("乗算" + to_str + mul);
        System.out.println("除算" + to_str + div);
        System.out.println("剰余" + to_str + mod);
        System.out.println("除算(DOUBLE)" + to_str + div_d);
    }
}
  • 上記に計算のサンプルスクリプトを用意した.サンプルを試せ.

  • 上記だとdiv_dの結果は小数点以下が0になってしまう.キャストを用いて直せ.

条件式

  • 条件式は真と偽をだす.
  • True of False
  • 詳細は次章:条件分岐を参照

前置と後置

public class incTest{
    public static void main(String[] args){
        int aa=0;
        int ba=0;
        int ca=0;
        System.out.println("----- 定義 -----");
        System.out.println("aa = "+aa);
        System.out.println("ba = "+ba);
        System.out.println("ca = "+ca);

        /*------------------------------------
        単純にインクリメントしてみる
        ----------------------------*/
        System.out.println("----- aaについて -----");
        aa++; // `a = a + 1;`相当
        System.out.println("後置されたaa = "+aa);
        ++aa; // `a = a + 1;`相当
        System.out.println("更に前置されたaa: = "+aa);
        /*-----------------------------------
        インクリメント代入してみる
        ----------------------------*/
        int b = ba++; // `b = a; a = a + 1;`相当
        int c = ++ca; // `a = a + 1; b = a;`相当
        System.out.println("後置されたba = " + ba);
        System.out.println("前置されたca = " + ca);
        System.out.println("後置され代入されたb = " + b);
        System.out.println("前置され代入されたc = " + c);
        /*---------------------------------------------
        System.out.println()内でやってみる
        ------------------------------------*/
        int x1=0;
        int x2=0;
        System.out.println("後置: x1 = " + (x1++));
        System.out.println("前置: x2 = " + (++x2));
        System.out.println("----- インクリメント済み -----");
        System.out.println("後置: x1 = " + x1);
        System.out.println("前置: x2 = " + x2);

    }
}

- 単独で行う場合は,どちらも同じ結果
- 代入を行うときは順序が違う
- System.out.println()の中に組み込んだらどうなるだろうか?


最終更新日: 2021年4月30日