Java学習時の気づき
変数の型
boolean型
true,falseのいずれかの値のみ、代入することができる。そのため、真偽値型とも呼ばれる。
charとStringの区別
・char → 文字(一つの文字)を格納し、引用符(')で囲む。
・String → 文字列(文字の並び)を格納し、二重引用符(")で囲む。
char zodiac;
zodiac = '辰';
String name;
name = "よしすえ"
算術演算子
商の結果について
整数同士の割り算に除算演算子(/)を用いると、結果として出力される商は整数のみを返してしまう。そのため、以下のように片方のオペランドを少数にすることで、正確な出力を得ることができる。
public class Main {
public static void main(String[] args) {
System.out.println("9/2") //4
System.out.println("9.0/2") //4.5
}
}
この結果が得られる理由としては、9.0/2
では自動型変換が行われているからである。9.0
はdouble
型で2
はint
型だが、このとき、「意味的に大きな型」に統一されてから演算が開始される。したがって、今回であれば2
が2.0
のdouble
型に変換されている。
++や--は他の演算子と使ってはならない
以下のサンプルコードを基に説明する。
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 10;
System.out.println("++a + 50") //61 (a = 11)
System.out.println("b++ + 50") //60 (b = 11)
}
}
++a
のとき、先にaがインクリメントされ、その後に50と加算される。一方、b++
のとき、先にb + 50
の加算が行われ、その後にbがインクリメントされる。このエラーを防ぐためにも、++や--は他の演算子と使ってはならない。
オーバーロードの利用
基本、複数のメソッドに同じ名前を付けることはできない。しかし、以下の場合のみ、同じ名前を付けることができる。
・仮引数の変数の型が異なる
・仮引数の変数の数が異なる
すなわち、シグネチャ(下のコードのadd(int x, int y)
に該当)が重複しない場合にのみ、同じ命名が許される。
public static int add(int x, int y){
..............
}
コマンドライン引数
mainメソッドでは文字列配列を引数として受け取るように定義されている。
public static void main(String[] args) {
このString
配列には何が格納されるのかというと、コマンドライン引数
である。コマンドライン引数とは、javaプログラム起動時にユーザーが追加できる情報のこと。