質問: javaでunsignedは使えないのですか? eclipseを使い始めた初心者です。 short型変数を符号無しで宣言しようと思ったのですが、 赤の下線が出てしまってエラーの扱いになってしまっています。 javaではunsignedは使えないのでしょうか? 使えないのであれば、その理由と対処策を教えていただけましたら嬉しいです。 宜しくお願い致します。
回答: unsigned short などのような構文はありませんが、とりあえず負の値を使いたくないのなら char型を数値のように使えばよろしいかと思います。 char型のとりうる範囲は0~65535で、範囲外の数値はint型とみなされます(数値を直接代入する場合のみ)。 ただし負のintをcharにキャストすると上位ビットが欠落します。 char c; c = 0; c = 65535; c = 65536; ←コンパイルエラー c = -1; ←コンパイルエラー c = (char)-1; ←コンパイルエラーにはならないが65535になる