3分でJavaの環境構築から実行までを思い出すため

Javaを忘れた

Androidアプリ開発はjavaで書いていたとはいえ、それはもう1年以上前の話。

しかも、開発環境は Eclipse

絶対に必要な class などは最初から書いてくれてたし、なにが最低限必要なのかなんて覚えてなかった(言い訳)

なので、LinuxJava を書く流れを3つに分けて書く

環境構築

メインPCのOSがWindowsからDebianに変わってしまってからは
EclipseなどのIDEは触らなくなった(ほとんどvimでやりたいことができるから)

つまりJavaコンパイラのインストールとかも初めて(笑)

とりあえず今回はOracleJavaは使わずに、aptで簡単に入れれるOpenJDKを使用する。

OpenJDK(Javaコンパイラとかもろもろ)をインストール

sudo apt-get install openjdk-7-jdk

以下のコマンドを叩いて

javac

こんなのがわらわら出てこればOK

使用方法: javac <options> <source files>
使用可能なオプションには次のものがあります。
  -g                         すべてのデバッグ情報を生成する
  -g:none                    デバッグ情報を生成しない
  -g:{lines,vars,source}     いくつかのデバッグ情報のみを生成する
  -nowarn                    警告を発生させない

  :

Hello world を書く

どこのディレクトリにコードを置くかは自由ですが、
Hello worldは一度実行したっきりいらないので、今回は/tmpに置きます。

cd /tmp
touch HelloWorld.java
vim HelloWorld.java

HelloWorld.javaに以下をコピペ

public class  HelloWorld  {
    public static void main(String[] args) {

        // 普通に Hello world を表示
        System.out.println("Hello world.");

        // オブジェクトを作ってメンバ関数を実行
        HelloWorld obj = new HelloWorld();
        if (args.length != 0) {
            for (int i=0; i<args.length; i++) {
                System.out.println(obj.sayHello(args[i]));
            }
        }
    }

    public HelloWorld() {
    }

    public String sayHello(String arg) {
        return "  Hello " + arg + " !";
    }
}

コンパイル・実行

コンパイル*.javaファイルを引数にjavacコンパイル

javac HelloWorld.java

*.classファイル出来上がるはず

HelloWorld.class

クラス名を引数に実行

java HelloWorld

実行結果

Hello world.

さっき書いたコードはコマンドライン引数を取るようにしておきました

java HelloWorld hoge foo huga

実行結果

Hello world.
  Hello hoge !
  Hello foo !
  Hello huga !

おわり

3分で思い出せたかな??