Pada tahap pembuatan aplikasi, pengembang biasanya hanya mengetahui strukturnya dan tidak berasumsi data apa yang akan diprosesnya. Namun, dalam beberapa situasi, Anda perlu secara eksplisit menentukan beberapa data dalam kode program (misalnya, jumlah iterasi atau pesan yang akan dikeluarkan). Dalam hal ini, literal bisa membantu. Isi:
- Apa itu literal
- Jenis-jenis literal dan kegunaannya
- Literal numerik
- String literal
- Literal karakter
- Literal Boolean
- Teknik Jedi dengan literal
- Literal dalam kursus JavaRush
- Kesimpulan
Apa itu literal?
Literal adalah nilai yang ditentukan secara eksplisit dalam kode program - konstanta dari tipe tertentu yang ada dalam kode pada saat peluncuran.class Test {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
Di kelas ini “Halo dunia!” - secara harfiah. Literal mempunyai jenis yang berbeda-beda, ditentukan oleh tujuan dan cara penulisannya.
Jenis-jenis literal dan kegunaannya
Semua literal adalah nilai primitif (string, angka, karakter, boolean). Anda tidak dapat membuat objek literal. Satu-satunya literal yang terkait dengan suatu objek adalahnull
. Menurut primitif, literal juga dibagi menjadi beberapa bagian:
- numerik:
- bilangan bulat;
- Titik mengambang;
- Rangkaian;
- Karakter;
- Asah otak.
Literal numerik
Literal bilangan bulat
Jenis literal ini adalah yang paling sederhana. Angka ditulis dalam bentuk standarnya tanpa menunjukkan karakter atau apapun. Bilangan bulat apa pun adalah bilangan bulat literal secara default. Artinya, Anda dapat secara eksplisit mengatur nilai variabel atau jumlah iterasi dalam satu lingkaran. Java mendukung 4 sistem angka:- Biner
- Oktal
- Desimal
- Heksadesimal
public static void main(String[] args) {
int a = 0b1101010110;
int b = 012314;
int c = 456;
int d = 0x141D12;
System.out.println("Число a в двоичной системе: " + a);
System.out.println("Число b в восьмеричной системе: " + b);
System.out.println("Число c в десятичной системе: " + c);
System.out.println("Число d в шестнадцатеричной системе: " + d);
}
Keluaran: Bilangan a dalam sistem biner: 854 Bilangan b dalam sistem oktal: 5324 Bilangan c dalam sistem desimal: 456 Bilangan d dalam sistem heksadesimal: 1318162 Meskipun bilangan ditentukan dalam sistem bilangan yang berbeda, dalam program bilangan tersebut diproses sebagai desimal angka. Melebihi nilai akan mengakibatkan kesalahan kompilasi:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
Ketika dijalankan pada tahap kompilasi, kita mendapatkan hasil sebagai berikut:
Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
Bagaimana dengan mengetik? Setiap literal bilangan bulat memiliki tipe default int
. Jika nilainya berada di luar batas variabel yang ditetapkan, terjadi kesalahan kompilasi. Saat menggunakan suatu tipe, long
Anda harus meletakkan simbol di akhir L
yang menunjukkan tipe ini:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
Mencoba mengkompilasi menghasilkan kesalahan berikut:
Error(11, 26) java: integer number too large: 1101010110
Literal titik mengambang
Bilangan floating point, atau bilangan pecahan, dapat ditulis dengan dua cara. Yang pertama sebagai pecahan desimal klasik: 3.14159 atau 2.718281282459045. Yang kedua dalam bentuk ilmiah, yaitu pecahan desimal biasa ditambah akhiran berupa lambang e atau E dan pangkat 10 yang harus mengalikan pecahan yang ditentukan. Misalnya 4.05E-13, artinya 4.05 * 10 -13 .double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
Keluaran: Tipe ganda klasik: 2.718281828459045 Tipe ganda ilmiah: 4.05E-13 Berbeda dengan bilangan bulat dan sistem bilangan, notasi ilmiah disimpan dalam variabel dan diproses dengan cara yang sama seperti notasi klasik. Bagaimana dengan mengetik? Nomor floating point apa pun menciptakan tipe double
. Jika Anda harus menggunakan type float
, Anda harus menambahkan f
atau di akhir F
. Dalam hal ini double
akan direduksi menjadi type float
. Hal ini tidak terjadi secara otomatis:
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
Saat memulai tahap kompilasi kita melihat kesalahan berikut:
Error:(11, 27) java: incompatible types: possible lossy conversion from double to float
String literal
Literal string adalah sekumpulan karakter yang diapit tanda kutip ganda. Tipe ini digunakan sesering literal numerik. Baris tersebut mungkin juga berisi karakter layanan yang perlu di-escape (disebut urutan escape). Contoh:String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
Keluaran: Ini adalah string normal. Sama standar dan biasa-biasa saja seperti kita semua. Dan ini adalah “garis” yang tidak biasa. Kalau saja karena beberapa “kata” di dalamnya ada dalam “tanda kutip”.
Literal karakter
Literal karakter di Java diwakili oleh kumpulan karakter Unicode, yaitu setiap karakter adalah nilai 16-bit. Untuk menunjukkan suatu simbol dalam kode, dipisahkan dengan tanda kutip tunggal. Berdasarkan pengalaman, ada dua jenis simbol:- Yang dapat dimasukkan dari keyboard adalah karakter biasa;
- Simbol yang tidak bisa dimasukkan begitu saja dari keyboard (simbol berbagai bahasa, bentuk, dan sebagainya).
,
' atau ' @
'. Jika suatu karakter adalah karakter layanan (misalnya, jeda baris atau tab), karakter tersebut harus di-escape dengan garis miring terbalik. Karakter yang tidak bisa dimasukkan begitu saja dari konsol dapat ditentukan dalam bentuk 16-bitnya. Untuk melakukan ini, Anda harus menentukan kode karakter dengan awalan \u
, misalnya ' \u00F7
'. Anda juga dapat menentukan karakter dalam gaya oktal (angka tiga digit) hanya dengan menambahkan garis miring terbalik di awal, misalnya ' \122
'. Menurut saya, penggunaannya jauh lebih mudah \u
. Contoh penggunaan:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
Keluaran: Ampersand - & Simbol pembagian -
Literal Boolean
Literal yang paling sederhana adalah literal yang logis. Hanya ada 2 nilai:false
dan true
, yang ditentukan secara eksplisit tanpa berbagai simbol. Literal tersebut dapat ditetapkan ke variabel bertipe boolean atau ditentukan di tempat di mana tipe boolean diharapkan (misalnya, dalam blok if, meskipun praktik ini dianggap tidak sopan, secara halus).
boolean flag = false;
if(true) {
// Действия будут выполняться всегда.
}
Teknik Jedi dengan literal
Berkat simbol di Java, Anda bisa melakukan banyak hal menarik, termasuk mengelola emoji. Misalnya, mari kita tampilkan wajah tersenyum:int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
Kesimpulan: Wajah tersenyum: 😀 Meskipun tampilan emoji mungkin menyeramkan (tergantung penerapannya), solusi ini berfungsi dengan baik. Namun, sulit untuk mencari emoji yang diinginkan di tabel pengkodean standar, bagian Emoticon di situs resminya jarang. Jauh lebih mudah menggunakan perpustakaan tambahan.
GO TO FULL VERSION