הקצאה והזנת נתונים
הוצג| English | משמעות |
|---|---|
| assignment statement/əˈsaɪnmənt ˈsteɪtmənt/ | פקודת הצבה |
פקודת ההערכה
- פקודת הערכה מכניסה ערך לתוך משתנה:
x = 5; - ה-
=הבודד פירושו "אחסן בתוך", ולא "שווה ל". - Java מעריכה תחילה את הצד הימני, ואז מאחסנת את התוצאה במשתנה בצד שמאל.
- ה-
count = count + 1;קורא את ה-countהישן, מוסיף לו1, ומאחסן את התוצאה חזרה.
זרימה מימין לשמאל
- חשבו על ה-
=כחץ pointing שמאלה:total ← price * qty. - המשתנה בצד שמאל חייב להיות כבר מוגדר (עם סוג).
- הערכה מאוחרת תחליף את הערך הישן — הקופסה מכילה רק את החדש ביותר.
- ניתן להגדיר ולהעריך בשורה אחת:
int x = 5;
קריאת קלט באמצעות Scanner
- לקרוא קלט מהמשתמש, Java משתמשת ב**
Scanner** הקשור לSystem.in. Scanner sc = new Scanner(System.in);יוצר אותו.sc.nextInt()קוראint;sc.nextDouble()קוראdouble;sc.next()קורא מילה אחת.- לאחסן את מה שקראת במשתנה:
int age = sc.nextInt();
התאמת הקריאה לסוג
- השתמש בשיטת הקריאה המתאימה לסוג שמצפוי.
nextInt()למספרים שלמים,nextDouble()לערכים עשרוניים,nextLine()לשורה שלמה.- חוסר התאמה (למשל, שימוש ב-
nextInt()על הטקסט "hello") גורם לשגיאת ריצה. - קרא לתוך משתנה בעל סוג נכון כדי שהיתר הקוד יעבוד.
= הוא העברה, לא שוויון — והזרימה היא מימין לשמאל. x = x + 1 אינו סתירה; הוא מחשב x + 1 ואחסן אותה בחזרה ב-x. (בדיקת שוויון מאוחרת משתמשת ב-==, אופרטור שונה.) עם Scanner, התאם את השיטה לסוג: nextInt() קורא מספר שלם, וקריאת לא-מספר גורמת לשגיאת ריצה.
קריעה ועדכון של תוצאה:
int score = sc.nextInt();→scoreמקבל כל מספר שהמשתמש הקליד.score = score + 10;→ צד ימיןscore + 10מחושב, ואז מאוחסן בחזרה.- אם המשתמש הקליד
40, כעתscoreהוא50.
ביטוי העברה x = value; מעריך את צד ימין קודם, ואז אוסכן אותו במשתנה השמאלי (= הוא "אחסון בתוך", לא שוויון). קרא קלט באמצעות Scanner: nextInt(), nextDouble(), או next()/nextLine() — התאם את השיטה לסוג שמצפוי.
תחילה צד ימין, ואז אחסון
כל הקצה מעריך את הצד הימני, ואז מחליף את תוכן התיבה.
ב-Java, סימן = בודד פירושו...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
= היא הפקדה; == בודקת שוויון.
אם score הוא 40, אז score = score + 10; מתבצע. מה ערך score כעת?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
הצד הימני 40+10 = 50 מוחזר ומופקד בחזרה ל-score.
איזה שיטת Scanner קורא מס שלם?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
nextInt() קורא int; nextDouble() קורא מס עשרוני.
Java מערכבת את הצד הימני של הפקדה לפני האחסון במשתנה השמאלי.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הצד הימני תחילה, ואז האחסון — כך עובד x = x + 1.
הקריאה ל-nextInt() כאשר המשתמש מקליד את המילה 'hello' גורמת לשגיאת ריצה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
השיטה מצפה ל-int; הטקסט אינו תואם אותו.