cast 演算を使う

C:\DATA\Java2\Dos>java Heikin
Java=95  C=77  Perl=82
平均点:84.0
平均点:84.66666666666667
 -- Press any key to exit (Input "c" to continue) --
平均点の計算に cast を使います。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして Heikin.java の名前で保存して下さい。
    各教科の点数は小数点以下が無いので、当然 int で格納されています。
    class Heikin
    {   public static void main(String args[])
        {   int     Java, C, Perl;
            double  Ave, dJava, dC, dPerl;
            Java= 95;
            C= 77;
            Perl= 82;
            Ave= (Java+C+Perl)/3;
            System.out.println("Java=95  C=77  Perl=82");
            System.out.println("平均点:" + Ave);
            dJava= Java;
            dC= C;
            dPerl= Perl;
            Ave= (dJava+dC+dPerl)/3.0;
            System.out.println("平均点:" + Ave);
        }
    }
    
  2. Heikin.java をコンパイルして class オブジェクトを実行して下さい。
    コンパイルの詳細は Java を動かす を参照して下さい。
  3. ページ先頭の画面が表示されたら完成です。

プログラムの説明

平均点は小数点以下まで表示して下さい。
  1. 各教科の点数は小数点以下が無いので、当然 int で格納されています。
        {   int     Java, C, Perl;
            Java= 95;
            C= 77;
            Perl= 82;
        
  2. 教科の合計を3で割って表示しても、小数点以下は切り捨てられます。
            double  Ave;
            Ave= (Java+C+Perl)/3;
            System.out.println("Java=95  C=77  Perl=82");
        
  3. 小数点以下を表示する最も基本的な方法は、int から double に代入してから計算することです。
            double  Ave,dJava, dC, dPerl;
            dJava= Java;
            dC= C;
            dPerl= Perl;
            Ave= (dJava+dC+dPerl)/3.0;
            System.out.println("平均点:" + Ave);
        
  4. しかし上記の方法はいかにもまわりくどく、もっと直接的な方法があります。
    教科の合計点(整数値)を一時的に double に変換してから計算するのです。
    (double)(Java+C+Perl) がそのソースコードで、変換したい式の前に括弧で囲んで指定します。
    例えば Java の点数を double に変換するときは (double)Jave と書きます。
    また逆に double を int に変換するときは (int)dJava などと書きます。
            Ave= (double)(Java+C+Perl)/3.0;
            System.out.println("平均点:" + Ave);
        
  5. double Ave の領域を使わずにもっと直接的に計算することもできます。
            System.out.println("平均点:" + (double)(Java+C+Perl)/3.0);
        

【演習】

課題1

円(球)の半径(int 型)を設定して、円周と面積と体積を求めて印字して下さい。
円周= 2 * 円周率 * 半径
面積= 円周率 * 半径 * 半径
体積= 4 / 3 * 円周率 * 半径の三乗

超初心者のプログラム入門(Java2)