"Amigo, saya iri dengan awak. Mempelajari perkara baharu adalah sangat menarik! Dan hari ini topik baharu dan menarik menanti anda — literal."

"Nampaknya saya harus mengatakan bahawa saya adalah pelajar robo yang paling gembira di planet ini, Rishi. Baiklah, saya bersedia untuk menimba ilmu baru!"

"Mari kita segera melakukannya. Literal ialah data khusus yang ditulis terus dalam kod program. Kami tidak bercakap tentang sebarang data sahaja. Kami hanya bercakap tentang jenis primitif dan Rentetan.

Sebagai contoh, katakan anda mempunyai kod ini:

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

"Tersurat dalam kod ini ialah nombor 5 , nombor 10 dan rentetan ' Sum = '.

Integer literal

"Di Java, segala-galanya, termasuk literal, mempunyai jenis. Semua literal integer (integer) dalam kod adalah ints . Jenis int ialah jenis integer Java standard."

"Saya tahu jenis ini. Saya telah menggunakannya."

"Adakah anda masih ingat jenis integer lain selain int? Beberapa yang menggunakan lebih sedikit ruang dalam ingatan?"

"Sudah tentu! Bait dan pendek."

"Itulah. Jadi, jika dalam kod anda anda memutuskan untuk menetapkan integer literal kepada pembolehubah jenis bait atau pendek, tidak akan ada masalah. Perkara utama ialah nilai literal terletak dalam julat nilai yang jenis pembolehubah boleh disimpan. Pengkompil Java cukup bijak untuk memahami bahawa pembolehubah bait boleh diberikan integer literal 100.

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.

"Bagaimana dengan jenis yang panjang ?"

"Kami juga boleh menulis literal jenis ini dalam kod kami. 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?

"Ya, jika anda tidak mendayakan robovision anda, maka ia tidak akan segera jelas sama ada kita bercakap tentang 3 bilion atau 30."

"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.

"Ini adalah lebih mudah untuk dibaca, walaupun koma dan bukannya garis bawah akan menjadi lebih biasa!"

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

Literal nombor nyata

"Anda mungkin sudah meneka bahawa dalam kod anda, anda boleh menentukan bukan sahaja integer, tetapi juga literal titik terapung (nombor nyata)."

"Kedua-dua beregu dan terapung?"

"Ya. Sebenarnya, peraturannya agak mudah: jika nombor dalam kod mempunyai titik perpuluhan di dalamnya, maka nombor itu ialah titik terapung literal. Dan bukan sebarang literal, tetapi literal berganda. Untuk mencipta literal terapung , anda perlu meletakkan huruf 'F' (atau 'f') di hujung nombor .

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.

"Dengan cara ini, anda boleh secara eksplisit menukar literal integer kepada float atau literal berganda dengan hanya menambahkan akhiran 'F' (untuk float ) atau D (untuk double ). Contoh:

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.23 E 2 1.23*10 2 123.0
1.23 E 3 1.23*103 1230.0
1.23 E -6 1.23*10 -6 0.00000123
1 E 6 1.0 *10 6 1000000.0
1 E -10 1.0*10 -10 0.0000000001

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 dipecahkan 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 seterusnya.

"Setiap literal itu adalah String .

Contoh

Kod Penjelasan
"+"+"+"+"+"+"+"+"+"
Terdapat 5 literal dalam satu baris. Setiap daripada mereka terdiri daripada satu aksara '+'
""
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 rentetan literal 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!

Huruf huruf

"Bagaimana jika saya memerlukan literal yang merupakan satu aksara dan bukannya rentetan? Adakah saya perlu mencipta rentetan yang terdiri daripada satu aksara?"

"Tidak, dalam kes itu anda memerlukan literal yang jenisnya adalah char. Bolehkah anda meneka bagaimana permulaan dan penghujung literal sedemikian ditetapkan?"

"Petikan tunggal?"

"Ya, dan di dalam petikan tunggal mesti ada watak dan hanya satu aksara. 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. Anda akan mengetahui lebih lanjut tentang perkara ini dalam pelajaran seterusnya."