JavaRush /בלוג Java /Random-HE /מילוליות בג'אווה

מילוליות בג'אווה

פורסם בקבוצה
בשלב יצירת האפליקציה, המפתח, ככלל, יודע רק את המבנה שלה ואינו מניח אילו נתונים הוא יעבד. עם זאת, במצבים מסוימים, עליך לציין במפורש נתונים מסוימים בקוד התוכנית (לדוגמה, מספר האיטרציות או ההודעה שיש לפלט). במקרה זה, מילוליים באים להצלה. תוֹכֶן:

מה הם מילוליים?

מילוליות הם ערכים שצוינו במפורש בקוד התוכנית - קבועים מסוג מסוים שנמצאים בקוד בזמן ההשקה.
class Test {
   public static void main(String[] args) {
       System.out.println("Hello world!");
   }
}
בשיעור זה "שלום עולם!" - מילולית. מילוליות מגיעות בסוגים שונים, הנקבעים על פי מטרתם ואופן הכתיבה.

סוגי מילים ושימושיהם

כל המילולים הם ערכים פרימיטיביים (מחרוזות, מספרים, תווים, בוליאנים). אתה לא יכול ליצור אובייקט מילולי. המילולי היחיד הקשור לאובייקט הוא null. על פי הפרימיטיבים, המילולים מחולקים גם לחלקים:
  1. מספרי:
    • מספרים שלמים;
    • נקודה צפה;
  2. חוּט;
  3. אופי;
  4. מגניב מוח.

מילוליות מספריות

מילים שלמים

סוג זה של מילולי הוא הפשוט ביותר. מספרים נכתבים בצורתם הסטנדרטית ללא ציון תווים או כל דבר אחר. כל מספר שלם הוא מספר שלם מילולי כברירת מחדל. כלומר, ניתן להגדיר במפורש את הערך של משתנה או את מספר האיטרציות בלולאה. Java תומך ב-4 מערכות מספרים:
  • בינארי
  • אוקטל
  • נקודה
  • הקסדצימלי
JDK 7 הציג את היכולת לכתוב ערכים בינאריים . זה נעשה באמצעות הקידומת 0b או 0B . לאחר מכן מגיע כתיבה באמצעות 0 ו-1. מספרים באוקטאל נכתבים באמצעות 0 מוביל. ספרות חוקיות הן 0 עד 7. כתיבת 09 או 08 תגרום לשגיאת קומפילציה. אין בעיות במערכת המספרים העשרוניים : המספרים מצוינים בצורה שאנו מכירים. המגבלה היחידה היא שהמספר לא יכול להתחיל ב-0, מכיוון שהמהדר ייקח אותו כאוקטלי. מספרים בהקסדצימליים נכתבים באמצעות הקידומות 0x ו-0X. מספרים חוקיים הם מ-0 עד 15, כאשר המספרים 10-15 מסומנים באמצעות סמלי AF בהתאמה.
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 סיביות. כדי לציין סמל בקוד, הוא מופרד במרכאות בודדות. בהתבסס על ניסיון, ישנם שני סוגים של סמלים:
  1. אלה שניתן להזין מהמקלדת הם תווים רגילים;
  2. סמלים שלא ניתן פשוט להזין מהמקלדת (סמלים של שפות שונות, צורות וכו').
ניתן לציין תווים רגילים במפורש: ' ,' או ' @'. אם תו הוא תו שירות (לדוגמה, מעבר שורה או טאב), תו כזה חייב להיות עם קו נטוי אחורי. ניתן לציין תווים שלא ניתן פשוט להזין מהמסוף בצורת 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()); // Выводим
מסקנה: פרצוף מחייך: 😀 למרות שתצוגת האימוג'י יכולה להיות מצמררת (תלוי ביישום), הפתרון הזה עושה את העבודה היטב. עם זאת, קשה לחפש את האימוג'י הרצוי בטבלת הקידוד הסטנדרטית; קטע האמוטיקון באתר הרשמי דליל. הרבה יותר קל להשתמש בספריות נוספות.

מילוליות בקורס JavaRush

בקורס JavaRush, מילוליות נלמדות ברמה 10 בהרצאה 8 של קורס Java תחביר , שם דוגמאות מסבירות מהן מילוליות ולמה הן נחוצות. JavaRush הוא קורס מקוון לתכנות Java עם דגש על תרגול: 1200+ משימות עם אימות מיידי, מיני פרויקטים, משחקים.

סיכום

מילוליות ב-Java הם דבר נוח בכל תוכנה, אבל יש להשתמש בהם באותם מקומות שבהם זה מתאים. אין לקודד קשיח פרמטרים של חיבור מסד נתונים או ערכים כלשהם שעלולים להשתנות במהלך מחזור החיים של התוכנית בקוד המקור.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION