少し前に Android Developersサイトのトレーニングを始めたんですが、やはり途中から説明が加速しているように感じてしまい、しばらく黙々とコードをなぞる日々を送っていました。なんとなくは分かるようになってきたんだけど、Android開発をおこなう上で基本となる Javaについて勉強しておかないとダメかなと感じるようになりましたので、しばらく Javaの基本と Android開発との絡みについてメモしていきたいと思います。
Java開発環境
Android Studioが使える状態なら、Javaコンパイラはすでに導入済みのはず。ドキュメント類は、こちらを参照します。
あとはテキストエディタがあれば、なんとかなるらしいですが、せっかくなので GUIの開発環境を導入しました。こちらの「CPad for Java2 SDK」(以下、CPadと略)です。
CPadを初めて起動すると、コンパイラのパスを訊かれるので、インストールした Javaコンパイラを参照します。これだけ設定しておけば、あとは初期設定のままで動作しました。
そしてハローワールド
プログラムは、こうなります。1行目で public(公になっている、他から参照可能)な HelloWorldクラスを宣言しています。そして、このプログラムは、HelloWorld.javaというクラス名と同じ名前をもつソースファイルとして保存しなければいけません。この辺のお約束は、Androidも同じっぽいです。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
return;
}
2行目は、publicで static(静的、プログラム実行中に状態が保持される値)で、戻り値が void(無し)で、args(任意文字列の変数名、arguments(引数)の略で mainの引数としてよく使われる)というSring配列を引数に持つ mainという名のメソッドを記述しています。Javaでは、一番始めに実行されるメソッドが mainメソッドで、これはもう定型文なんだそうです。Androidでは、Activityが開始すると、まず onCreate()が呼びだされる、みたいなものか。
3行目の System.out.println()は、Systemクラスの outフィールドの printlnメソッドというよく使われるメソッドで、引数に指定した文字列を表示して改行する機能を持っています。
5行目の return;は、メソッド(この例では mainメソッド)を実行した結果(戻り値)を呼び出し元に返して、このメソッドから抜け出すための記述です。なお、mainメソッドは、そもそも void(戻り値なし)なので、この「return;」は省略可能です。この辺も Androidと共通かな。
このプログラムをコンパイルして実行します。コマンド入力しても良いのですが、画像のアイコン箇所をクリック(もしくはF9を押下)だけで、コマンドプロンプトが開いて、冒頭の画像のように「Hello World!」と表示されます。
【参考サイト】
コメント
コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)