בשלב יצירת האפליקציה, המפתח, ככלל, יודע רק את המבנה שלה ואינו מניח אילו נתונים הוא יעבד. עם זאת, במצבים מסוימים, עליך לציין במפורש נתונים מסוימים בקוד התוכנית (לדוגמה, מספר האיטרציות או ההודעה שיש לפלט). במקרה זה, מילוליים באים להצלה. תוֹכֶן:
- מה הם מילוליים
- סוגי מילים ושימושיהם
- מילוליות מספריות
- מילולי מחרוזת
- מילולי אופי
- מילים בוליאניות
- טכניקת ג'די עם מילים
- מילוליות בקורס JavaRush
- סיכום
מה הם מילוליים?
מילוליות הם ערכים שצוינו במפורש בקוד התוכנית - קבועים מסוג מסוים שנמצאים בקוד בזמן ההשקה.class Test {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
בשיעור זה "שלום עולם!" - מילולית. מילוליות מגיעות בסוגים שונים, הנקבעים על פי מטרתם ואופן הכתיבה.
סוגי מילים ושימושיהם
כל המילולים הם ערכים פרימיטיביים (מחרוזות, מספרים, תווים, בוליאנים). אתה לא יכול ליצור אובייקט מילולי. המילולי היחיד הקשור לאובייקט הואnull
. על פי הפרימיטיבים, המילולים מחולקים גם לחלקים:
- מספרי:
- מספרים שלמים;
- נקודה צפה;
- חוּט;
- אופי;
- מגניב מוח.
מילוליות מספריות
מילים שלמים
סוג זה של מילולי הוא הפשוט ביותר. מספרים נכתבים בצורתם הסטנדרטית ללא ציון תווים או כל דבר אחר. כל מספר שלם הוא מספר שלם מילולי כברירת מחדל. כלומר, ניתן להגדיר במפורש את הערך של משתנה או את מספר האיטרציות בלולאה. Java תומך ב-4 מערכות מספרים:- בינארי
- אוקטל
- נקודה
- הקסדצימלי
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);
}
פלט: מספר a במערכת בינארית: 854 מספר b במערכת אוקטלית: 5324 מספר c במערכת עשרונית: 456 מספר d במערכת הקסדצימלית: 1318162 למרות העובדה שמספרים מצוינים במערכות מספרים שונות, בתוכנית הם מעובדים כעשרוניים מספרים. חריגה מהערכים תגרום לשגיאת קומפילציה:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
כאשר אנו מריצים בשלב הקומפילציה, אנו מקבלים את התוצאה הבאה:
Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
מה לגבי הקלדה? לכל מילולית מספר שלם יש סוג ברירת מחדל של int
. אם הערך שלו נמצא מחוץ לגבולות המשתנה המוקצה, מתרחשת שגיאת קומפילציה. בעת שימוש בסוג, long
עליך לשים סמל בסוף L
המציין את הסוג הזה:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
מנסה לקמפל תוצאות בשגיאה הבאה:
Error(11, 26) java: integer number too large: 1101010110
מילולי נקודה צפה
ניתן לכתוב מספרי נקודה צפה, או מספרים שברים, בשתי דרכים. הראשון הוא כשבר עשרוני קלאסי: 3.14159 או 2.718281282459045. השני הוא בצורה מדעית, כלומר, שבר עשרוני רגיל בתוספת סיומת בצורת הסמל e או E וחזקת 10 שבה יש להכפיל את השבר שצוין. לדוגמה, 4.05E-13, זה אומר 4.05 * 10 -13 .double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
פלט: סוג כפול קלאסי: 2.718281828459045 סוג כפול מדעי: 4.05E-13 שלא כמו מספרים שלמים ומערכות מספרים, התווים המדעיים מאוחסנים במשתנה ומעובדים באותו אופן כמו התווים הקלאסי. מה לגבי הקלדה? כל מספר נקודה צפה יוצר סוג double
. אם אתה חייב להשתמש בסוג float
, עליך להוסיף f
או בסוף F
. במקרה זה double
הוא יופחת לסוג float
. זה לא קורה אוטומטית:
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
כאשר מתחילים בשלב הקומפילציה אנו רואים את השגיאה הבאה:
Error:(11, 27) java: incompatible types: possible lossy conversion from double to float
מילולי מחרוזת
מילולי מחרוזת הם קבוצה של תווים המוקפים במירכאות כפולות. סוג זה משמש לעתים קרובות כמו מילוליות מספריות. השורה עשויה להכיל גם תווי שירות שצריך לבצע אסקייפ (מה שנקרא רצפי בריחה). דוגמא:String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
פלט: זוהי מחרוזת רגילה. סטנדרטי ולא ראוי לציון כמו כולנו. וזו "שורה" יוצאת דופן. ולו רק בגלל שחלק מה"מילים" שבו נמצאות ב"מרכאות".
מילולי אופי
מילות תווים ב-Java מיוצגות על ידי ערכת התווים של Unicode, כלומר, כל תו הוא ערך של 16 סיביות. כדי לציין סמל בקוד, הוא מופרד במרכאות בודדות. בהתבסס על ניסיון, ישנם שני סוגים של סמלים:- אלה שניתן להזין מהמקלדת הם תווים רגילים;
- סמלים שלא ניתן פשוט להזין מהמקלדת (סמלים של שפות שונות, צורות וכו').
,
' או ' @
'. אם תו הוא תו שירות (לדוגמה, מעבר שורה או טאב), תו כזה חייב להיות עם קו נטוי אחורי. ניתן לציין תווים שלא ניתן פשוט להזין מהמסוף בצורת 16 סיביות שלהם. לשם כך, עליך לציין את קוד התו עם קידומת \u
, למשל ' \u00F7
'. אתה יכול גם לציין תווים בסגנון אוקטלי (מספר בן שלוש ספרות) פשוט על ידי הוספת קו נטוי אחורי בהתחלה, למשל ' \122
'. לדעתי, זה הרבה יותר קל לשימוש \u
. דוגמה לשימוש:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
פלט: אמפרסנד - וסמל חלוקה - ÷
מילים בוליאניות
המילולי הפשוט ביותר הוא הגיוני. ישנם רק 2 ערכים:false
ו true
, אשר מצוינים במפורש ללא סמלים שונים. מילוליות כאלה ניתן להקצות למשתנים מסוג בוליאני או לציין במקום בו צפוי סוג בוליאני (לדוגמה, בבלוק if, למרות שנוהג זה נחשב לנימוסים גרועים, בלשון המעטה).
boolean flag = false;
if(true) {
// Действия будут выполняться всегда.
}
טכניקת ג'די עם מילים
הודות לסמלים ב-Java, אתה יכול לעשות הרבה דברים מעניינים, כולל ניהול אימוג'ים. לדוגמה, בואו נציג פנים מחייכות:int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
מסקנה: פרצוף מחייך: 😀 למרות שתצוגת האימוג'י יכולה להיות מצמררת (תלוי ביישום), הפתרון הזה עושה את העבודה היטב. עם זאת, קשה לחפש את האימוג'י הרצוי בטבלת הקידוד הסטנדרטית; קטע האמוטיקון באתר הרשמי דליל. הרבה יותר קל להשתמש בספריות נוספות.
GO TO FULL VERSION