Java - 基本データ型の型変換


■ページ目次

Top

■基本データ型の型変換

■暗黙的型変換
Top
■明示型変換(キャスト)
Top
■代入時の型変換
Top
■演算時の型変換
Top
■実習
  1. テキストの"TypeChange06.java"を入力して、コンパイル・エラーを出して確認してください。
  2. 上記アプリケーションのエラーを取り除いて実行してみてください。
  3. (オプション)
    上記アプリケーションの型や値をいろいろと変えて実行してみてください。
    エラーや、結果が予想と違う場合には、その理由を考えてください。
  4. 上記の"TypeChange11.java"を入力して、実行してください。
  5. 'a'の文字コードの値を画面に出力するアプリケーション"CodePrint01.java"を作成し、実行してください。
    1. public class CodePrint01 {
    2. public static void main(String[] args) {
    3. char c = 'a';
    4. System.out.println(???? + "'s code is " + ????);
    5. }
    6. }

    □ 実行結果

    a's code is 97
    

  6. (オプション)
    上記アプリケーションの値をいろいろと変えて実行してみてください。

  7. (オプション)
    上記アプリケーションで、コマンドラインから文字を指定できるようにします。また、16進数のUnicodeで出力します。そのために、StringクラスのcharAt()メソッド(String#charAt())、IntegerクラスのtoHexString()メソッド(Integer#toHexString())をAPIドキュメントを使って調べてください。("CodePrint02.java")
    1. public class CodePrint02 {
    2. public static void main(String[] args) {
    3. char c = ????????????? ;
    4. System.out.println("'" + c + "': " + ???????????????????? );
    5. }
    6. }

    □ 実行結果

    $ java CodePrint02 a
    'a': 61
    

  8. 単項演算子マイナス"-"を使用せずに、コマンドラインからの引数のネガティブを計算し、結果を画面に出力するアプリケーション"NegativeNumber.java"を作成し、実行してください。
    1. public class NegativeNumber {
    2. public static void main(String[] args) {
    3. int n = Integer.parseInt(args[0]);
    4. int nn = ????;
    5. System.out.print("Decimal: ");
    6. System.out.println("-(" + n + ") = " + nn);
    7. System.out.print("HexDecimal: ");
    8. System.out.println("-(" + Integer.toHexString(n) + ") = " + Integer.toHexString(nn));
    9. }
    10. }

    □ 実行結果

    $ java NegativeNumber 1234
    Decimal:    -(1234) = -1234
    HexDecimal: -(4d2) = fffffb2e    
    

  9. (オプション)
    上記アプリケーションの値をいろいろと変えて実行してみてください。
  10. (オプション)
    APIドキュメントを参照して、2進数による表示結果も出力してください。
  11. コマンドラインから指定された1文字を暗号化して、そのビット列を画面に出力するアプリケーション"Encoding01.java"を作成し、実行してください。ここで、暗号化はcharの下位2ビットをビット反転することで実現します。
    1. public class Encoding01 {
    2. public static void main(String[] args) {
    3. int a = args[0].charAt(0);
    4. int key = 0x3;
    5. int b = ?????? ;
    6. System.out.println((char)a + "(" + Integer.toBinaryString(a)
    7. + ") encode to: "
    8. + (char)b + "(" + Integer.toBinaryString(b) + ")");
    9. }
    10. }

    □ 実行結果

    $ java  Encoding01 a
    a(1100001) encode to: b(1100010)
    
Top

inserted by FC2 system