Ilovani yaratish bosqichida ishlab chiquvchi, qoida tariqasida, faqat uning tuzilishini biladi va u qanday ma'lumotlarni qayta ishlashni o'ylamaydi. Biroq, ba'zi hollarda, siz dastur kodidagi ba'zi ma'lumotlarni aniq ko'rsatishingiz kerak (masalan, takrorlashlar soni yoki chiqarilishi kerak bo'lgan xabar). Bunday holda, literallar yordamga keladi. Tarkib:
- Harflar nima
- Literallarning turlari va ulardan foydalanish
- Raqamli harflar
- String literallari
- Belgilar harflari
- Mantiqiy harflar
- Jedi texnikasi harflar bilan
- JavaRush kursidagi harflar
- Xulosa
Literallar nima?
Literallar dastur kodida aniq ko'rsatilgan qiymatlar - ishga tushirish vaqtida kodda bo'lgan ma'lum turdagi konstantalar.class Test {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
Ushbu darsda "Salom dunyo!" - tom ma'noda. Literallar maqsadi va qanday yozilishi bilan belgilanadigan turli xil turlarga bo'linadi.
Literallarning turlari va ulardan foydalanish
Barcha harflar ibtidoiy qiymatlardir (satrlar, raqamlar, belgilar, mantiqiy qiymatlar). Siz literal ob'ekt yarata olmaysiz. Ob'ekt bilan bog'langan yagona harfnull
. Primitivlarga ko'ra, harflar ham bo'limlarga bo'linadi:
- Raqamli:
- Butun sonlar;
- Suzuvchi nuqta;
- String;
- Belgi;
- Aqliy o'yin.
Raqamli harflar
Butun sonli harflar
Ushbu turdagi literal eng oddiy hisoblanadi. Raqamlar belgilar yoki boshqa narsalarni ko'rsatmasdan standart shaklda yoziladi. Har qanday butun son sukut bo'yicha butun sondir. Ya'ni, siz o'zgaruvchining qiymatini yoki tsikldagi takrorlanishlar sonini aniq belgilashingiz mumkin. Java 4 ta raqam tizimini qo'llab-quvvatlaydi:- Ikkilik
- Sakkizlik
- O'nlik
- O'n oltilik
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);
}
Chiqarish: Ikkilik sistemada a soni: 854 Sakkizlik tizimda b soni: 5324 O‘nlik sistemada c soni: 456 O‘n oltilik sistemada d soni: 1318162 Turli sanoq sistemalarida raqamlar ko‘rsatilgan bo‘lishiga qaramay, dasturda ular o‘nlik sanoq sifatida qayta ishlanadi. raqamlar. Qiymatlardan oshib ketish kompilyatsiya xatosiga olib keladi:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
Kompilyatsiya bosqichida ishga tushirilganda biz quyidagi natijaga erishamiz:
Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
Yozish haqida nima deyish mumkin? Har qanday tamsayı harfi standart turiga ega int
. Agar uning qiymati tayinlangan o'zgaruvchining chegaralaridan tashqarida bo'lsa, kompilyatsiya xatosi yuzaga keladi. Turdan foydalanganda, long
oxirida L
ushbu turni ko'rsatadigan belgi qo'yishingiz kerak:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
Natijalarni quyidagi xato bilan kompilyatsiya qilishga urinish:
Error(11, 26) java: integer number too large: 1101010110
Suzuvchi nuqtali harflar
Suzuvchi nuqtali sonlar yoki kasr sonlar ikki xil tarzda yozilishi mumkin. Birinchisi klassik o'nli kasr sifatida: 3,14159 yoki 2,718281282459045. Ikkinchisi ilmiy shaklda, ya'ni oddiy o'nli kasr va e yoki E belgisi ko'rinishidagi qo'shimcha va belgilangan kasrni ko'paytirish kerak bo'lgan 10 ning kuchi. Misol uchun, 4.05E-13, bu 4.05 * 10 -13 degan ma'noni anglatadi .double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
Chiqarish: Klassik qo'sh tip: 2.718281828459045 Ilmiy qo'sh tip: 4.05E-13 Butun sonlar va sanoq sistemalaridan farqli o'laroq, ilmiy belgilar o'zgaruvchida saqlanadi va xuddi klassik belgilar bilan bir xil tarzda qayta ishlanadi. Yozish haqida nima deyish mumkin? Har qanday suzuvchi nuqta raqam turini yaratadi double
. Agar siz turni ishlatishingiz kerak bo'lsa , oxirida yoki float
qo'shishingiz kerak . Bu holda u turiga qisqartiriladi . Bu avtomatik ravishda sodir bo'lmaydi: f
F
double
float
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
Kompilyatsiya bosqichida biz quyidagi xatoni ko'ramiz:
Error:(11, 27) java: incompatible types: possible lossy conversion from double to float
String literallari
String literals - qo'sh tirnoq ichiga olingan belgilar to'plami. Bu tip sonli harflar kabi tez-tez ishlatiladi. Satrda qochish kerak bo'lgan xizmat belgilari ham bo'lishi mumkin (qochish ketma-ketligi deb ataladi). Misol:String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
Chiqish: Bu oddiy qator. Xuddi hammamiz kabi standart va e'tiborga loyiq emas. Va bu g'ayrioddiy "chiziq". Agar undagi ba'zi "so'zlar" "tirnoq" ichida bo'lsa.
Belgilar harflari
Java tilidagi belgilar harflari Unicode belgilar to'plami bilan ifodalanadi, ya'ni har bir belgi 16 bitli qiymatdir. Koddagi belgini ko'rsatish uchun u bitta tirnoq bilan ajratiladi. Tajribaga asoslanib, belgilarning ikki turi mavjud:- Klaviaturadan kiritilishi mumkin bo'lganlar oddiy belgilar;
- Klaviaturadan oddiygina kiritib bo'lmaydigan belgilar (turli tillardagi belgilar, shakllar va boshqalar).
,
' yoki ' @
'. Agar belgi xizmat belgisi bo'lsa (masalan, satr uzilishi yoki yorliq), bunday belgidan teskari chiziq bilan qochish kerak. Konsoldan oddiygina kiritib bo'lmaydigan belgilar 16 bitli shaklda ko'rsatilishi mumkin. Buning uchun siz belgi kodini prefiks bilan belgilashingiz kerak \u
, masalan, ' \u00F7
'. Siz shuningdek, boshida teskari chiziq qo'shish orqali sakkizlik uslubda (uch xonali raqam) belgilarni belgilashingiz mumkin, masalan, ' \122
'. Menimcha, undan foydalanish ancha oson \u
. Foydalanish misoli:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
Chiqish: Ampersand - & Bo'linish belgisi - ÷
Mantiqiy harflar
Eng oddiy harf mantiqiydir. Faqat ikkita qiymat mavjud:false
va true
, ular turli belgilarsiz aniq ko'rsatilgan. Bunday harflar mantiqiy turdagi o'zgaruvchilarga tayinlanishi yoki mantiqiy turi kutilgan joyda ko'rsatilishi mumkin (masalan, if blokida, garchi bu amaliyot yumshoq qilib aytganda, yomon odob deb hisoblansa ham).
boolean flag = false;
if(true) {
// Действия будут выполняться всегда.
}
Jedi texnikasi harflar bilan
Java-dagi belgilar tufayli siz ko'plab qiziqarli narsalarni qilishingiz mumkin, jumladan, kulgichlarni boshqarish. Masalan, jilmayib turgan yuzni ko'rsatamiz:int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
Xulosa: Tabassumli yuz: 😀 Emoji displeyi dahshatli bo'lishi mumkin bo'lsa-da (amalga oshirishga qarab), bu yechim vazifani yaxshi bajaradi. Biroq, standart kodlash jadvalida kerakli kulgichni qidirish qiyin, rasmiy veb-saytdagi Emoticon bo'limi juda kam. Qo'shimcha kutubxonalardan foydalanish ancha oson.
GO TO FULL VERSION