リテラル
変数は値を格納することができます。プログラムで変数に値を格納するには、別の変数を値として指定したり、直接データを指定したりします。この節では直接データを指定する方法を学習します。プログラムの中で直接指定するデータを「リテラル」と呼びます。
Javaでは次のような種類のリテラルを使います。
■ 数値
プログラムで整数値を指定するとint型として扱われます。特定のデータ型として指定したい場合はサフィックスを使って表現します。
データ型名 | サフィックス | 指定例 |
---|---|---|
int型 | (なし) | 123 |
long型 | l(もしくは、L) | 123l(もしくは、123L) |
プログラムで小数値を指定するとdouble型として扱われます。特定のデータ型として指定したい場合は次のようなサフィックスを使用して表現します。
データ型名 | サフィックス | 指定例 |
---|---|---|
float型 | 123.5f(もしくは、123.5F) | 123 |
double型 | (なし) | 123.5 |
プログラムでは数値を指定すると10進数として扱われます。Javaでは10進数と2進数、8進数、16進数で表現できます。その場合、次のように指定します。
基数 | 記号 | 指定例 |
---|---|---|
2進数 | 0b | 0x11 |
8進数 | 0 | 0777 |
16進数 | 0x | 0xFFFF |
■ 文字列
プログラムでは文字列を指定するときは「"(ダブルクォーテーション)」で囲います。ただし、変数名を指定する場合は「"」は必要ありません。
○ ファイル
次のようにファイルを作成してください。
ファイル名 | StringTest.java |
---|
○ プログラム
次のようにプログラムを入力してください。
StringTest.java
- import java.io.*;
- class StringTest{
- public static void main(String[] args){
- //文字列型の変数を宣言する
- String str;
- //文字列を変数に代入する
- str = "すもも";
- //変数を表示する
- System.out.println(str);
- }
○ コンパイルと実行
C:¥work>javac StringTest.java
C:¥work>java StringTest
すもも
C:¥work>
○ 解説
6行目では、String型の変数strを宣言しています。9行目では、変数strに文字列を代入しています。文字列は「"」で括って指定しています。12行目では、変数strを表示しています。変数名を指定する場合は「"」で括っていません。
■ 文字
プログラムでは文字を指定するときは「'(シングルクォーテーション)」で囲います。また文字には、エスケープシーケンスと呼ばれる特殊な文字が用意されています。
エスケープシーケンス | 文字 |
---|---|
¥' | 単一引用符 |
¥" | 二重引用符 |
¥¥ | 円記号 |
¥0 | Null |
¥a | ビープ音 |
¥b | バックスペース |
¥n | 改行 |
¥r | キャリッジリターン |
¥t | 水平タブ |
■ ブール
ブール型のリテラルには「true」と「false」が指定できます。trueは真を表し、falseは偽を表します。
■ null
Javaには「null」値という特別な値を扱うことができます。この値は、何も参照していない状態を表します。参照型の変数で使用します。
○ ファイル
次のようにファイルを作成してください。
ファイル名 | LiteralTest.java |
---|
○ プログラム
次のようにプログラムを入力してください。
LiteralTest.java
- import java.io.*;
- class LiteralTest{
- public static void main(String[] args){
- //各種変数を初期化する
- char chardata = 'a';
- boolean booldata = true;
- String strdata = null;
- //各種変数を表示する
- System.out.println("文字:" + chardata);
- System.out.println("ブール:" + booldata);
- System.out.println("null:" + strdata);
- //エスケープシーケンスを利用する
- System.out.println("エスケープシーケンス¥nエスケープシーケンス");
- }
- }
○ コンパイルと実行
C:¥work>javac LiteralTest.java
C:¥work>java LiteralTest
文字:a
ブール:true
null:null
エスケープシーケンス
エスケープシーケンス
C:¥work>
○ 解説
6~8行目では、3つの変数を宣言しています。6行目では、文字型の変数chardataを初期化しています。7行目では、boolean型の変数booldataを初期化しています。8行目では、String型の変数strdataを用意して、その変数にnull値を代入しています。
11~13行目では、各種変数を表示しています。13行目では、String型の変数を表示しようとしていますが、null値が格納されているため、表示できません。この場合のnullは文字列がないことを表します。
16行目では、エスケープシーケンスを文字列の途中で使用しています。「¥n」は改行を表すので、「¥n」のところで改行されて表示されます。