Javaプログラミング練習問題(演算子 Part1)

Java

こんにちは。ECF Tech
ブログ担当 Michiharu.Tです。

Javaプログラミング向け練習問題、今回のテーマは「演算子」です。
コンピュータの得意技、計算を使いこなしましょう!ということで、演算子の基本的な使い方を確認できる問題をご用意しました。

一般的なJavaの学習順序に沿ったテーマの一覧(※随時追加)は、こちらのリンクよりご確認頂けます。

Javaプログラミング

Javaのトピックスです。主に初心者向けにプログラミング学習ネタを提供していきます。

問題編

Q001

問題

  • 提供コード中の①~④を下の仕様に基づいて書き換え、実行結果を得てください。
    (仕様)
    ①4×3の計算をする式を記述します
    ②15を4で割った余りを求める式を記述します
    ③変数aに7を加算する式を記述します。
    ④変数aに4加算する記述をします。

提供コード

public class Quiz001 {
    public static void main(String[] args) {
        int a = 5;
        System.out.println(①);
        System.out.println(②);
        System.out.println(③);
        ④;
        System.out.println(a);
    }
}

実行結果

5
12
3
12
9

Q002

問題

  • 提供コードの4行目を8*3の計算から行なうようにしてください。
  • 提供コードの①②を下の仕様に基づいて記述してください。
    ① インクリメント演算子を用いてaを1加算してください。
    ② インクリメント演算子を用いてaを1減算してください。
  • 実行結果のとおりになるようにしてください。

提供コード

public class Quiz002 {
    public static void main(String[] args) {
        int a = 10;
        System.out.println(5 + 8 * 3);
        ①;
        System.out.println(a);
        ②;
        System.out.println(a);
    }
}

実行結果

29
11
10

Q003

問題

  • 提供コードの①②を下の仕様に基づいて記述し、実行結果を得てください。
    ① 5×3を計算する式を記述します。
    ② 10÷3を計算する式を記述します。整数として計算します。
    ③ 10÷3を記述する式を記述します。小数点として計算します。
    ④ 変数aとbをかけ算する式を記述します。

提供コード

public class Quiz003 {
    public static void main(String[] args) {
        int a = ①;
        int b = ②;
        double c = ③;
        int d = ④;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}

実行結果

15
3
3.3333333333333335
45

Q004

問題

  • 提供コードの①②を下の仕様に基づいて記述し、実行結果を得てください。
    ① 演算子+=を用いて、aに3加算してください。
    ② 演算子-=を用いて、bから4減算してください。

提供コード

public class Quiz004 {
    public static void main(String[] args) {
        int a = 5;
        int b = 8;
        ①;
        System.out.println(a);
        ②;
        System.out.println(b);
    }
}

実行結果

8
4

Q005

問題

  • 提供コードの①②を下の仕様に基づいて記述し、実行結果を得てください。
    (仕様)
    ① aとbの値を表示します。実行結果参考
    ② aとbの加算結果を表示します。実行結果参考

提供コード

public class Quiz005 {
    public static void main(String[] args) {
        int a = 8;
        int b = 5;
        System.out.println(①);
        System.out.println(②);
    }
}

実行結果

a = 8,b = 5
a + b = 13

Q006

問題

次の1~9に基づいて、プログラムを記述してください。

  1. 変数aを宣言し、7+6の結果を代入
  2. 変数bを宣言し、15-4の結果を代入
  3. aとbの値を実行結果のように表示
  4. ++を用いて、aを1加算
  5. --を用いて、bを1減算
  6. aとbの値を実行結果のように表示
  7. %=を用いて、aを3で割った余りをaに代入
  8. *=を用いて、bに5をかけた値をbに代入
  9. aとbの値を実行結果のように表示

提供コード

public class Quiz006 {
    public static void main(String[] args) {
        //ここから処理を書いていきます
    }
}

実行結果

a = 13,b = 11
a = 14,b = 10
a = 2,b = 50

解答編

Q001

public class Quiz001 {
    public static void main(String[] args) {
        int a = 5;
        System.out.println(4 * 3);
        System.out.println(15 % 4);
        System.out.println(a + 7);
        a = a + 4;
        System.out.println(a);
    }
}

解説

計算式は式の右辺に書くことも、printlnの()内に書くこともできます。

Q002

public class Quiz002 {
    public static void main(String[] args) {
        int a = 10;
        System.out.println(5 + (8 * 3));
        a++;
        System.out.println(a);
        a--;
        System.out.println(a);
    }
}

解説

()を用いることで、計算の優先順位を変更することができます。

Q003

public class Quiz003 {
    public static void main(String[] args) {
        int a = 5 * 3;
        int b = 10 / 3;
        double c = 10.0 / 3.0;
        int d = a * b;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}

解説

  • 整数どおしで計算を行なった場合、計算結果はintとみなされるため、小数点以下は切り捨てられてしまいます。
  • 小数点以下も計算結果として表示したい場合は、10.0のように式に用いる値を小数点で表記しなければなりません。

Q004

public class Quiz004 {
    public static void main(String[] args) {
        int a = 5;
        int b = 8;
        a += 3;
        System.out.println(a);
        b -= 4;
        System.out.println(b);
    }
}

解説

+=-=などの記号を使うと、足し算と代入を同時に行なうことができます。左辺は変数でなければいけません。

Q005

public class Quiz005 {
    public static void main(String[] args) {
        int a = 8;
        int b = 5;
        System.out.println("a = " + a + ",b = " + b);
        System.out.println("a + b = " + (a + b));
    }
}

解説

+で文字列を結合する場合、"文字列" + a + bとすると、すべて文字としてくっついてしまいます。
a = 8b = 5なら文字列85になってしまいます。()を使って、8+5を先にやってもらうようにする必要があります。

Q006

public class Quiz006 {
    public static void main(String[] args) {
        int a = 7 + 6;
        int b = 15 - 4;
        System.out.println("a = " + a + ",b = " + b);
        a++;
        b--;
        System.out.println("a = " + a + ",b = " + b);
        a %= 3;
        b *= 5;
        System.out.println("a = " + a + ",b = " + b);
    }
}

おわりに

いかがでしたでしょうか。今回は基本的な演算子のみをトピックしています。他にもJavaではビット演算・シフト演算、論理演算といった演算子もあります。今回の問題が簡単だったという方は、ぜひこのあたりも試してみてください。ひきつづき単元ごとに問題を徐々に増やしていきたいと思っていますので、よろしければぜひご活用ください。


合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。

ECFエデュケーション
キッズも大人も。沖縄からITのマナビを応援します
タイトルとURLをコピーしました