כפי שהשם מרמז, א קָבוּעַ היא ישות בתכנות שאינה ניתנת לשינוי. במילים אחרות, הערך שלא ניתן לשנות. בחלק זה נלמד על קבוע Java ו כיצד להכריז על קבוע ב-Java .
מה קבוע?
קָבוּעַ הוא ערך שלא ניתן לשנות לאחר הקצאתו. Java אינה תומכת ישירות בקבועים. ישנה דרך חלופית להגדיר את הקבועים ב-Java על ידי שימוש במתני ללא גישה סטטי וסופי.
כיצד להכריז על קבוע בג'אווה?
ב Java , כדי להכריז על כל משתנה כקבוע, אנו משתמשים סטָטִי ו סופי משנים. זה ידוע גם בשם אי גישה משנים. על פי מוסכמות השמות של Java שם המזהה חייב להיות ב אותיות גדולות .
משנים סטטיים וסופיים
- המטרה להשתמש בשינוי הסטטי היא לנהל את הזיכרון.
- זה גם מאפשר למשתנה להיות זמין מבלי לטעון אף מופע של המחלקה שבה הוא מוגדר.
- השינוי הסופי מייצג שלא ניתן לשנות את הערך של המשתנה. זה גם הופך את סוג הנתונים הפרימיטיבי לבלתי ניתן לשינוי או בלתי ניתן לשינוי.
התחביר להכריז על קבוע הוא כדלקמן:
טופולוגיות רשת
static final datatype identifier_name=value;
לדוגמה, מחיר הוא משתנה שאנו רוצים להפוך קבוע.
static final double PRICE=432.78;
כאשר סטטי וסופי הם המשתנים ללא גישה. הכפול הוא סוג הנתונים ו-PRICE הוא שם המזהה שבו מוקצה הערך 432.78.
בהצהרה לעיל, ה סטָטִי modifier גורם למשתנה להיות זמין מבלי שנטען מופע של המחלקה המגדירה שלו וה- סופי שינוי הופך את המשתנה לקבוע.
כאן עולה שאלה ש מדוע אנו משתמשים במתנים סטטיים וסופיים כדי להכריז על קבוע?
mysql הצג את כל המשתמשים
אם נכריז על משתנה בתור סטָטִי , כל האובייקטים של המחלקה (בה מוגדר קבוע) יוכלו לגשת למשתנה וניתן לשנות את ערכו. כדי להתגבר על בעיה זו, אנו משתמשים ב- סופי משנה עם משנה סטטי.
כאשר המשתנה המוגדר כ סופי , המופעים המרובים של אותו ערך קבוע יווצרו עבור כל אובייקט אחר שאינו רצוי.
כאשר אנו משתמשים סטָטִי ו סופי משתנים יחד, המשתנה נשאר סטטי וניתן לאתחל פעם אחת. לכן, כדי להכריז על משתנה כקבוע, אנו משתמשים במתנים סטטיים וסופיים כאחד. הוא חולק מיקום זיכרון משותף לכל האובייקטים במחלקה המכילה אותו.
.06 כשבר
מדוע אנו משתמשים בקבועים?
השימוש בקבועים בתכנות הופך את התוכנית לקלה ומובנת אותה ניתן להבין בקלות על ידי אחרים. זה גם משפיע על הביצועים מכיוון שמשתנה קבוע נשמר במטמון גם ב-JVM וגם באפליקציה.
נקודות לזכור:
- כתוב את שם המזהה באותיות גדולות שאנו רוצים להצהיר כקבוע. לדוגמה, MAX=12 .
- אם נשתמש ב פְּרָטִי access-specifier לפני שם הקבוע, לא ניתן לשנות את הערך של הקבוע במחלקה המסוימת הזו.
- אם נשתמש ב פּוּמְבֵּי access-specifier לפני שם הקבוע, ניתן לשנות את הערך של הקבוע בתוכנית.
בואו נראה כמה דוגמאות שבהן השתמשנו בקבועים.
דוגמה 1: הכרזת Constant כפרטי
ConstantExample1.java
import java.util.Scanner; public class ConstantExample1 { //declaring constant private static final double PRICE=234.90; public static void main(String[] args) { int unit; double total_bill; System.out.print('Enter the number of units you have used: '); Scanner sc=new Scanner(System.in); unit=sc.nextInt(); total_bill=PRICE*unit; System.out.println('The total amount you have to deposit is: '+total_bill); } }
תְפוּקָה:
דוגמה 2:
ConstantExample2.java
Java while condition
public class ConstantExample2 { private static final double PRICE=2999; public static void main(String[] args) { System.out.println('Old Price of Iron: '+PRICE); ConstantExample obj = new ConstantExample(); obj.showPrice(); } } class ConstantExample { private static final double PRICE=3599; void showPrice() { System.out.print('New Price of Iron: '+PRICE); } }
תְפוּקָה:
דוגמה 3: הכרזת קבוע כציבורי
בדוגמה הבאה, הכרזנו על PI קבוע כציבורי. בתוך שיטת main() הקצינו 3.15 בקבוע PI. לאחר מכן, הפעלנו את שיטת printValue() . כאשר אנו מפעילים את התוכנית, היא מראה ששגיאה לא יכולה להקצות א ערך למשתנה הסופי PI .
ConstantExample3.java
public class ConstantExample3 { //declaring PI as constant public static final double PI= 3.14; public static void main(String[] args) { printValue(); //trying to assign 3.15 in the constant PI PI = 3.15; printValue(); } void printValue() { System.out.print('The value of PI cannot be changed to ' + PI); } }
תְפוּקָה:
שימוש בספירה (Enum) בתור קבוע
- זה זהה למשתנים הסופיים.
- זוהי רשימה של קבועים.
- Java מספקת את enum מילת מפתח כדי להגדיר את הספירה.
- הוא מגדיר סוג מחלקה על ידי ביצוע ספירה במחלקה שעשויה להכיל משתני מופע, שיטות ובנאים.
דוגמה לספירה
public class EnumExample { //defining the enum public enum Color {Red, Green, Blue, Purple, Black, White, Pink, Gray} public static void main(String[] args) { //traversing the enum for (Color c : Color.values()) System.out.println(c); } }
תְפוּקָה: