caseとは:SJC-P(310-035)対策Java用語集

Java認定資格(SJC-P/310-035)を一発合格したい!
このサイトは、そんなあなたを本気で応援します!!
SJC-P(310-035)対策のメルマガ問題集も好評発刊中。
ぜひあなたの受験に役立ててください。
メールマガジンの購読はもちろん無料です!

登録はこちらから→SJC-P対策メルマガ問題集
TOP    >>    SJC-P対策Java用語集    >>    case

Java用語集:case

caseについて:簡単に説明すると

caseとは、 switch 文で条件を定義する際に使用される Java の キーワード の一つです。

caseについて:もっと詳しく

case の基本的な書式は以下の通りです。

case 条件:
   //処理文
   break;

ここで注意しなければならないのは、条件の部分に記述できるのが switch の引数のデータ型に収まる値で、なおかつ定数でなければならないと いうことです。

  1. case の引数は switch の引数の型に収まる値でなければならない。
  2. case の引数は定数でなければならない。

具体的なコードで見てみましょう。

class Test{
   public static void main( String args[] ){
      int a = 2;
      switch( a ){
         case 1:
            System.out.println( "a は1です。" );
            break;
         case 2:
            System.out.println( "a は2です。" );
            break;
         default:
            System.out.println( "a は1でも2でもない。" );
            break;
      }
   }
}
>javac Test.java

>java Test
a は2です。

この例では、 switch の引数が int 型なので、 case は引数として int 型に収まる範囲の定数をとることができます。

では条件に反した場合を見てみましょう。
まずは case の引数に定数ではない変数を指定した場合です。

class Test{
   public static void main( String args[] ){
      int a = 2;
      int condition = 2;
      switch( a ){
         case 1:
            System.out.println( "a は1です。" );
            break;
         case condition:
            System.out.println( "a は2です。" );
            break;
         default:
            System.out.println( "a は1でも2でもない。" );
            break;
      }
   }
}
>javac Test.java
Test.java:9: 定数式が必要です。
         case condition;
              ^

エラー 1 個

case の引数に定数ではなく、変数を指定したのでコンパイルエラーとなりました。

この場合、 final を指定して変数 condition を定数にすればコンパイルエラーにはなりません。

class Test{
   public static void main( String args[] ){
      int a = 2;
      final int condition = 2;
      switch( a ){
         case 1:
            System.out.println( "a は1です。" );
            break;
         case condition:
            System.out.println( "a は2です。" );
            break;
         default:
            System.out.println( "a は1でも2でもない。" );
            break;
      }
   }
}
>javac Test.java

>java Test
a は2です。

この他にも、 switch の引数の型に収まりきらない定数を case の引数に 指定するとコンパイルエラーになります。

class Test{
   public static void main( String args[] ){
      byte b = 1;

      switch( b ){
         case 1:
            System.out.println( "a は1です。" );
            break;
         case 1000:
            System.out.println( "a は2です。" );
            break;
         default:
            System.out.println( "a は1でも2でもない。" );
            break;
      }
   }
}
>javac Test.java
Test.java:9: 精度が落ちている可能性
検出値  : int
期待値  : byte
         case 1000;
              ^
エラー 1 個

switch の引数に指定された byte がとることができる最大値は 127 です。
この例では、この型に収まりきらない値を case の引数として与えているので コンパイルエラーとなっています。

なお switch が取り得る引数については switch のページを参照して下さい。



SJC-P対策問題集

Java認定試験( SJC-P/310-035 )対策のメルマガ問題集も好評発刊中! もちろん無料です。
またバックナンバーも見やすくしてオンライン問題集として随時アップしていきます。
受験しない人でも Java の基礎知識を学習するのに最適です。

SJC-P対策参考書

現在、Java認定試験(SJC-P/310-035)対策の参考書は本当にたくさん出版されてます。
ここでは、その中から厳選した本当に役立つ参考書を紹介します。
無駄な出費を抑えるためにも、ぜひ参考にして下さい。

SJC-P対策Java用語集

Java認定試験( SJC-P/310-035 )合格のために必要な Java の用語を集めました。
試験対策にはもちろん、試験以外で Java を学習する際にもご活用下さい。

更新履歴

このサイトの最新情報はここで確認できます。
また、今までこのサイトがどのような軌跡を辿ってきたのかも知ることができます。

Javaを始める人へ

これからJavaを始めようとしているあなたへ。
Javaの勉強を始めるにはどうしたら良いのかを説明しています。
また、初心者に役立つ情報を提供していきます。

Java認定資格の概要

Java認定資格にはどのようなものがあるのか。
資格取得のためにはどのような知識が必要なのか。
その他、資格を取得することのメリットなど、Java認定資格の概要を説明します。

LINK

Javaの勉強に役立つリンク。
その他のプログラミングに関するリンク。
ソフトウェアに関するリンクなど、管理人の主観で集めたリンク集です。
相互リンクも常時募集中!
詳細は以下のページで確認して下さい。

このサイトについて

このサイト「1発合格★Java認定試験!」についての説明です。
サイトで掲載しているソースコードや問題や免責事項などについて説明しています。
初めての人は一度のぞいてみて下さい。

ちょっとひと息

仕事や試験勉強に疲れたら、ここでちょっと一息つきませんか。
一生懸命に打ち込むのも良いけど、たまには何も考えずにゆっくり休むのも良いものです。
たまにはのんびり脳みそをリフレッシュしましょう。

Copyright (C) sjc-p.obx21.com. All Rights Reserved.
このサイトはどのページにでも直接リンクして頂いて結構です。リンク大歓迎!
このページのトップページのURLはhttp://sjc-p.obx21.com/です。

Java関連情報
Spring / JSF(JavaServer Faces) / Hibernate / Jbuilder / TOMCAT入門 / NetBeans / JUnit / Struts
Strutsリファレンス / ANT / TOMCAT / JavaでWebサービス / JDBC / JBoss / J2EE / iアプリ
EJB / アプレット / JavaとXML / JMF(Java Media Framework) / Java3D / Jakarta Commons / JNI / OracleとJava
EclipseでJava入門 / Java RMI, CORBA / JSP/サーブレット入門・初心者向け / Javaネットワークプログラミング / WebLogic