JavaRush /בלוג Java /Random-HE /הבעיות הנפוצות ביותר של אלה שמתחילים ללמוד ג'אווה

הבעיות הנפוצות ביותר של אלה שמתחילים ללמוד ג'אווה

פורסם בקבוצה
רמת הידע הנדרשת להבנת המאמר: מתחיל. אתה בתהליך של לימוד קווסט של Java Syntax, וקרוב יותר לרמות הראשוניות שלו. הבעיות הנפוצות ביותר של אלה שמתחילים ללמוד ג'אווה - 1זה עתה התחלת ללמוד ג'אווה. אתה מופגז במונחים כאילו מתוך שפע. אתה עמוס בטונות של מידע טכני, ולפעמים אתה מתבלבל בשלושה אורנים. תאמיני לי, מכיוון שכבר התעסקת בתכנות, זה תמיד יהיה כך (ברגע זה, צחוק מבשר רעות נשמע מחוץ למסך, וקול שקט, חתוך באמצע המשפט, לוחש "רוץ... תציל את עצמך לפני זה מאוחר מדי..."). באגים ירדפו אותך לשארית חיי התכנות שלך, גם אם אתה המפתח הטוב ביותר. עם זאת, זה בכלל לא מפחיד כמו שזה נשמע.
אם זה עתה התחלת ללמוד JavaRush, סביר להניח שכבר נתקלת בבעיות שהועלו במאמר. בכל מקרה, נשמח לקבל הערות המתארות את הבעיות שהיו לך בחודשים הראשונים של לימוד Java.

בעיה ברמה 0: בלבול עם אופרטור ההשוואה (==) ואופרטור ההקצאה (=).

זו בעיה נפוצה מאוד למי שעובר משפות תכנות אחרות. ובכלל, מאז בית הספר היסודי התרגלנו לזה (=)שזה סימן שוויון. טריק פשוט שניתן להשתמש בו כדי לזכור הוא זה: אם אתה יודע שאכפת לך רק מאחד מהערכים (אתה מקצה אחד לשני) אתה משתמש בסימן " =" בודד, אחרת אם אכפת לך מכל המשתנים וערכים (אתה משווה אותם) אתה צריך ==סימן כפול.

בעיה: שימוש באופרטור ההשוואה (==) לבדיקת שוויון מחרוזות

מה לעשות: זכור, לא ניתן לבדוק שוויון אובייקטים של Java באמצעות(==) , שכן אופרטור זה נועד לבדוק שוויון של טיפוסים פרימיטיביים.
הבעיות הנפוצות ביותר של אלה שמתחילים ללמוד ג'אווה - 2
עבור חפצים אתה צריך להשתמש ב- .equals(). ובשפת Stringג'אווה זה לא יותר מאובייקט (ו immutable).
אובייקט המסומן בתור Immutable הוא אובייקט שלא ניתן לשנות את מצבו לאחר היצירה. ב- Java , זה אומר שכל שדות המופע של מחלקה מסומנים כ- finalוהם פרימיטיביים (או גם immutable).

בעיה: שרשרת מחרוזת בלולאה

אל תנסה את זה בעצמך! בכל פעם שמשרשרים מחרוזות, נוצר אובייקט חדש String(כפי שגילינו למעלה, מחרוזות immutableאינן ניתנות לשינוי). בשלב מסוים יגמר לך הזיכרון או שהתוכנית תתחיל לקחת יותר מדי זמן להשלים. פִּתָרוֹן. השתמש StringBuilderבמקום זאת Stringבעת שרשרת תוכן בלולאה. המחלקה StringBuilderמשמשת כאשר אתה צריך לבצע הרבה שינויים במחרוזת תווים. ושורות כאלה, שלא כמו String, אינן immutable.

בעיה: NullPointerException

חריג מסוג זה מתרחש כאשר אנו מנסים להשתמש במצביע null nullכאשר למעשה אנו זקוקים לאובייקט אמיתי.
לכל הסוגים הפרימיטיביים יש ערכי ברירת מחדל. אז y intהוא 0ו- y booleanהוא false. ערך ברירת המחדל של כל סוגי הפניות, כלומר אובייקטים, הוא null. זה לא חפץ או טיפוס, זה ערך מיוחד. מה שפירושו בעצם "אין כאן כלום".
הבעיות הנפוצות ביותר של אלה שמתחילים ללמוד ג'אווה - 3
מה לעשות: אם הקוד שלך כתוב בצורה כזו שבשלב מסוים האובייקט שלך יכול לקבל את הערך null, עליך להוסיף "בדוק עבור null", במיוחד אם אתה לא יוצר את האובייקט בעצמך. זכור גם שעדיף להחזיר אוספים ריקים מאשר סט של null. זה יהיה גם נחמד להוסיף אימות עבור getters ו-seters.

בעיה: משום מה הלולאה if / while / for לא עובדת

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
מה לא בסדר כאן? זה פשוט: נקודה-פסיק קלקלה את דמם של מאות אלפי מתכנתי ג'אווה מתחילים. ובכן, אתה לא צריך את זה אחרי if (). מנקודת מבט של שפה, תחביר כזה הוא די מקובל, כך שהמהדר לא יתלונן על כך. אבל זה מסיים את ההצהרה המותנית, והקוד בתוך הבלוק {}לעולם לא יעמוד בתנאי שלמעלה.
הבעיות הנפוצות ביותר של אלה שמתחילים ללמוד ג'אווה - 4
פתרון: זכור את ההיגיון העיצובי. הסימן " ;" פירושו סוף בלוק מסוים, אבל כאן הכל רק מתחיל.

בעיה: ניסיון לגשת למשתני חבר לא סטטיים משיטות סטטיות (כגון ראשי)

פתרון . בעיה זו קשורה להבנת המושג עצמו static. אם מתודה מסומנת במילה זו, זה אומר שאנחנו לא צריכים להפעיל את המחלקה כדי לקרוא למתודה הראשית. אז הפתרון הוא להבין טוב את ה"סטטיקה" ולהבין את המהות שלהם.

בעיה: ניסיון להמציא את הגלגל מחדש על ידי פיתוח ספריות וכלים שכבר קיימים

פִּתָרוֹן. למעשה זו לא כל כך בעיה. למתחילים, זה יותר תרגיל שימושי. עם זאת, אם אתה רוצה להתמקד בתוצאה, למשל, יצירת מסד נתונים נוח של מנויים, אז חיפוש מנוי בספר הטלפונים הוא רק אחת מהתוצאות של היישום שלך. במקרה זה, אין צורך לכתוב אלגוריתם חיפוש בינארי. השתמש באחד קיים (אנו מבטיחים לך, מישהו כבר כתב אותו לפניך והוא נמצא בספריות הסטנדרטיות). אז למד את הספריות הסטנדרטיות של Java בתיעוד של Oracle. למד לגוגל, התרגל לקרוא Stack Overflow ושאל שאלות על עזרה JavaRush ! ...כמובן, אלו לא כל הבעיות של מתחילים. תאר את שלך בתגובות! האם אתה מעוניין לקרוא מאמרים הקשורים ל-Java? הצטרף לקבוצת מפתחי Java . יש כאן הרבה דברים מעניינים.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION