1. Integer literal

Dan sekarang untuk topik menarik baharu — literal. Data yang ditulis secara langsung dalam kod program dipanggil literal . Kami tidak bercakap tentang sebarang data lama, tetapi nilai jenis primitif dan jenisnya String.

Sebagai contoh, katakan anda mempunyai kod berikut:

Kod Literal
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

Huruf dalam kod ini ialah nombor , nombor dan rentetan ' ' .510Sum =

Di Jawa, semuanya, termasuk literal, mempunyai jenis. Secara lalai, semua literal integer (nombor bulat) dalam kod ialah ints. Jenis int ialah jenis integer Java standard.

Lebih-lebih lagi, jika anda memutuskan untuk menetapkan literal integer kepada pembolehubah bait atau pembolehubah pendek dalam kod anda, tidak akan ada masalah. Anda hanya perlu memastikan bahawa nilai literal terletak dalam julat nilai yang boleh disimpan oleh jenis pembolehubah.

Pengkompil Java cukup pintar untuk memahami bahawa bytepembolehubah boleh diberikan integer literal 100 tanpa menimbulkan masalah.

Contoh:

Kod Penerangan
int a = 300;
Ini akan disusun dengan baik.
byte a = 100; 
Ini akan disusun dengan baik.
byte a = 300; 
Akan ada ralat penyusunan, kerana nilai bait maksimum ialah 127.

Anda juga boleh menulis longliteral dalam kod anda. Untuk melakukan ini, tambahkan huruf Latin 'L' atau 'l' di hujung integer.

Contoh:

Kod Penerangan
long a = 3000000000L; 
Ini akan disusun dengan baik.
long a = 3000000000; 
Ralat kompilasi: 3 bilion terlalu besar untuk int literal.
int a = 3000000000L; 
Ralat kompilasi: literal adalah panjang, tetapi pembolehubah adalah int. Selain itu, 3 bilion adalah lebih daripada int maksimum.

Adakah anda perasan betapa sukarnya membaca nombor besar 10 atau lebih digit? Anda tidak boleh memberitahu sama ada kod itu menyatakan 3 bilion atau 30 bilion. Untuk menjadikan kod lebih mudah dibaca (dan ini penting!), Java membenarkan garis bawah dimasukkan ke dalam literal angka (ia tidak menjejaskan nilai nombor).

Contoh di atas boleh ditulis semula dengan garis bawah untuk menjadikannya lebih jelas:

Kod Penerangan
long a = 3_000_000_000L; 
Ini akan disusun dengan baik.
long a = 3_000_000_000; 
Ralat kompilasi: 3 bilion terlalu besar untuk int literal.
int a = 3_000_000_000L; 
Ralat kompilasi: literal adalah panjang, tetapi pembolehubah adalah int. Selain itu, 3 bilion adalah lebih daripada int maksimum.

Tetapi kita tidak boleh menggunakan koma dalam literal angka kerana ia sudah digunakan untuk tujuan lain. Sebagai contoh, untuk memisahkan hujah antara satu sama lain apabila memanggil kaedah.



2. Huruf nombor nyata

Dalam kod anda, anda boleh menentukan bukan sahaja integer, tetapi juga literal titik terapung (nombor nyata).

Sebenarnya, peraturannya agak mudah: jika nombor dalam kod mempunyai titik perpuluhan di dalamnya, maka nombor itu ialah literal titik terapung. Dan bukan sebarang literal, tetapi doubleliteral.

Anda boleh mencipta literal terapung, tetapi anda perlu meletakkan huruf 'F' (atau 'f') di hujung nombor untuk melakukannya .

Contoh:

Kod Penerangan
double a = 100.0; 
Ini akan disusun dengan baik.
double a = 100.;
Ini akan disusun dengan baik.
double a = .0;
Ini akan disusun dengan baik.
float a = 100.0f; 
Ini akan disusun dengan baik.
float a = 100.0; 
Akan ada ralat kompilasi: pembolehubah ialah apungan, tetapi literal ialah dua kali ganda.

Ngomong-ngomong, anda boleh menukar literal integer secara eksplisit kepada apungan atau literal berganda dengan hanya ). Contoh: appending the suffix 'F' (for float) or D (for double)

Kod Penerangan
double a = 100D; 
Ini akan disusun dengan baik.
float a = 100F; 
Ini akan disusun dengan baik.
int a = 300D; 
Akan ada ralat kompilasi: pembolehubah ialah int, tetapi literal ialah double.

Literal titik terapung boleh menggunakan tatatanda saintifik : sebagai tambahan kepada bahagian nombor yang ditandatangani, anda juga boleh menentukan kuasa sepuluh. Contoh:

literal tatatanda matematik Nilai akhir
1.23E2
1.23 * 102
123.0
1.23E3
1.23 * 103
1230.0
1.23E-6
1.23 * 10-6
0.00000123
1E6
1.0 * 106
1000000.0
1E-10
1.0 * 10-10
0.0000000001


3. Tersurat rentetan

Anda juga boleh menentukan keseluruhan baris teks dalam kod anda. Untuk memberitahu pengkompil untuk merawat rentetan sebagai data (harfiah) dan bukan sebagai sebahagian daripada kod, keseluruhan rentetan dikelilingi oleh petikan berganda pada kedua-dua belah pihak.

Jika satu baris kod mempunyai beberapa petikan berganda, maka ia dibahagikan kepada pasangan. Tanda petikan berganda pertama menunjukkan permulaan literal. Yang seterusnya menunjukkan penghujung literal. Yang seterusnya selepas itu sekali lagi menandakan permulaan literal baharu. Dan seterusnya menandakan berakhirnya literal kedua. Dan sebagainya.

Setiap literal tersebut adalah String.

Contoh

Kod Penjelasan
"+" + "+" + "+" + "+" + "+"
Terdapat 5 literal dalam satu baris. Setiap daripada mereka terdiri daripada satu  +watak
""
Tersurat ini ialah rentetan kosong. Rentetan tanpa aksara.
"2+3" + "-5"
Terdapat dua literal di sini. Hasilnya ialah rentetan ' 2+3-5', bukan nombor
"return" + ";"
Terdapat juga dua literal di sini. Tiada kenyataan pulangan di sini.

Jika literal rentetan terlalu panjang, ia boleh dipecahkan kepada beberapa baris dan dilekatkan bersama dengan 'operator tambah':

Kod Penjelasan
String s = "I hold it true, whate'er befall, "
         + "I feel it when I sorrow most; "
         + "'Tis better to have loved and lost "
         + "Than never to have loved at all.";
Jika anda mengeluarkan baris ini ke skrin, maka semua teks akan dipaparkan pada satu baris!


4. Tersurat watak

Anda boleh menentukan bukan sahaja literal rentetan dalam kod anda, tetapi juga literal yang terdiri daripada aksara individu. Ambil perhatian bahawa kita tidak bercakap tentang rentetan yang terdiri daripada satu aksara, tetapi lebih kepada literal yang jenisnya ialah char.

Tidak seperti rentetan, aksara literal dikelilingi oleh petikan tunggal . Di dalam petikan tunggal mesti ada watak dan hanya satu watak. Anda tidak boleh menggunakan petikan tunggal kosong.

Contoh:

Kod Penjelasan
'A'
Literal yang jenisnya ialah char. Ia mengandungi huruf Latin 'A'.
'@' 
Literal yang jenisnya ialah char. Ia mengandungi simbol '@'
'' 
Literal yang jenisnya ialah char. Ia mengandungi watak Jepun. Dan ini juga mungkin.
'\u1f3a'
Literal yang jenisnya ialah char. Ia mengandungi aksara Unicode yang ditentukan oleh nombornya.

Contoh terakhir memberikan aksara Unicode menggunakan tatatanda khas: pertama kita mempunyai awalan \u, diikuti dengan 4 aksara perenambelasan. Pelajaran seterusnya merangkumi maklumat terperinci tentang perkara ini.