JavaRush /בלוג Java /Random-HE /משתני ג'אווה וקבועים

משתני ג'אווה וקבועים

פורסם בקבוצה
כדי להבין את שפת Java, חשוב מאוד להבין את התחביר שלה. אחד מאבני הבניין המרכזיות והבסיסיות שלו הוא משתנים.

מהו משתנה ב-Java

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

הכרזה על משתנים ב-Java

בואו נסתכל על הדוגמה הזו:
int x = 9;
בואו נסתכל על מה שאנו רואים: int- סוג המשתנה שמתאר מספרים שלמים הנמצאים בטווח -2147483648 עד 2147483647 x- שם המשתנה (צריך להבחין ביניהם, נכון?) = סימן ההקצאה למשתנה כלשהו, ​​חלק value 9- הערך המיידי שלו הוא ;הסוף של הפקודה הזו. עכשיו בואו נחבר הכל ביחד: אנו מציינים שלמשתנה מסוג intעם שם xיש ערך 9. לדוגמא זו יש צורה מקוצרת, המלאה נראית כך:
int x;
x = 9;
בשורה הראשונה אנו רואים את ההכרזה על משתנה ומתן לו שם, כלומר בעזרת זה אנו אומרים ל-JVM להקצות מקום למשתנה int(4 בתים) ולתת לו שם x. בשני אנו נותנים לו את הערך 9. לפני כן, היה לו ערך ברירת מחדל, כלומר 0. כדאי לומר כמה מילים על מתן שמות למשתנים. בדרך כלל הם כתובים בסגנון גמל נמוך יותר. כלומר, למשל, אם יש לנו משתנה המתאר את מספר האנשים (ספירת האנשים), השם המתאים לו יהיה:
int countOfPeople;
בשם זה, המילה הראשונה מתחילה באות קטנה (קטנה), וכל מילה שלאחר מכן מתחילה באות גדולה (גדולה). זה נעשה כדי להקל על הקריאה של שמות אלה, שכן שמות משתנים מורכבים בדרך כלל מיותר ממילה אחת.

הגדרה מחדש של משתנים

נחזור לדוגמה של הצהרת המשתנה שלנו:
int x = 9;
אם נכניס פעם ערך למשתנה, זה לא אומר שבמהלך הפעלת התוכנית למשתנה xתמיד יהיה ערך 9. אנחנו יכולים לשכתב את זה:
x = 4;
הכל כמעט אותו דבר, אבל אנחנו כבר לא מוסיפים את הסוג ( int), כי הוא נרשם בעת הצהרת משתנה (מצהיר על קיומו). לאחר מכן, נשתמש בו רק מחדש, כמו למשל כאן אנו רואים אותו מוחלף (הגדרנו למשתנה שלנו ערך חדש, מחליפים את הישן). נניח שיש לנו גם משתנה:
int y = 7;
ולפי הגדרה: x = y; הערך הישן של המשתנה xיימחק, ויוחלף על ידי עותק של הערך y, כלומר - 7. אתה יכול גם להגדיר את הערך של משתנה אחר, המוגדל במספר שאנו צריכים:
x = y + 5;
מכיוון שהמשתנה שלנו yהיה שווה ל-7, התוצאה xתהיה שווה ל-12. יותר מעניינת היא היכולת לבצע את הפעולות האלה:
x = x + 6;
מה אנחנו רואים כאן? למשתנה xניתן ערך השווה לעבר המוגדל ב-6, כלומר הוא יהיה: 12 + 6 = 18. ניתן לקצר את אותה ערך על ידי השמטת x:
x =+ 6;

סוגי משתנים

אפליקציה ב-Java מורכבת ממחלקות ואובייקטים. בואו נסתכל מה הם משתני Java:
  • משתני אובייקט;
  • משתנים מקומיים;
  • משתני מחלקה.
משתנים פרימיטיביים בג'אווה וקבועים - 2כשיעור לדוגמה, ניקח את כיתת הכלבים בשיטת "נביחה":
public class Dog {
   public void bark() {
   }
}

משתני אובייקט

משתנים מוכרזים במחלקה, אך לא בשיטה, בנאי או בלוק.
public class Dog {
public  int value = 9;
   public void bark() {
   }
}
כדי לקרוא למשתנה הזה, עלינו ליצור תחילה אובייקט:
Dog dog = new Dog();
dog.value;
משתנים נוצרים רק לאחר יצירת האובייקט (כלומר, לאחר יצירת האובייקט באמצעות new). באובייקט, משתנים פנימיים תמיד גלויים לכל השיטות, הבנאים או כל דבר בתוך אותו אובייקט. כפי שהוזכר לעיל, למשתני אובייקט יש ערכי ברירת מחדל. עבור מספר, ערך ברירת המחדל הוא 0, עבור לוגי (בוליאני) - false, עבור הפניות לאובייקט - null.

משתנים מקומיים

משתנים אלו מוצהרים בשיטות, בנאים או בלוקים.
public class Dog {
   public void bark() {
   int value = 9;
   }
}
משתנים מקומיים קיימים רק בגוש הקוד הנקרא, שבסופו הם מוסרים מהזיכרון. הם גלויים רק בתוך השיטה, הבנאי או הבלוק המוצהרים. כלומר, לא ניתן להשתמש במשתנה, למשל, בשיטה אחרת. לא ניתן להשתמש בשינויי גישה עבור משתנים מקומיים. מה הטעם בהם אם המשתנה לא נראה מעבר לגבולות השיטה? סוג זה של משתנה נוצר כאשר מתודה (או בנאי, או בלוק) נקראת ונהרסת כשהיא מסתיימת.

משתני מחלקה

סוג זה של משתנה נקרא גם סטטי. הם מוכרזים עם מילה משנה static, אבל מחוץ לתחום של השיטה, הבנאי או הבלוק.
public class Dog {
public static  int value = 9;
   public void bark() {
   }
}
קרא למשתנה שלנו:
Dog.value
איפה Dogשם המחלקה שאליה המשתנה מחובר. ערך ברירת המחדל זהה לזה של משתני אובייקט. עבור מספרים ברירת המחדל היא 0, עבור בוליאני היא שקר; עבור הפניות לאובייקט - null. תמיד יש משתנה סטטי אחד, לא משנה כמה אובייקטים נוצרים מהמחלקה, כי הוא מחובר רק למחלקה. משתני מחלקה נוצרים כאשר תוכנית מתחילה ונהרסים כאשר התוכנית משלימה את הביצוע. משתנים סטטיים ב-Java משמשים לעתים קרובות כאשר הם מוכרזים כקבועים. בואו נדבר עליהם ביתר פירוט.

מה הם קבועים בג'אווה

קבוע הוא ערך נתון, קבוע שלא אמור להשתנות. מהם קבועים בתכנות? זהו ערך קבוע כלשהו שידוע לפני שהאפליקציה מתחילה לפעול, והוא מוגדר בקוד פעם אחת. ב-Java, קבועים הם משתנים המסומנים במילה מיוחדת - final:
final int VALUE = 54;
כאן אנו מקבלים משתנה שלא ניתן לשנות לאחר הגדרתו לערך כלשהו. הנקודה היא שקבועים הרבה יותר פשוטים ממשתנים. הם תמיד מוגדרים באופן ייחודי ולעולם אינם משתנים. קצת יותר גבוה דיברנו על מתן שמות למשתנים, וכדאי לשים לב למוזרויות של מתן שמות קבועים. במשתנים קבועים, כל המילים נכתבות באותיות רישיות, מופרדות בקו תחתון. _ לדוגמה, אנחנו צריכים קבוע שמתאר את הערך המקסימלי למשהו:
final int MAX_VALUE = 999;
אז לסיכום: משתנה מסופק לנו כמקום לאחסון הנתונים שלנו (או כתובת המיקום), המאפשר לנו לשלוט באפליקציה. למשתנים מסוג פרימיטיבי יש פורמט נתונים, גודל וטווח ערכים ספציפיים שניתן לאחסן בזיכרון. ניתן לחלק משתנים לפי מיקום: משתני אובייקט, מקומיים, מחלקות. יש סוג מיוחד של משתנים - קבועים, שיכולים להיות משתנים גלובליים. ההיקף שלהם הוא כל התוכנית.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION