前回はJavaについてと変数宣言の文について説明していきました。今回は様々な計算を行うための計算の文について説明していきたいと思います。
まずは以下に具体的な計算のプログラムを示します。
public class Main{
public static void main(String[] args){
int a;
int b;
a = 20;
b = a + 5;
System.out.println(a);
System.out.println(b);
}
}
実行結果
20
25
\" 二重引用符記号(")
\' 引用符記号(')
\\ 円記号(\)
\n 改行
% 剰余
+= 左辺と右辺を加算して左辺に代入
-= 左辺から右辺を編纂して左辺に代入
*= 左辺と右辺を乗算して左辺に代入
/= 左辺と右辺を徐算して左辺に代入
++ 値を1増やす(インクリメント演算子)
-- 値を1減らす(デクリメント演算子)
ここでは型の変換について説明していきます。Javaは式を評価する過程で自動的に型を変換してくれる機能があります。この型の変換はとても便利な機能です。 原則は、ある型で宣言された変数には、その型しか代入できません。しかし、間違えて型の違う変数を代入してしまったとしても、この機能があればエラーが少なくなります。 これは変数を箱だとイメージしていただくとわかりやすいと思います。「小さい箱」に入るものは、「大きい箱」にも入るのは容易にイメージできると思います。 つまり、「小さな箱」の変数の値を「大きな箱」の変数に代入しても、自動的に箱の大きさが変換されて代入されるということです。各数値型の大小関係は、整数型は「byte型」「short型」「int型」「long型」の順に大きくなっていきます。 浮動小数点型は「float型」「double型」の順に大きくなっています。ここまで変数の型の自動変換を見ていきましたが、演算時の自動型変換もあります。以下に数値型同士の演算時の型変換のルールを示しておきます。
・片方のオペランドがdoubleなら、他方をdoubleに型変換して揃える。
・片方のオペランドがfloatなら、他方をfloatに型変換して揃える。
・片方のオペランドがlongなら、他方をlongに型変換して揃える。
・片方のオペランドがintなら、他方をintに型変換して揃える。
・shortやbyteのオペランドはintに型変換される。
話は変わって、命令実行の文について説明していきます。命令実行の文はJavaが準備してくれている様々な命令を呼び出すための文です。 この文を使えば「足し算」や「代入」より、ずっと高度な処理をコンピューターに行わせることができます。いくつか代表的なものを以下に示しておきます。
public class Main{
public static void main(String[] args){
String name = "すがわら";
String message;
message = name + "さん、こんにちは";
System.out.println(message);
}
}
実行結果
すがわらさん、こんにちは
public class Main{
public static void main(String[] args){
int a = 5;
int b = 3;
int m = Math.max(a,b);
System.out.println(m);
}
}
実行結果
5
public class Main{
public static void main(String[] args){
String age = "31";
int n = Integer.parseInt(age);
message = name + "さん、こんにちは";
System.out.println(n+1);
}
}
実行結果
32
public class Main{
public static void main(String[] args){
int r = new java.util.Random().nextInt(9);
System.out.println(r);
}
}
実行結果
0~9のランダムで出る数
public class Main{
public static void main(String[] args){
System.out.println("あなたの名前を入力してください。");
String name = new java.util.Scanner(System.in).nextLine();
System.out.println("あなたの年齢を入力してください。");
int age = new java.util.Scanner(System.in).nextInt();
}
}
実行結果
あなたの名前を入力してください
名前を入力する
貴方の年齢を入力してください
年齢を入力する