[שאלה של מתחילים ב- java] - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

[שאלה של מתחילים ב- java]


evyatar813

Recommended Posts

אהלן =] התחלתי בג'אווה... עד עכשיו למדתי PHP והיה סבבה אבל הגיע הזמן למשהו יותר רציני (בלי לזלזל ב- PHP כמובן - שמה עומד לפניה חח ).

בכל מקרה... יש נגיד קוד 1:


int num1 , num2;
float avg;
num1 = 2;
num2 = 5;
avg = num1 + num2;
avg = avg / 2;

לעומד זאת יש את הקוד המקוצר


int num1 = 2 , num2 = 5;
float avg = (num1 + num2) / 2.0F;

מישהו יכול להסביר לי למה צריך לחלק ב- 2.0 עם הסימן F..? כאילו אני מבין למה באמת מבין את הקטע של 2.0 כדי שלא יתחלק בלי שארית ואת ה- F כדי כדי שלא יתן שגיאה כי המחשב יחשוב שמדובר בטיפוס duble אבל למה לעזאזל לא עשינו את זה בקוד 1? ולמה בקוד 1 חלוקה ב- 2 רגיל נותנת שארית עדיין בלי הוספת תוספות? תודה !

קישור לתוכן
שתף באתרים אחרים

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

בקוד השני אתה מחלק מספר שלם ב2. כדי שהתוכנית תדע שאתה רוצה לקבל גם את החלק השלם אתה צריך "להמיר" (cast) את אחד מהגורמים למסתנה מסוג float.

במיקרה שלך ביצעו casting למכנה - 2.0f כאשר הf מציין שזה משתנה מסוג float.

באותה מידה יכלת לכתוב:

float avg = ((float) num1 + num2) / 2;

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...