שאלה בJAVA

ahillel

New member
שאלה בJAVA

אם אני בתוך פונקציה עושה RETURN, זה מחזיר את הערך וגם יוצא ממנה? כלומר לא ממשיך הלאה במידה ויש עוד קוד בהמשך?
 

adiel666

New member
אני בעצמי החלטתי ללמוד עכשיו JAVA

עם דגש על Java.applet בשביל ליצור משחקים שיופעלו דרך הIE. אני עדין מתפלא מכמה שזה דומה לC#....(או יותר נכון C# דומה לזה). שפה קלה להפליא. בכל אופן, Return יוציא אותך מהפונקציה ויחזיר את הערך- בדיוק איפה שהוא רשום(לא ימשיך שורות קדימה). יש משהו יעיל שיש בC# ואין בJAVA וזה הyield return, אם אתה מכיר.
 

adiel666

New member
yield return

yield return - משתמשים בזה כשעושים איטרציה על אוסף כלשהו, וזה מאפשר להחזיר בכל cycle של הלולאה איבר באוסף או כל דבר אחר שקשור לאותו הiterator, לדוגמא:
foreach(worker w in workers) { yield return w; }​
יחזיר כל עובד, אחד אחרי השני(הלולאה לא תסיים את תפקידה בreturn הזה, אלא תתחיל מהתחלה עם קידום w לworker הבא באוסף). על JAVA3D בנו את Runescape לא?
 

ahillel

New member
אה זה כמו לולאת FOR בשפות אחרות

באמת מוזר שאין את זה בJAVA.
 

IdleThought

New member
זה בדיוק מה שעדיאל רשם

הלולאה FOR שאתה מכיר אומרת "צור משתנה ואתחל את ערכו ,המשך כל עוד תנאי לוגי כלשהו מתקיים , בצע פעולה שלאחרי איטרציה-לרוב הגדלת מונה" FOREACH אומר "טייל על האיברים מסוג WORKER בתוך מבנה WORKERS ,ובעבור כל אחד מהם... " זה אומר דברים שונים למרות שיש חפיפה מסויימת בפונקציונאליות for each קיים גם ב VB ומשמש כמו בשאר השפות לעבודה עם אוספים לולאות for קיימות בכל שפה שעוצבה בהשראת C (ע"ע סוגריים מסולסלות)
 

adiel666

New member
Foreach אפילו קיים במסמכי XSLT שמגדירים

חוקי המרה בין קבצי XML. וכמובן שזה קיים בVB, מכיוון והיא שייכת ל.NET וכל מה שיש בC# דוגאים להכניס גם לה. בC++ היינו עושים את זה אחרת, רשמתי פה באחד הTHREADS הקודמים איך, אבל אין לי כח לרשום את זה שוב -_-. חזרה לJava, יש לי מזל רציני עם השפה הזאת, מישהו יצר את כל הAPI של ספריית הרשת של MMF2 - בשם MooApi לJava לפני 3 שנים וזה עובד מעולה באינטרקציה בין שרת-לקוח שנבנו בMMF וJAVA עם הספריות הללו. עכשיו אני עובד על להמיר את המשחק שלנו לJava Applet (מכיוון והתגלה שהוא יעבוד רק כEXE בגלל מגבלות בתוסף הVitalize של החברה שמלא בבאגים ולא בסדר העדיפויות שלהם לתקן - לא נוכל להריץ את המשחק שנבנה בMMF דרך הדפדפן כי הוא יקרוס). למזלי השרת(רוב העבודה) כבר קיים ונבנה בMMF, אני רק צריך לבנות את הClient בJava עם MooJava כך שהוא יתקשר עימו כמו שצריך. עכשיו, זה רק אצלי או שגם אצלכם הGUI ה"חדש" של Java איטי רצח(Swing)?
 

voguemaster

New member
יש יותר משיטה אחת לבצע DEPLOYMENT מהרשת

לצורך העניין, אם אתה רוצה להעביר CLIENT של משחק אל השחקן דרך ה-WEB, ואותו קליינט כתוב בג'אווה אתה יכול להשתמש ב-JAVA WEB START. זו אפליקצית ג'אווה לכל דבר ועניין, *לא* APPLET. היא רצה ב-PROCESS משל עצמה ולא כחלק מהדפדפן ומבחינת אבטחה היא נתונה ל-SANDBOX הרגיל של אפליקציות ג'אווה. עדיף באופן כמעט תמידי להשתמש ב-JWS בגלל שבתוך מגבלות הדפדפן יש בעיות מעניינות שצצות לגבי הקצאות זיכרון, פרגמנטציה של זיכרון (ה-JVM משתמש בבלוק זיכרון רציף שלא תמיד יש אפשרות להקצות אותו, וכד') ועוד כל מיני דברים משעשעים... לגבי SWING - קודם כל, כן הוא קצת כבד. צריך לדעת לעבוד איתו טוב כדי לקבל תוצאות אופטימליות אבל בלי יותר מדי ידע אפשר להגיע לתוצאות סבירות. אם עובדים איתו נכון אין בעיות לכתוב דברים מורכבים אפילו (אני כתבתי את סופר טקטיקו בג'אווה לגמרי
). ד"א, מניסיון של מישהו שעבד עם ג'אווה הרבה וגם עם #C אני יכול להעיד שלמרות ש-SWING כבד הוא פי 1000 יותר מוצלח מ-WINFORMS. ואם זה כבד לך מדי אתה יכול לעבוד עם SWT שזו ספרית צד שלישי לקומפוננטות UI אבל מוצלחת ויחסית קלה (AZUREUS משתמשת בה)
 
למעלה