welcome: please sign in
location: "基本データ型"の差分
21と22のリビジョン間の差分
2009-09-21 11:56:49時点のリビジョン21
サイズ: 2170
編集者: masahiko
コメント:
2009-09-21 12:01:11時点のリビジョン22
サイズ: 2468
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 59: 行 59:
 計算式の中で型が混在した場合、
 byte → short → int → long → float → double
 の方向にのみ変換が行われます。
   計算式の中で型が混在した場合、
   byte → short → int → long → float → double
   の方向にのみ変換が行われます。
 {{{
 int i;
 i = 1.25 * 3 * 4;
 }}
   代入文の右辺に 1.25 があるため 3 や 4 は double に変換して計算されます。
その後 int に変換して i に代入しようとしています。
Cではこれで動作しますが、Javaではエラーとなります。

基本データ型

Javaのデータはプリミティブとオブジェクトの2種類に大きく分けられます。

プリミティブ

  • 基本データ型のことをプリミティブといい次の8つがあります。

    byte

    1バイト整数

    short

    2バイト整数

    int

    4バイト整数

    long

    8バイト整数

    float

    4バイト浮動小数点

    double

    8バイト浮動小数点

    char

    Unicode文字

    boolean

    真偽値

オブジェクト

プリミティブ以外のデータはすべてオブジェクトです。

  • オブジェクトには配列型とクラス型があります。


変数

変数を使うには、その型と名前を宣言しなければならない。

  • hensu1.png

型は基本型または配列またはクラスである。

変数の値

変数は値を保持することができる。 ただし、プリミティブとオブジェクトで保持のされ方が異なる。

プリミティブの値は、変数の対応する場所に直接保持されます。 変数の場所を四角で表すと図のようになる。

  • hensu3.png

   1 double suu;
   2 suu = 103.75;

次の図は変数suuが値103.75を保持していることを表している。

  • hensu4.png

オブジェクトの場合データは別の場所に作られ、変数はオブジェクトを参照する。 実際の値はオブジェクト内にある。

  • hensu5.png


Cとの違い

  1. 基本データ型のバイト数は処理系によらず決まっています。
  2. 数値の型変換
    • 計算式の中で型が混在した場合、 byte → short → int → long → float → double の方向にのみ変換が行われます。
     int i;
     i = 1.25 * 3 * 4;
     }}
       代入文の右辺に 1.25 があるため 3 や 4 は double に変換して計算されます。
    その後 int に変換して i に代入しようとしています。
    Cではこれで動作しますが、Javaではエラーとなります。
    
     . charは16ビットです。
     . booleanと整数の相互変換はできません。次のような書き方も間違いです。
     {{{
     int k;
     ...
     while ( k ) {
       ...
     }


基本データ型 (最終更新日時 2011-09-26 05:59:56 更新者 masahiko)