目的
この記事は以下の記事の続きです。
Javaを学習するC言語使い一年目エンジニアのノートです。
先日コードの色つけ方法を教えていただいたので、これからどんどん使っていきます!
前回の復習
前回の復習をさらっと。
前回は変数について学習を行いました!
// 特別な注釈がない限りコードはJavaです。
class Main {
public static void main(String[] args) {
// 前回までの学習で出てきた型は3つ
int n = 877; // 整数型
String s = "BaNana"; // 文字列型
double f = 8.77; // 浮動小数点型
System.out.println(n);
System.out.println(s);
System.out.println(f);
// 整数型と小数点型の四則演算
System.out.println(n+23);
System.out.println(f-0.76);
// 文字列の連結なんかも。
System.out.println(s+n+".it");
// 値の変更
n = 87;
System.out.println(n);
// 自己代入
n = n + 13;
System.out.println(n);
// 自己代入の省略形。
n -= 10;
System.out.println(n);
// インクリメントとデクリメント
n++;
f--;
System.out.println(n);
System.out.println(f);
}
}
おさらいできたところで今日も頑張りましょう!
今日も頑張る
自動型変換
変数は違う型同士だと代入したり足し算したりできません。
それでも
8 + 0.77
とかの計算をしたいときもあるでしょう。
そんなときに型変換を使うのです(この辺もC言語と同じだ)
しかし、Javaには自動的に型変換してくれる機能がある模様……。
class Main {
public static void main(String[] args) {
int month = 8;
int date = 7;
double temperature = 35.2;
/* ここで自動型変換。
変数はすべて数値型だが
" + "は同じ型同士でしかできないので、
すべて文字列型に変換されている */
System.out.println(month + "月" + date + "日は" + temperature + "度です");
// int型同士の計算はint型
System.out.println(5 / 2); // 2が出力される
// double型同士の計算はdouble型
System.out.println(5.0 / 2.0); // 2.5が出力される
// int型とdouble型だとdouble型に自動型変換される
System.out.println(5 / 2.0); // 2.5が出力される
}
}
1日目とかのコードでさらっと使ったのも自動的な型変換だったんですね。
Javaすごい……(C言語のこともよくわかってない)
ごちゃついてるのでかるくまとめ
-
System.out.println();
内で数値と文字列を連結すると自動的に文字列型に変換される - int型で答えが少数になる計算をしても、小数点以下は切り捨てられる
- int型とdouble型で計算すると自動的にdouble型に変換される
強制型変換
うん、C言語とほとんど同じでした。
さっきは自動でやってくれてましたが、どうしてもint型同士の計算結果をdouble型にしたいこともあるでしょう。
そんな時は強制的に型変換をしてしまいましょう。
こちらはサラッとコードを書いて終わります。
やりかた
(型名)変換したい値
(double)877
class Main {
public static void main(String[] args) {
int a = 5;
int b = 2;
System.out.println((double)5 / 2); // 2.5が出力される
System.out.println((double)a / b); // 2.5が出力される
}
}
そういえばキャストとかいう言い方があったな……(今思い出した)
おわりに
今日は教材の都合でまとめはここまで!
明日も投稿できるように頑張ります!