![見出し画像](https://assets.st-note.com/production/uploads/images/108830997/rectangle_large_type_2_a442f8822d4c7fddc3c3fd5a1d246523.png?width=1200)
消費税計算のコードとメモ書き
せかチャン - 世界一わかりやすい情報科チャンネルさんの
動画を見て勉強をしていました。
基本データ型の変換を学んでいた時のメモになります。
今回は、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】になる訳です。
この記事が気に入ったらサポートをしてみませんか?