אופרטור מודולו
חלק מהיחידה יסודות במסלול ה-Java של Coddy. שיעור 16 מתוך 73.
אופרטור המודולו % מחזיר את השארית של חילוק. ב-Java משתמשים בו בתחביר פשוט:
result = dividend % divisor;- dividend: המספר שמחלקים.
- divisor: המספר שבו מחלקים את המחולק.
- result: השארית של החלוקה.
לדוגמה:
result = 10 % 3;כאן, 10 מחולק ב־3. 3 נכנס ב־10 שלוש פעמים, עם שארית של 1. לכן, result יהיה 1.
מה אם המחולק קטן יותר מהמחלק? במקרה כזה, המחלק נכנס 0 פעמים, ולכן השארית היא פשוט המחולק עצמו. לדוגמה, 2 % 3 שווה ל־2, כי 3 נכנס ב־2 אפס פעמים ונשארת שארית של 2.
בדרך כלל משתמשים בפעולת מודולו כדי לבדוק אם מספר הוא זוגי או אי־זוגי:
- אם מספר זוגי, חלוקה שלו ב־2 תשאיר שארית 0.
- אם מספר אי־זוגי, חלוקה שלו ב־2 תשאיר שארית 1.
בעת שימוש במודולו עם מספרים בנקודה צפה (מספרי double), הוא פועל בדומה למספרים שלמים, אך שומר על הדיוק העשרוני. לדוגמה:
double result = 5.5 % 2.0;
// הערך של result הוא 1.5כך זה עובד: 2.0 נכנס ב-5.5 פעמיים (4.0), והשארית היא 1.5 (5.5 - 4.0 = 1.5).
הערה: ערכי double נשמרים בקירוב, ולכן שאריות מסוימות יודפסו עם שגיאה זעירה. לדוגמה, 5.2 % 2.0 מדפיס 1.2000000000000002 במקום 1.2. זו התנהגות רגילה של נקודה צפה, ולא טעות בקוד שלך.
דוגמה נוספת:
double result = 7.5 % 3.5;
// הערך של result הוא 0.5אתגר
מתחיליםכתבו קוד שמאתחל שלושה משתנים, a (int), b (double) ו־c (int) עם הערכים 9, 2.6 ו־11 (בהתאמה).
לאחר מכן, אתחלו את המשתנים הבאים:
d (int)שיחזיק את תוצאת פעולת המודולו שלaב־2e (int)שיחזיק את תוצאת פעולת המודולו שלaב־3f (double)שיחזיק את תוצאת פעולת המודולו שלbב־1.5g (double)שיחזיק את תוצאת פעולת המודולו שלbב־3.9h (int)שיחזיק את תוצאת פעולת המודולו שלcב־10
בדקו את התוצאה וראו כיצד מחולקים ומחלקים שונים משפיעים עליה.
נסו בעצמכם
public class Main {
public static void main(String[] args) {
// הקלידו את הקוד שלכם למטה
// אל תשנו את השורה למטה
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
System.out.println("h = " + h);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר מכןקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזות5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום - לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 4תרגלו בעצמכם: קומפיילר Java אונליין