プリミティブ型
プログラミング言語理論(英語版)や理論計算機科学における代数的データ型の視点では、「そのデータ型の定義の中に構成要素として自身あるいは他のデータ型を含まない型」がプリミティブ型である。
本記事における以降の説明は、上述の理論的な分類に従ったものではなく、プログラミング言語ごとに規定されている基本的な型について述べている。
代表的なプリミティブ型を一部列挙:
文字型 (character, char) - 1バイトの文字型のほか、2バイトや4バイトの文字型が用意されていることもある。文字セット(エンコーディング)は言語や処理系に依存するが、UTF-8、UTF-16やUTF-32によるUnicodeのサポートが一般的。文字型の配列によって文字列型が実装されている言語もある。
整数型 (integer, int, short, long, byte) - 各種のサイズがあるが、1, 2, 4, 8バイトの整数型が用意されていることが多い。符号付きのほか、符号無しの型が用意されていることもある。
浮動小数点数型 (float, single, double, real, double precision) - 各種のサイズがあるが、IEEE 754に準拠した単精度と倍精度の浮動小数点数型が用意されていることが多い。
固定小数点数型 (fixed) - 各種の固定精度やスケール指定可能なものがある。
プリミティブ型またはプリミティブデータ型(英: primitive data type)は、データ型の分類用語であり、データ型の中で最も基本的なものを指している。基本データ型(basic data type)とも言われる。プログラミング言語の仕様に組み込まれる形で標準的に用意されていることから、言語によっては組み込み型(built-in type)と呼ばれることもある。直訳して原始型と呼ばれることもある。
対義的な分類用語は、複合データ型(英語版)(composite data type)である。コンポジット型、コンポジットデータ型、あるいは複合型とも呼ばれる。複合データ型は、プリミティブ型および複合データ型の構造的または再帰的な組み合わせ(コンポジション)で形成されるデータ型である。なお、「コンポジットデータ型」という用語は、PL/SQLにおける「スカラーデータ型」の対義語としても用いられている。
Javaでは以下の型をプリミティブデータ型として規定している。
Javaのプリミティブ型はオブジェクトではないため、そのままでは配列以外のコレクションに格納することができない。プリミティブ型をラップしてオブジェクトとして扱えるようにするため、各プリミティブ型にはプリミティブラッパークラスが用意されている。