Java 演算に関する練習問題【後半】

記事上広告

Javaの演算に関連する練習問題を新たに選択式で作成しました。

問題数はこれからどんどん増やす予定です。

選択肢をクリックすると下のほうに、正解/不正解と簡単な解説が表示されます。

主な項目

このページの練習問題で出題するおもな項目は以下の通りです。

  • インクリメント/デクリメント
  • 比較演算
  • 論理演算
  • 文字列比較と文字列連結

演算に関する練習問題

問題文1
解答1
解答2
解答3
解答4
解答5
解答6
解答7
解答8
解答9
解答10

次の問題へ

答えおよび解説1


問題

  • インクリメントの記述の説明として間違っているものを選んでください
  • String型の説明として間違っているものを選んでください
  • 比較演算の説明として間違っているものを選んでください
  • 論理演算の説明として間違っているものを選んでください
  • コンパイルエラーとなる記述を選んでください
  • String型のxとString型のyが初期化されて定義されているとき、コンパイルエラーとなる記述を選んでください
  • System.out.println(“1000” + 20);上記の実行結果として正しいものを選んでください
  • System.out.println(“1000” * 20);上記の実行結果として正しいものを選んでください
  • System.out.println(50 > 30);上記の実行結果として正しいものを選んでください
  • boolean b = false;System.out.println(b = 50 < 30);上記の実行結果として正しいものを選んでください

選択肢

  • インクリメントには前置と後置がある
    インクリメントは変数だけでなく値にも利用できる
    char型の変数にもインクリメントは可能
    double型の変数にもインクリメントは可能
  • String型は比較演算子「==」を利用して同じ文字列かどうかを比較できる
    「String型の変数.equals(String型) 」を利用して文字列を比較できる
    String型+String型は加算ではなく文字列連結となる
    +の左辺か右辺いずれかにString型が含まれている場合は文字列連結となる
  • double型とint型の比較演算は型が違うためできない
    String型同士で「==」を行うとコンパイルエラーにはならない。
    比較演算と算術演算では算術演算の方が先に行われる
    char型は内部で数値を扱っているため、比較演算で比較が可能
  • 論理演算の被演算子はboolean型を利用する
    論理演算の演算結果はboolean型となる
    論理演算の&&は左辺と右辺がどちらもtrueの時のみtrueの結果となる
    論理演算の||は左辺と右辺がどちらもtrueの時のみtrueの結果となる
  • true && true || false
    35 > 10 > 25
    35 > 10 && 10 > 25
    35 > 10 && true
  • boolean z = x.equals(y);
    boolean z = x == y;
    boolean z = x >= y;
    boolean z = x != y;
  • 100020
    1020
    コンパイルエラー
    10020
  • 100020
    20000
    コンパイルエラー
    2000
  • コンパイルエラー
    true
    false
    50
    30
  • コンパイルエラー
    true
    false
    50
    30

解答

  • インクリメントは「5++」のような値に記述することはできない。
    また、インクリメントは通常int型で利用されるが、double型やchar型の変数でも可能です。
  • String型はプリミティブ型ではありません。文字列を比較する際には「String型の変数.equals(String型) 」を利用します。
    また、+の左辺か右辺のいずれかがString型の場合は文字列連結となります。
  • double型とint型の比較ではint型がdouble型に自動的に型変換され比較が行われます。
    String型の「==」は文字列の比較は行えませんが、同一インスタンスかどうかの比較となり、コンパイルエラーにはなりません。
  • 論理演算は左辺と右辺にboolean型の値を利用して、boolean型の結果を返す演算です。||は左辺か右辺の一方でもtrueであればtrueとなります。
  • 「35 > 10 > 25」では「35 > 10」が先に行われtrueという結果になり、次に「true > 25」という演算が行われることになりコンパイルエラーとなります。
  • 「x.equals(y)」はxとyの文字列を比較しています。「x == y」「x != y」ではインスタンスが一致するか不一致かを比較しています。
    しかし、>=で大小関係を比較することができないためコンパイルエラーとなります。
  • +の演算時の左辺もしくは右辺のいずれかに文字列がある場合、文字列連結演算子となります。数値は文字列に変換され左辺と右辺の文字が連結されます。
  • *の演算は文字列連結とはなりません。文字列は計算には利用できない為、コンパイルエラーとなります。
  • 比較演算の結果はboolean型となります。50 > 30の比較結果はtrueとなります。
  • 比較演算後に代入演算が実行され、変数bにはfalseが代入されます。最後に変数b内に代入されたboolean型の値をSysoutで表示します。

答え

  • 2
  • 1
  • 1
  • 4
  • 2
  • 3
  • 1
  • 3
  • 2
  • 3

参加 ブログランキング

記事頑張って書いたかもねー?と思う方は下を押してもらえるといいかなーなんて
にほんブログ村 IT技術ブログへ
にほんブログ村


Javaランキング

目次へのアクセス
スポンサーリンク
レクタングル

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル