| 
  
   サイズ: 1127 
  
  コメント:  
 | 
    ← 2011-09-26 05:59:56時点のリビジョン33  ⇥ 
  サイズ: 2609 
  
  コメント:  
 | 
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 | 
| 行 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: | 
|  {{attachment:hensu2.png}} {{attachment:hensu3.png}} {{attachment:hensu4.png}} {{attachment:hensu5.png}}  | 
ただし、プリミティブとオブジェクトで保持のされ方が異なる。 プリミティブの値は、変数の対応する場所に'''直接保持'''されます。 変数の場所を四角で表すと図のようになる。 . {{attachment:hensu3.png}} 例 {{{#!java double suu; suu = 103.75; }}} 次の図は変数suuが値103.75を保持していることを表している。 . {{attachment:hensu4.png}} オブジェクトの場合データは別の場所に作られ、変数はオブジェクトを参照する。 実際の値はオブジェクト内にある。 後日解説。 . {{attachment:hensu5.png}} ---- === 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
真偽値
 
オブジェクト
- プリミティブ以外のデータはすべてオブジェクトと考えてよい。
 文字列, 配列, クラス があります。
変数
変数を使うには、その型と名前を宣言しなければならない。
型は基本型または配列またはクラスである。
変数の値
変数は値を保持することができる。 ただし、プリミティブとオブジェクトで保持のされ方が異なる。
プリミティブの値は、変数の対応する場所に直接保持されます。 変数の場所を四角で表すと図のようになる。
例
次の図は変数suuが値103.75を保持していることを表している。
オブジェクトの場合データは別の場所に作られ、変数はオブジェクトを参照する。 実際の値はオブジェクト内にある。 後日解説。
Cとの違い
- 基本データ型のバイト数は処理系によらず決まっています。
 - 数値の型変換 
- 計算式の中で型が混在した場合、
 - byte → short → int → long → float → double
 - の方向にのみ変換が行われます。
 
 - 逆方向の変換は指示しない限り行われない。 
- 型変換を強制するにはキャスト演算子を用いて記述します。
 
 - charは16ビットです。
 - charとintの変換は行われません。
 - charの配列は文字列とは異なります。
 - boolean以外を論理演算や条件に用いることはできません。 
- Cで可能だった次のような書き方も間違いです。
 
int k; ... while ( k ) { ... } 
