この記事ではJava8の基本的な文法をまとめていきます。
基本情報技術者試験の午後試験でJavaを選択される方は最後の復習にどうぞ!
エントリーポイントとは、プログラムの中で一番最初に実行される処理のことです。
Javaでは下記のmainメソッドがエントリーポイントとなります。
args
以外のキーワードに誤りがある場合は、エントリーポイントと見做されないので注意が必要です。
Java
public static void main(string[] args){
//処理
}
変数の宣言方法を以下に示します。
構文:データ型 変数名;
Java
String str;
int num;
boolean flg;
int num2,num3,num4 //同じ型であればカンマ区切りで続けて宣言することもできる。
変数の初期化方法を以下に示します。
構文:変数名 = 値;
Javaでは、ローカル変数は宣言しただけでは初期化が行われません。
初期化されていない変数を使用するとコンパイルエラーになるため、初期化が必要です。
Java
str = "aaa";
num = 123;
flg = true;
変数の宣言と初期化を同じタイミングで行うこともできます。
Java
String str2 = "aaa";
int num2 = 123;
boolean flg2 = true;
重要なポイントだけ以下に示します。
static修飾子を付けると、そのクラスがインスタンス化されていなくてもアクセスできるようになります。
static修飾子は、メソッドまたはフィールドに対して付与することができます。
static修飾子が付与されたメンバーには以下の形式でアクセスできます。
Java
クラス名.メンバー
final修飾子を付けると、そのメンバが上書きされることを禁止することができます。
「上書きされることを禁止」の意味合いはメンバによって以下のとおり異なります。
メンバ | 説明 |
---|---|
クラス | 子クラスを作ることを禁止する。 (継承を禁止する。) |
メソッド | 子クラスでのメソッドの上書きを禁止する。 (オーバーライドを禁止する。) |
フィールド | 値の上書きを禁止する。 (定数化する。) |
つまり、クラスに対してfinal修飾子を付与すると、これ以上継承することが出来なくなるので、そのクラスが末端だと判断できます。
メソッドに対してfinal修飾を付与すると、これ以上オーバーライド出来なくなるので、そのメソッドが末端だと判断できます。
フィールドに対してfinal修飾子を付与すると、これ以上処理の中で値が上書きされることがないので、定数として利用することができます。
単純なif文の書き方です。
Java
boolean flg = true;
if (flg) {
System.out.println(true); //ここの処理が実行される。
}
else文の書き方です。
Java
boolean flg = true;
if (flg) {
System.out.println(true); //ここは処理されない!
} else {
System.out.println(false); //ここの処理が実行される。
}
else if文の書き方です。
Java
boolean flg = true;
if (num > 80) {
System.out.println("合格!");
} elseif (num >= 60 && num <= 80) {
System.out.println("可"); //ここの処理が実行される。
} else {
System.out.println("赤点");
}
変数の値によって処理を振り分けるよっていう主旨の場合、elseif文を使うよりも直感的でわかりやすい。
Java
int num = 1;
switch(num){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
default:
System.out.println("0");
}
Javaのswitch文はbreak文を書かないと後続のcaseと不一致の場合でも、後続の処理が実行されてしまうので注意しましょう。
caseに使用できる値には以下の制約があります。
※上記のうち、定数とはfinal宣言された変数か、もしくはリテラルを指す。変数はcase値として使えないので注意。
配列については以下の記事にまとめているので良かったら読んでください。
三項演算子の書き方を以下に示します。
構文:条件式 ? 式1 : 式2
条件式がTrueだった場合は式1を返し、Falseの場合は式2を返します。
Java
int a = 10;
int b = 120;
int result = a < b ? a : b; //resultには10が代入される。
つまりreturnできれば↓のように三項演算子の中でメソッドを使うことも出来ます。
Java
int Max = 100;
int Min = 50;
int result = Max > Min ? method(Max) : method(Min);
System.out.println(result); // Maxの方が大きいので10倍されて1000が返る。
static int method(int i) {
return i * 10;
}
オーバーロードとは同一クラス内でメソッドを上書きすることです。
オーバーロードを満たすには以下の条件があります。
Java
int method(int x){
return x * 10;
}
int method(int x,int y){
return x * y;
}
オーバーライドとは、スーパークラスで定義したメソッドをサブクラスで再定義することです。
Oya.java
public class Oya {
void method(int x){
System.out.println("oya:" +x);
}
}
Kodomo.java
public class Kodomo extends Oya{
@Override
void method(int x){
System.out.println("kodomo:" +x);
}
}
以上で記事の解説はお終い!
もっとJavaやSpringを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!