エンジニア4年目にしてJavaをまともに勉強したことのない筆者です。
自社開発でJavaを使うことになったので勉強していますが、さっそく壁にぶつかったのでまとめてみました!
1.「Hello World」出力じゃ!!
PHPでHello World出力しよーっと
うん!見てわかるぞ!以前PHPを使った仕事してたからね!
↓
<!DOCTYPE html>
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
次はJavaだ!
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
いやいやいや長いて。
書いてあることからよくわからんし。
System~~~~の部分で出力するのは分かるけども。
初めてみるJavaのコードは呪文だったのでひとつひとつ解いてみるのが最初の勉強でした。
1.1. public class Main
まずこれについて解剖します。
public class Main{}
まあ流石に分かります。
Mainクラスを作成していて、アクセス修飾子のpublicを付けています。
publicを付けることですべてのクラスからアクセスできます。
どっからでもインスタンス化してやるぜ!
ここはオブジェクト指向の部分なので大丈夫です。
問題は次からですね。
1.2. static
static????
なんか見覚えがあります。
勉強してみるとやっぱり見覚えがありま。っていうかPHPにもありました。
(全然使ってないので覚えてなかった。。。)
staticを付けることでクラスをインスタンス化せずに関数、変数などを使用することができます。
↓例
public class Main {
static void myStaticMethod() {
System.out.println("Staticだよ");
}
public static void main(String[] args) {
myStaticMethod(); // 関数呼び出し
}
}
Mainクラスをインスタンス化する前にmyStaticMethod()を呼び出し実行できます。
ぱっとみ呪文ですが一つ一つに分けてみてみると苦手意識が薄まりますね。
1.3. void
これが一番見たことない!
また調べてしてみよう。
返り値が無い関数に付けるらしいぞ。
ほんまかいな。void削除して実行してみよう。
Main.java:2: error: invalid method declaration; return type required
public static main(String[] args) {
^
1 error
めちゃめちゃ怒られました。
voidなんて使ったことないので新鮮です。しっかり覚えとこ。
1.3. String[] args
main関数の引数よな。
//文字列の配列
String[]
//引数の名前
args
Javaを動かすにあたって最初に実行する関数に引数があるのは何か引っかかります。
ついでに調べてみましょう。
↓の記事を参考にしました。大変勉強になりました。投稿者さんありがとうございます。
String[] argsは、プログラム起動時に指定する値(コマンドライン引数)です。
なるほど!というか冷静に考えるとそりゃそうかですね。
もし任意の二つの数字を足し算するプログラムがあった場合その数字を受け取るためですね。
public class Main {
public static void main(String[] args) {
// コマンドライン引数から数字を取得
// ここで必要!!!!
double num1 = Double.parseDouble(args[0]);
double num2 = Double.parseDouble(args[1]);
// 足し算の結果を計算
double sum = num1 + num2;
// 結果を出力
System.out.println("Sum of " + num1 + " and " + num2 + " is: " + sum);
}
}
4. 終わりに
そういえば学生時代このコードを見て嫌になった思い出があります。
当時と違ってほかの言語を身に付けており、耐性があったので理解することができました。
最初から難しそうな雰囲気プンプンですがJavaの勉強に勤しんでいきます!
5. 予告
12月1日に投稿予定です!
これからもJavaについてガンガン投稿する予定です!
これからは小出しにしていくぞ!
(アンドリュー・ワイルズか!!)