welcome: please sign in
location: "基本データ型"の差分
8と33のリビジョン間の差分 (その間の編集: 25回)
2008-10-06 07:24:42時点のリビジョン8
サイズ: 1526
編集者: masahiko
コメント:
2011-09-26 05:59:56時点のリビジョン33
サイズ: 2609
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
== プリミティブとオブジェクト == ## page was renamed from プリミティブとオブジェクト
== 基本データ型 ==
行 7: 行 8:
プリミティブは基本データ型であり、Javaでは次の8つがあります。
 . 基本データ型のことをプリミティブといい次の8つがあります。
 . バイト数も決まっています。(Cでは処理系により異なっても良い)
行 15: 行 16:
 ||char||Unicode文字||  ||char||Unicode文字(16ビット)||
行 17: 行 18:

Cとの違い
 . charは16ビットです。
 . booleanと整数の相互変換はできません。
行 24: 行 21:
プリミティブ以外のデータはすべてオブジェクトです。
 . プリミティブ以外のデータはすべてオブジェクトと考えてよい。
 . '''文字列''', '''配列''', '''クラス''' があります。
行 33: 行 30:
型は8つの基本型またはクラスである。 型は基本型または配列またはクラスである。
行 38: 行 35:
ただし、プリミティブとオブジェクトで保持のされ方が異なる。
行 39: 行 37:
次のような図で表されることもある。
 . {{attachment:hensu2.png}}
プリミティブの値は、変数の対応する場所に'''直接保持'''されます。
変数の場所を四角で表すと図のようになる。
行 42: 行 40:
行 50: 行 48:
Javaではプリミティブ型のデータのみその値が変数に対応する箱の中に直接保持され、
オブジェクト型のデータの場合は別の場所に値が保持される。
オブジェクトの場合データは別の場所に作られ、変数はオブジェクトを参照する。
実際の値はオブジェクト内にある。
後日解説。
行 54: 行 53:

----
=== Cとの違い ===

 * 基本データ型のバイト数は処理系によらず決まっています。

 * 数値の型変換
   . 計算式の中で型が混在した場合、
   . byte → short → int → long → float → double
   . の方向にのみ変換が行われます。
 * 逆方向の変換は指示しない限り行われない。
   . 型変換を強制するにはキャスト演算子を用いて記述します。

 * charは16ビットです。

 * charとintの変換は行われません。

 * charの配列は文字列とは異なります。

 * boolean以外を論理演算や条件に用いることはできません。
   . Cで可能だった次のような書き方も間違いです。
 {{{
 int k;
 ...
 while ( k ) {
   ...
 }
 }}}

基本データ型

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

プリミティブ

  • 基本データ型のことをプリミティブといい次の8つがあります。
  • バイト数も決まっています。(Cでは処理系により異なっても良い)

    byte

    1バイト整数

    short

    2バイト整数

    int

    4バイト整数

    long

    8バイト整数

    float

    4バイト浮動小数点

    double

    8バイト浮動小数点

    char

    Unicode文字(16ビット)

    boolean

    真偽値

オブジェクト

  • プリミティブ以外のデータはすべてオブジェクトと考えてよい。
  • 文字列, 配列, クラス があります。


変数

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

  • hensu1.png

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

変数の値

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

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

  • hensu3.png

   1 double suu;
   2 suu = 103.75;

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

  • hensu4.png

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

  • hensu5.png


Cとの違い

  • 基本データ型のバイト数は処理系によらず決まっています。
  • 数値の型変換
    • 計算式の中で型が混在した場合、
    • byte → short → int → long → float → double
    • の方向にのみ変換が行われます。
  • 逆方向の変換は指示しない限り行われない。
    • 型変換を強制するにはキャスト演算子を用いて記述します。
  • charは16ビットです。
  • charとintの変換は行われません。
  • charの配列は文字列とは異なります。
  • boolean以外を論理演算や条件に用いることはできません。
    • Cで可能だった次のような書き方も間違いです。
     int k;
     ...
     while ( k ) {
       ...
     }

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