新しく言語を学習するときの観点

  • エントリポイントの書き方。
  • Hello, World.
  • 実行方法。
  • 変数宣言。
  • 型。
  • クラス定義、メソッド定義。
  • 条件分岐。
  • プログラムの認識方法。Javaで言えばクラスパスみたいな。
  • APIリファレンス。
  • 外部APIの使用方法。
  • ファイル入出力。
  • DBアクセス。
  • コレクション、連想配列
  • イベントの実現方法。
  • 文字列操作。正規表現、分割、結合、検索など。

intbyte[]変換

正確にはDataOutputStream, DataInputStreamを参考にしたので自作ではないですけど。

/**
 * <p>
 * バイト・データをint値に変換します。
 * </p>
 * 
 * @param data
 *            int値を表すバイト・データ。
 * @return int値。
 * @see DataInputStream#readInt()
 */
static int bytesToInt(byte[] data) {
    if (data.length != 4) {
        throw new IllegalArgumentException("data.length != " + 4);
    }

    int ch0 = data[0];
    if (ch0 < 0) {
        ch0 += 256;
    }
    int ch1 = data[1];
    if (ch1 < 0) {
        ch1 += 256;
    }
    int ch2 = data[2];
    if (ch2 < 0) {
        ch2 += 256;
    }
    int ch3 = data[3];
    if (ch3 < 0) {
        ch3 += 256;
    }
    int v = (ch0 << 24) + (ch1 << 16) + (ch2 << 8) + (ch3 << 0);
    return v;
}

/**
 * <p>
 * int値をバイト・データに変換します。
 * </p>
 * 
 * @param value
 *            int値。
 * @return int値を表すバイト・データ。
 * @see DataOutputStream#writeInt(int)
 */
static byte[] intToBytes(int value) {
    ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
    byteOut.write((value >>> 24) & BITMASK);
    byteOut.write((value >>> 16) & BITMASK);
    byteOut.write((value >>> 8) & BITMASK);
    byteOut.write((value >>> 0) & BITMASK);

    return byteOut.toByteArray();
}

JavaCC―コンパイラ・コンパイラfor Java

JavaCC―コンパイラ・コンパイラfor Java

コンパイラとバーチャルマシン (IT Text)

コンパイラとバーチャルマシン (IT Text)

コンパイラの構成と最適化

コンパイラの構成と最適化

コンパイラ―原理・技法・ツール〈2〉 (Information & Computing)

コンパイラ―原理・技法・ツール〈2〉 (Information & Computing)

コンパイラ―原理・技法・ツール〈1〉 (Information & Computing)

コンパイラ―原理・技法・ツール〈1〉 (Information & Computing)

計算機プログラムの構造と解釈

計算機プログラムの構造と解釈

30日でできる! OS自作入門

30日でできる! OS自作入門

コンパイラ構成法

コンパイラ構成法

CPUの創りかた

CPUの創りかた

解析魔法少女 美咲ちゃん マジカル・オープン!

解析魔法少女 美咲ちゃん マジカル・オープン!

コンパイラの理論と実現 (計算機科学・ソフトウェア技術講座)

コンパイラの理論と実現 (計算機科学・ソフトウェア技術講座)

自分で作るLinux OS (日経BPパソコンベストムック)

自分で作るLinux OS (日経BPパソコンベストムック)

JOGLをEclipseで利用する(Windows)。

  • jogl.jar

ビルドパスに追加します。

  • jogl_awt.dll
  • jogl_cg.dll
  • jogl.dll

これらはパスの通っている場所に配置する必要があります。Eclipseプロジェクトの場合は、プロジェクト直下に置けば良いです。