Top > Java > 条件文


条件文

関係演算子を使って「条件」を記述することができます。条件は、true または false という値 をもちます。例えば、「1は3より小さい」という条件は true になり、 「1は3より大きい」という条件は false になります。 関係演算子や、その使用法はC言語と大差はありません。


関係演算子

数学でも使用する条件をつくるために使う>記号などは、関係演算子と呼ばれています。 下の表に、色々な関係演算子と、条件が ture となる場合をまとめました。

演算子式が true となる場合
==右辺が左辺に等しい
!=右辺が左辺に等しくない
>右辺より左辺が大きい
>=右辺より左辺が大きいか等しい
<右辺より左辺が小さい
<=右辺より左辺が小さいか等しい

ところで、=演算子が代入演算子と呼ばれている事を紹介しました。かたちは似ていますが、 == は異なる種類の演算子、関係演算子です。この2つの演算子は、実際にコードを書く際に たいへん間違えやすい演算子ですので、注意して入力してください。


論理演算子

条件文同士を演算し、複雑な条件文を作成することができます。 例えば、「〇〇であり、かつ△△の場合」→「□□する」といった条件文です。 このような複雑な条件をJavaで記述したい場合には、論理演算子を使用します。 論理演算子は、条件をさらに評価して、true または false の値を得る という役割をもっているものです。例えば、上の条件を論理演算子を使って記述すると、

(〇〇) && (△△) == □□

となります。&& 演算子は、左辺と右辺が共に true の場合に、全体の値を true とるす 論理演算子です。どちらか一方でも成立しない場合は、全体の条件は false となり、 成立しないことになります。
論理演算子は、次の表のように評価されることになっています。

演算子true となる場合
&&左辺・右辺共に true の場合
||左辺・右辺のどちらかが true の場合
!右辺が false の場合

if 文

Java では、状況に応じた処理を行う場合、

  • 「条件」の値(true または false)に応じた処理を行う

というスタイルの文を記述します。このような文を条件判断文(conditional statement)と いいます。まずはじめに、条件判断文の一つとして、if 文という構文を紹介します。 if 文は、条件が true の場合に、指定した文を処理するという構文です。

if (条件)
    文;

if 文は、条件が true だった場合に、指定した文を処理します。false の場合は、指定した文を 処理しないで次の処理に移ります。
それでは、実際にコードを入力して、if 文を実行してみることにしましょう。

例1
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 
 
-
|
-
|
|
|
|
|
|
|
|
|
|
|
|
!
!
import java.io.*;
 
class Sample1
{
    public static void main(String args[]) throws IOException
    {
        System.out.println("整数を入力してください。");
 
        BufferedReader br =
            new BufferedReader(new InputStreamReader(System.in));
 
        String str = br.readLine();
        int res = Integer.parseInt(str);
 
        if(res == 1)
            System.out.println("1が入力されました。");
 
        System.out.println("処理を終了します");
    }
}

整数を入力してください。
1 [Enter]
1が入力されました。
処理を終了します。

整数を入力してください。
10 [Enter]
処理を終了します。

この例のように、条件が true の場合だけ画面に出力する処理が実行されます。
Sample1 では、条件が true だった場合に、1つだけの文からなる簡単な処理を行いました。 if 文では条件が true のとき、複数の文を処理することもできます。 このためには、{} でブロックをつくり、複数の文をまとめます。 すると、ブロックの中は 原則どおり、1文ずつ順に処理されます。

if(条件){
   文1;
   文2;
   ・・・
}

if 文では、セミコロンの位置に注意してください。 通常 if 文の1行目に条件を記述して改行しますが、この行にはセミコロンは必要ありません。


if ~ else 文

上記の if 文では、条件が true の場合にだけ特定の処理をしていました。 さらに if 文の バリエーションとして、条件が false の場合に、 指示した文を処理する構文もあります。 これがif ~ else 文です。

if(条件)
   文1;
else
   文2; 

この構文では、条件が true の場合に文1を処理し、false の場合に文2を処理します。 また、if ~ else 文でも {} で囲んで複数の文を処理させることができます。


switch 文

Java には、if 文と同じように、条件によって処理を制御できる switch文という 構文がある。構文は以下の通りです。

switch(式) {
   case 値1:
     文1;
     ・・・
      break;
   case 値2:
     文2;
     ・・・
      break;
     ・・・
   default:
     ・・・
      break;
}

switch 文では、swich文内の式がcase の後の値と一致すれば、その後の文からbreakまで の文を処理します。breakがない場合、続けて下の処理を実行しますし、どのcaseにも当てはまらなければ、default以下の文を実行します。


リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 13 May 2011 00:15:25 JST (2743d)