サイズ: 2485
コメント:
|
サイズ: 2635
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 8: | 行 8: |
基本データ型のことをプリミティブといい次の8つがあります。 | . 基本データ型のことをプリミティブといい次の8つがあります。 . バイト数も決まっています。(Cでは処理系により異なっても良い) |
行 16: | 行 16: |
||char||Unicode文字|| | ||char||Unicode文字(16ビット)|| |
行 21: | 行 21: |
プリミティブ以外のデータはすべてオブジェクトです。 オブジェクトには'''配列'''型と'''クラス'''型があります。 |
. プリミティブ以外のデータはすべてオブジェクトと考えてよい。 . '''文字列''', '''配列''', '''クラス''' があります。 . 次回解説予定。 |
行 50: | 行 51: |
後日解説。 | |
行 56: | 行 58: |
1. 基本データ型のバイト数は処理系によらず決まっています。 | * 基本データ型のバイト数は処理系によらず決まっています。 |
行 58: | 行 60: |
1. 数値の型変換 計算式の中で型が混在した場合、 byte → short → int → long → float → double の方向にのみ変換が行われます。 . '''例''' {{{ int i; i = 1.25 * 3 * 4; }}} 代入文の右辺に 1.25 があるため 3 や 4 は double に変換して計算されます。 その後 int に変換して i に代入しようとしています。 Cではこれで動作しますが、Javaではエラーとなります。 |
* 数値の型変換 . 計算式の中で型が混在した場合、 . byte → short → int → long → float → double . の方向にのみ変換が行われます。 * 逆方向の変換は指示しない限り行われない。 . 型変換を強制するにはキャスト演算子を用いて記述します。 |
行 71: | 行 67: |
. charは16ビットです。 . booleanと整数の相互変換はできません。次のような書き方も間違いです。 |
* charは16ビットです。 * charとintの変換は行われません。 * charの配列は文字列とは異なります。 * boolean以外を論理演算や条件に用いることはできません。 . Cで可能だった次のような書き方も間違いです。 |
行 80: | 行 82: |
---- |
基本データ型
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 ) { ... }