プリミティブ型
日本語 | 原始型 |
英語 | primitive type |
ふりがな | ぷりみてぃぶがた |
フリガナ | プリミティブガタ |
データを格納するための、最も基本的な型。
整数値や実数値といった、具体的な「値」を格納するための変数を作るための型が「プリミティブ型」である。
プリミティブ型で宣言した変数には、その型で指定した種類の値を格納することができる。
また、戻り値の型をプリミティブ型にした場合には、その指定した種類の値を返さなければならない。
プリミティブ型は、以下の8つの型である。
・byte
・short
・int
・long
・char
・float
・double
・boolean
byte型、short型、int型、long型の4つの型は整数型である。これらの型で宣言された変数は整数値を格納することができる。
それぞれの型の差は、格納できる整数値のサイズである。たとえばbyte型で宣言された変数は-128~127の範囲の整数値しか格納できないが、long型で宣言された変数は-9223372036854775808~9223372036854775807の範囲の整数値を格納できる。
この差は、型によって変数のサイズが異なるからである。byte型変数はメモリを1バイト使用し、long型変数はメモリを8バイト使用する。この差によって、格納できる整数値に差が生まれる。
ただ、int型に入りきらない値を使用する場合以外は、int型を使用することが多い。とりあえず整数値を入れたい場合には、サイズに関係なくint型の変数を宣言するといいだろう。
char型は、上記4つの型と同じく整数値を格納することができる。
ただし、通常char型の変数には文字を格納する。char型変数1つに1文字を格納できる。
また、上記4つの型と異なり、char型は符号を持たず、0~65535の範囲の整数値を格納する。
1文字を格納する変数を宣言したい場合にchar型を使用するといいだろう。
float型、double型の2つの型は浮動小数点型である。これらの型で宣言された変数は、浮動小数点という形式で実数値(小数点の付いた値)を格納することができる。
float型とdouble型の差は、格納できる実数値の精度の違いである。double型の方がfloat型よりも「小数点以下」の桁数を多く格納できる。特に問題がなければdouble型を使用するといいだろう。
実数値は浮動小数点という形式で格納されるため、値によっては正確に格納することができず、計算を行うと誤差が生まれる可能性が常にある。たとえば物理計算のような「元々に誤差が含まれる値の計算」に使用し、金銭の計算等正確な値を必要とする場合にはBigDecimalクラスを使用するといいだろう。
boolean型は論理型である。この型で宣言された変数は「true」「false」の2種類のboolean リテラルのみを格納することができる。
この2種類の値を用いて論理演算を行うのがboolean型である。
このように、「変数にどのような値が入れられるのか」は、変数の宣言を行う時にどのプリミティブ型を使用するかで決まる。変数に入れたい値から、どのプリミティブ型を使用するのか決めるといいだろう。
また、プログラム上に直接書かれた値である「リテラル」は、リテラルの種類によって型が決まる。たとえば「100」といった整数リテラルはint型であり、「4.5」といった浮動小数点リテラルはdouble型である。リテラルを変数に代入したり変数を初期化する場合には、リテラルの型も注意した方がいいだろう。
あるプリミティブ型の値を他のプリミティブ型へと変換したい場合には、「キャスト」を行う。
詳しくは「キャスト」の項目を参照。
プリミティブ型には、それぞれのクラス版として「ラッパークラス」が存在する。
詳しくは「ラッパー」の項目を参照。
プリミティブ型に対して、クラスや配列のインスタンスを指し示すための変数の型を「参照型」という。
詳しくは「参照」の項目を参照。
整数値や実数値といった、具体的な「値」を格納するための変数を作るための型が「プリミティブ型」である。
プリミティブ型で宣言した変数には、その型で指定した種類の値を格納することができる。
また、戻り値の型をプリミティブ型にした場合には、その指定した種類の値を返さなければならない。
プリミティブ型は、以下の8つの型である。
・byte
・short
・int
・long
・char
・float
・double
・boolean
byte型、short型、int型、long型の4つの型は整数型である。これらの型で宣言された変数は整数値を格納することができる。
それぞれの型の差は、格納できる整数値のサイズである。たとえばbyte型で宣言された変数は-128~127の範囲の整数値しか格納できないが、long型で宣言された変数は-9223372036854775808~9223372036854775807の範囲の整数値を格納できる。
この差は、型によって変数のサイズが異なるからである。byte型変数はメモリを1バイト使用し、long型変数はメモリを8バイト使用する。この差によって、格納できる整数値に差が生まれる。
ただ、int型に入りきらない値を使用する場合以外は、int型を使用することが多い。とりあえず整数値を入れたい場合には、サイズに関係なくint型の変数を宣言するといいだろう。
char型は、上記4つの型と同じく整数値を格納することができる。
ただし、通常char型の変数には文字を格納する。char型変数1つに1文字を格納できる。
また、上記4つの型と異なり、char型は符号を持たず、0~65535の範囲の整数値を格納する。
1文字を格納する変数を宣言したい場合にchar型を使用するといいだろう。
float型、double型の2つの型は浮動小数点型である。これらの型で宣言された変数は、浮動小数点という形式で実数値(小数点の付いた値)を格納することができる。
float型とdouble型の差は、格納できる実数値の精度の違いである。double型の方がfloat型よりも「小数点以下」の桁数を多く格納できる。特に問題がなければdouble型を使用するといいだろう。
実数値は浮動小数点という形式で格納されるため、値によっては正確に格納することができず、計算を行うと誤差が生まれる可能性が常にある。たとえば物理計算のような「元々に誤差が含まれる値の計算」に使用し、金銭の計算等正確な値を必要とする場合にはBigDecimalクラスを使用するといいだろう。
boolean型は論理型である。この型で宣言された変数は「true」「false」の2種類のboolean リテラルのみを格納することができる。
この2種類の値を用いて論理演算を行うのがboolean型である。
このように、「変数にどのような値が入れられるのか」は、変数の宣言を行う時にどのプリミティブ型を使用するかで決まる。変数に入れたい値から、どのプリミティブ型を使用するのか決めるといいだろう。
また、プログラム上に直接書かれた値である「リテラル」は、リテラルの種類によって型が決まる。たとえば「100」といった整数リテラルはint型であり、「4.5」といった浮動小数点リテラルはdouble型である。リテラルを変数に代入したり変数を初期化する場合には、リテラルの型も注意した方がいいだろう。
あるプリミティブ型の値を他のプリミティブ型へと変換したい場合には、「キャスト」を行う。
詳しくは「キャスト」の項目を参照。
プリミティブ型には、それぞれのクラス版として「ラッパークラス」が存在する。
詳しくは「ラッパー」の項目を参照。
プリミティブ型に対して、クラスや配列のインスタンスを指し示すための変数の型を「参照型」という。
詳しくは「参照」の項目を参照。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// byte型の変数を宣言して、byte型変数bを作ります。
byte b;
// この変数iには、byte型で決められた範囲の整数値を
// 入れることができます。
// たとえばこの中に整数値「100」を格納します。
b = 100;
// これで変数bの中に100が入りました。
// これを取り出して出力してみます。
System.out.println( b );
// 100
// プリミティブ型は全部で8つあります。
// これらの違いは、ひとつはサイズの違いです。
// たとえばbyte型の変数が格納できる範囲は
// -128~127のため、10000といった大きな値を
// 格納することはできません。
// その場合は、たとえばint型のような、もっと
// 大きな値を格納できる型を使用します。
int i = 10000;
System.out.println( i );
// 10000
// プリミティブ型それぞれの違いのもうひとつの点は、
// 入れられる値の種類です。
// たとえば「4.5」といった実数値は、byte型やint型等の
// 整数値型には格納できません。
// 代わりに、浮動小数点型であるfloat型やdouble型を
// 使用します。
double d = 4.5;
System.out.println( d );
// 4.5
// また、整数値でも、文字を示す整数値にはchar型を
// 使用します。
char ch = 'あ';
System.out.println( ch );
// あ
// また、boolean型は「true」「false」という論理値を
// 格納したい場合に使用します。
boolean bn = true;
System.out.println( bn );
// true
// サイズや型が格納したい値と異なる場合、
// コンパイルエラーになります。
// たとえば、byte型に入りきらない整数値を格納しようと
// すると、コンパイルエラーになります。
// ※コンパイルエラーの例
// byte b2 = 10000;
// ※エラーメッセージ
// 型の不一致: int から byte には変換できません
// ※コンパイルエラーの例ここまで
// このように、型によって変数に入れられる値が
// 決まるので、変数にどんな値を格納したいかで
// その変数の型を決めてください。
}
}
public class Sample
{
public static void main( String[] args )
{
// byte型の変数を宣言して、byte型変数bを作ります。
byte b;
// この変数iには、byte型で決められた範囲の整数値を
// 入れることができます。
// たとえばこの中に整数値「100」を格納します。
b = 100;
// これで変数bの中に100が入りました。
// これを取り出して出力してみます。
System.out.println( b );
// 100
// プリミティブ型は全部で8つあります。
// これらの違いは、ひとつはサイズの違いです。
// たとえばbyte型の変数が格納できる範囲は
// -128~127のため、10000といった大きな値を
// 格納することはできません。
// その場合は、たとえばint型のような、もっと
// 大きな値を格納できる型を使用します。
int i = 10000;
System.out.println( i );
// 10000
// プリミティブ型それぞれの違いのもうひとつの点は、
// 入れられる値の種類です。
// たとえば「4.5」といった実数値は、byte型やint型等の
// 整数値型には格納できません。
// 代わりに、浮動小数点型であるfloat型やdouble型を
// 使用します。
double d = 4.5;
System.out.println( d );
// 4.5
// また、整数値でも、文字を示す整数値にはchar型を
// 使用します。
char ch = 'あ';
System.out.println( ch );
// あ
// また、boolean型は「true」「false」という論理値を
// 格納したい場合に使用します。
boolean bn = true;
System.out.println( bn );
// true
// サイズや型が格納したい値と異なる場合、
// コンパイルエラーになります。
// たとえば、byte型に入りきらない整数値を格納しようと
// すると、コンパイルエラーになります。
// ※コンパイルエラーの例
// byte b2 = 10000;
// ※エラーメッセージ
// 型の不一致: int から byte には変換できません
// ※コンパイルエラーの例ここまで
// このように、型によって変数に入れられる値が
// 決まるので、変数にどんな値を格納したいかで
// その変数の型を決めてください。
}
}
// Sample.java public class Sample { public static void main( String[] args ) { // byte型の変数を宣言して、byte型変数bを作ります。 byte b; // この変数iには、byte型で決められた範囲の整数値を // 入れることができます。 // たとえばこの中に整数値「100」を格納します。 b = 100; // これで変数bの中に100が入りました。 // これを取り出して出力してみます。 System.out.println( b ); // 100 // プリミティブ型は全部で8つあります。 // これらの違いは、ひとつはサイズの違いです。 // たとえばbyte型の変数が格納できる範囲は // -128~127のため、10000といった大きな値を // 格納することはできません。 // その場合は、たとえばint型のような、もっと // 大きな値を格納できる型を使用します。 int i = 10000; System.out.println( i ); // 10000 // プリミティブ型それぞれの違いのもうひとつの点は、 // 入れられる値の種類です。 // たとえば「4.5」といった実数値は、byte型やint型等の // 整数値型には格納できません。 // 代わりに、浮動小数点型であるfloat型やdouble型を // 使用します。 double d = 4.5; System.out.println( d ); // 4.5 // また、整数値でも、文字を示す整数値にはchar型を // 使用します。 char ch = 'あ'; System.out.println( ch ); // あ // また、boolean型は「true」「false」という論理値を // 格納したい場合に使用します。 boolean bn = true; System.out.println( bn ); // true // サイズや型が格納したい値と異なる場合、 // コンパイルエラーになります。 // たとえば、byte型に入りきらない整数値を格納しようと // すると、コンパイルエラーになります。 // ※コンパイルエラーの例 // byte b2 = 10000; // ※エラーメッセージ // 型の不一致: int から byte には変換できません // ※コンパイルエラーの例ここまで // このように、型によって変数に入れられる値が // 決まるので、変数にどんな値を格納したいかで // その変数の型を決めてください。 } }
「みだし」に含まれているページ
「解説」に含まれているページ
- %=演算子
- *=演算子
- *演算子
- +=演算子
- +演算子
- -=演算子
- -演算子
- /=演算子
- /演算子
- =演算子
- boolean
- BufferedWriter
- byte
- C++言語
- char
- Comparable
- Comparator
- DataInputStream
- DataOutputStream
- double
- equals
- float
- instanceof
- int
- JspWriter
- JSP式
- long
- println
- PrintStream
- PrintWriter
- short
- StringBuffer
- valueOf
- アンボクシング変換
- インスタンス
- オブジェクト型
- オートボクシング
- オーバーロード
- ガベージコレクション
- キャスト
- クイックソート
- クラス
- ジェネリッククラス
- ジェネリックメソッド
- スコープ
- ソート
- ダウンキャスト
- ナローイング変換
- バイト
- バイト入力ストリーム
- バイト出力ストリーム
- プリミティブ型
- ボクシング変換
- ラッパー
- ワイドニング変換
- 修飾子
- 初期値
- 割り算
- 参照
- 型
- 基本データ型
- 変数
- 変数宣言
- 安定ソート
- 引き算
- 掛け算
- 整数
- 文字出力ストリーム
- 明示的
- 暗黙的
- 演算
- 演算子
- 足し算
- 降順