見出し画像

消費税計算のコードとメモ書き

せかチャン - 世界一わかりやすい情報科チャンネルさんの
動画を見て勉強をしていました。
基本データ型の変換を学んでいた時のメモになります。
今回は、1,980円の消費税8%での税込金額を求めます。

消費税を計算するソースコード

① class TaxCalculater {
②   public static void main(String[] args) {
③    int price = Integer.parseInt(args[0]);
④           double rate = 0.08;       
⑤              int amount;
⑥              amount = (int)(price * (1 + rate));       
⑦              System.out.println ("税込金額" + amount + "円");
        }
    }

①class TaxCalculater 

いつものクラス宣言と定義
TaxCalculaterで税金計算の意味

②public static void main(String[] args) 

いつものやつ

③int price = Integer.parseInt(args[0]);

文字列を四則演算できるint型に変換するソースコード。
コンパイル後、実行するときに文字列を入力する
※ここでは例えば「1980」と入力する予定
文字列としてプログラムが受け取った後
"1980"としてargs配列に入る。
要は、コマンドラインで入力された数値に対して
文字列型からint型に変換して、変数priceに代入している。

さらに砕いて、コンパイル後、実行するときに
打つ数字(今回は1980)が priceの値になるイメージ。

④double rate = 0.08;

消費税を8%として設定するので、0.08になります。
doubleでないと、小数点以下はダメなので
intは使われません。

⑤int amount;     

変数amountは
後で(⑥で)税込み計算をして、格納する変数です。

⑥amount = (int)(price * (1 + rate)); 

⑤の為にする税込み計算です。

(price * (1 + rate)について
・priceは、入力する1980になる。(③を参照)
・(1+rate)は、(1+0.08)で、要は1.08になる。(rateの値は④を参照)
・消費税計算は、税抜金額×1.08(税率8%)で計算可能。
・つまり、(price * (1 + rate)は(1980*(1+0.08))ということになる。

(int)について
これは、上記で求めた計算結果をint型にキャストして
amountに代入するものになります。
amountに値は(1980*1.08)で、2138.4になります。
小数点以下を切り捨てるために、(int)でキャストしています。

int型にキャスト( ^ω^)・・・?
※最後に説明します。

⑦System.out.println ("税込金額" + amount + "円");

amountは2138.4ですが
intでキャストされて
小数点以下が切り捨てられているので
出力結果は【 税込金額2138円 】となります。

int型にキャスト

int型にキャストするとは、別のデータ型の値をint型に変換することを指します。
キャストは、特定のデータ型の値を別のデータ型に変換するための操作です。

double num1 = 3.14;
int num2 = (int) num1;


上記の例では、変数num1にはdouble型の値3.14が代入されています。
その後、(int)というキャスト演算子を使ってnum1をint型にキャストしています。
キャスト演算子は変換したいデータ型を括弧で指定します。
この場合、double型の値3.14はint型に変換され、整数部分のみが残ります。
変換後の値は変数num2に代入されます。

つまり、3行目に
System.out.println(num2);
と入れたら、その出力結果は【3】になる訳です。


この記事が気に入ったらサポートをしてみませんか?