JavaRush /Java Blogu /Random-AZ /Java dilində hərflər

Java dilində hərflər

Qrupda dərc edilmişdir
Tətbiq yaratma mərhələsində tərtibatçı, bir qayda olaraq, yalnız onun strukturunu bilir və onun hansı məlumatları emal edəcəyini güman etmir. Bununla belə, bəzi hallarda proqram kodunda bəzi məlumatları (məsələn, təkrarların sayı və ya çıxarılacaq mesaj) açıq şəkildə göstərməlisiniz. Bu vəziyyətdə hərflər köməyə gəlir. Məzmun:

Hərflər nədir?

Literallar proqram kodunda açıq şəkildə göstərilən dəyərlərdir - işə salınma anında kodda olan müəyyən tipli sabitlər.
class Test {
   public static void main(String[] args) {
       System.out.println("Hello world!");
   }
}
Bu sinifdə "Salam dünya!" - hərfi. Məqsədləri və necə yazıldığı ilə müəyyən edilən hərflər müxtəlif növlərdə olur.

Hərflərin növləri və onların istifadəsi

Bütün hərflər ibtidai dəyərlərdir (sətirlər, rəqəmlər, simvollar, booleanlar). Siz hərfi obyekt yarada bilməzsiniz. Obyektlə əlaqəli yeganə hərfi null. İbtidailərə görə hərfilər də bölmələrə bölünür:
  1. Rəqəm:
    • Tam ədədlər;
    • Üzən nöqtə;
  2. simli;
  3. xarakter;
  4. Zeka oyunu.

Rəqəm hərfi

Tam ədəd hərfi

Bu tip hərfi ən sadədir. Rəqəmlər simvol və ya başqa heç nə göstərilmədən standart formada yazılır. İstənilən tam ədəd standart olaraq tam ədəddir. Yəni, bir dəyişənin dəyərini və ya döngədə təkrarlamaların sayını açıq şəkildə təyin edə bilərsiniz. Java 4 say sistemini dəstəkləyir:
  • İkili
  • Səkkizlik
  • Ondalık
  • Onaltılıq
JDK 7 ikili dəyərlər yazmaq qabiliyyətini təqdim etdi . Bu 0b və ya 0B prefiksindən istifadə etməklə edilir . Sonra 0 və 1-dən istifadə etməklə yazı gəlir. Səkkizlik rəqəmlər başda 0-dan istifadə etməklə yazılır. Etibarlı rəqəmlər 0-dan 7-yə qədərdir. 09 və ya 08 yazmaq kompilyasiya xətasına səbəb olacaq. Onluq say sistemində heç bir problem yoxdur : ədədlər bizə tanış olan formada göstərilir. Yeganə məhdudiyyət odur ki, nömrə 0 ilə başlaya bilməz, çünki kompilyator onu səkkizlik kimi qəbul edəcəkdir. Hexadecimal rəqəmlər 0x və 0X prefikslərindən istifadə etməklə yazılır. Etibarlı nömrələr 0-dan 15-ə qədərdir, burada 10-15 rəqəmləri müvafiq olaraq AF simvolları ilə göstərilir.
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);
}
Nəticə: İkilik sistemdə a sayı: 854 Səkkizlik sistemdə b sayı: 5324 Onluq sistemdə c rəqəmi: 456 Onaltılıq sistemdə d sayı: 1318162 Ədədlərin müxtəlif say sistemlərində göstərilməsinə baxmayaraq, proqramda onlar onluq sistemdə işlənir. nömrələri. Dəyərləri aşmaq kompilyasiya xətası ilə nəticələnəcək:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
Kompilyasiya mərhələsində işlədiyimiz zaman aşağıdakı nəticəni əldə edirik:

Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
Bəs yazmaq? İstənilən tam ədədin standart növü var int. Əgər onun dəyəri təyin edilmiş dəyişənin hüdudlarından kənardadırsa, kompilyasiya xətası baş verir. Növdən istifadə edərkən longsonunda Lbu növü göstərən simvol qoymalısınız:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
Nəticələri aşağıdakı xəta ilə tərtib etməyə çalışırıq:

Error(11, 26) java: integer number too large: 1101010110

Üzən nöqtə hərfi

Üzən nöqtəli ədədlər və ya kəsr ədədləri iki şəkildə yazıla bilər. Birincisi klassik onluq kəsr kimidir: 3.14159 və ya 2.718281282459045. İkincisi elmi formadadır, yəni adi onluq kəsr üstəgəl e və ya E simvolu şəklində olan şəkilçi və göstərilən kəsrin vurulmalı olduğu 10-un gücü. Məsələn, 4.05E-13, bu 4.05 * 10 -13 deməkdir .
double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
Nəticə: Klassik ikiqat tip: 2.718281828459045 Elmi ikiqat tip: 4.05E-13 Tam ədədlər və say sistemlərindən fərqli olaraq, elmi qeyd dəyişəndə ​​saxlanılır və klassik qeyd ilə eyni şəkildə işlənir. Bəs yazmaq? İstənilən üzən nöqtə nömrəsi bir növ yaradır double. Əgər növü istifadə etməlisinizsə , sonunda və ya floatəlavə etməlisiniz . Bu halda tipə endiriləcək . Bu avtomatik olaraq baş vermir: fFdoublefloat
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
Kompilyasiya mərhələsində başlayanda aşağıdakı xətanı görürük:

Error:(11, 27) java: incompatible types: possible lossy conversion from double to float

Sətir hərfi

Simli hərflər qoşa dırnaq içərisində olan simvollar toplusudur. Bu növ ədədi hərflər kimi tez-tez istifadə olunur. Xətt həmçinin xilas edilməli olan xidmət simvollarını ehtiva edə bilər (qaçış ardıcıllığı adlanır). Misal:
String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
Çıxış: Bu normal sətirdir. Qalanlarımız kimi standart və diqqətəlayiq deyil. Və bu qeyri-adi "xətt" dir. Yalnız ona görə ki, oradakı bəzi “sözlər” “dırnaqlar” içərisindədir.

Simvol hərfi

Java-da simvol literalları Unicode simvol dəsti ilə təmsil olunur, yəni hər simvol 16 bitlik dəyərdir. Kodda simvolu göstərmək üçün o, tək dırnaqlarla ayrılır. Təcrübəyə əsasən iki növ simvol var:
  1. Klaviaturadan daxil edilə bilənlər adi simvollardır;
  2. Klaviaturadan sadəcə daxil edilə bilməyən simvollar (müxtəlif dillərin simvolları, formaları və s.).
Adi simvollar açıq şəkildə göstərilə bilər: ' ,' və ya ' @'. Əgər simvol xidmət simvoludursa (məsələn, sətir sonu və ya nişan), belə simvol əks kəsişmə ilə qaçmalıdır. Konsoldan sadəcə daxil edilə bilməyən simvollar 16 bitlik formada göstərilə bilər. Bunu etmək üçün simvol kodunu prefikslə göstərməlisiniz \u, məsələn ' \u00F7'. Siz həmçinin səkkizlik üslubda simvolları (üç rəqəmli ədəd) sadəcə olaraq əvvəlinə tərs xətt əlavə etməklə təyin edə bilərsiniz, məsələn ' \122'. Məncə, istifadə etmək çox asandır \u. İstifadə nümunəsi:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
Çıxış: İşaret işarəsi - & Bölmə simvolu - ÷

Boolean hərfləri

Ən sadə hərf məntiqlidir. Yalnız 2 dəyər var: falsetrue, müxtəlif simvollar olmadan açıq şəkildə göstərilmişdir. Belə literallar boolean tipli dəyişənlərə təyin edilə bilər və ya boolean tipinin gözlənildiyi yerdə göstərilə bilər (məsələn, if blokunda, bu praktika yumşaq desək, pis davranış hesab edilsə də).
boolean flag = false;

if(true) {
    // Действия будут выполняться всегда.
}

Hərflərlə Jedi texnikası

Java-dakı simvollar sayəsində siz emojiləri idarə etmək də daxil olmaqla bir çox maraqlı şeylər edə bilərsiniz. Məsələn, gülümsəyən bir üz göstərək:
int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
Nəticə: Gülən üz: 😀 Emoji ekranı qorxunc ola bilsə də (tətbiqdən asılı olaraq), bu həll işi yaxşı görür. Bununla belə, standart kodlaşdırma cədvəlində istədiyiniz emodini axtarmaq çətindir, rəsmi internet saytındakı İfadə bölməsi seyrəkdir. Əlavə kitabxanalardan istifadə etmək çox asandır.

JavaRush kursunda hərflər

JavaRush kursunda hərflər Java Sintaksis kursunun 8-ci mühazirəsində 10-cu səviyyədə öyrənilir , burada nümunələr hərfilərin nə olduğunu və nə üçün lazım olduğunu izah edir. JavaRush praktikaya diqqət yetirən Java proqramlaşdırması üzrə onlayn kursdur: ani yoxlama ilə 1200+ tapşırıq, mini layihələr, oyunlar.

Nəticə

Java-da hərflər hər hansı bir proqramda əlverişli bir şeydir, lakin uyğun olduğu yerlərdə istifadə edilməlidir. Mənbə kodunda proqramın həyat dövrü ərzində dəyişə biləcək verilənlər bazası bağlantısı parametrlərini və ya hər hansı dəyərləri sərt kodlaşdırmamalısınız.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION