Java には符号なし(unsigned)整数型が存在しない。byteも符号付きである。C# の場合、byteは符号なしである。 C# の符号付 8ビット整数は sbyte である。
データ型 値 boolean true or false char 16ビットUnicode文字 \u0000~\uFFFF byte 8ビット整数 -128~127 short 16ビット整数 -32,768~32,767 int 32ビット整数 -2,147,483,648~2,147,483,647 long 64ビット整数 -9,223,372,036,854,775,808~9,223,372,036,854,775,807 float 32ビット単精度浮動小数点数 double 64ビット倍精度浮動小数点数
float型をint型として読み込んだ場合、Float.intBitsToFloat(intval) で float型の値に変えることができる。 cast ではない。C# では、次のようにすればいいようだ。
byte[] bytes = BitConverter.GetBytes(intval); float f = BitConverter.ToSingle(bytes, 0);
Java は基本的にはビッグエンディアンである。一方、C# の場合、 リトルエンディアンである。
C/C++の場合、エンディアンはプロセッサに依存する[6]。
デフォルトではソース(*.java) と classファイルが同じディレクトリ下に置かれる。
ソースファイルを c:/map/src ディレクトリ下に置き、 class ファイルは c:/map ディレクトリ下に置きたいとき、実行を c:/map で行う場合には 次のようにする。
c:\map>javac -d ./ src/map.java
class ファイルを c:/map/out に置きたい場合には次のようにする。
c:\map>javac -d ./out src/map.java
ディレクトリの指定はこの場合下のようにしてもよい。
c:\map>javac -d out src/map.java
hello.class が現ディレクトリにある時は java hello でよいが、 別ディレクトリにあるときはオプション -classpath <directory> を使う[3]。
次の例では ./OSMParser ディレクトリ下に MyParser.class がある。 この場合、「./OSMParser」は単に「OSMParser」でもよい。
java -Xmx5G -classpath ./OSMParser MyParser japan
メモリ使用量の最大値は次のようにして確認できる[2]。
System.out.println(Runtime.getRuntime().maxMemory());
使用中の Windowsノートパソコンでは 2122317824 (2GB)となった。
メモリ使用量の最大値を 5,000MB に指定するには次のようにする。
java -Xmx5000m OSMParser kanto java -Xmx5G OSMParser kantoこのときの System.out.println(Runtime.getRuntime().maxMemory()); は 5242880000 となった。
Java のデフォルトのエンコーディングは次のようにして確認できる[1]。
System.out.println(System.getProperty("file.encoding"));
Windows環境では MS932 となる。Shift-JISコードである。
デフォルトの文字コードと異なる文字コードのファイルをコンパイル、実行するときには 注意がいる。
例えば、Windows環境で UTF-8コードのファイルをコンパイルおよび実行するには、 次のようにコードを指定する。
javac -encoding UTF-8 OSMParser.java java -Dfile.encoding=UTF-8 -Xmx5000m OSMParser kanto