JavaRush /Java Blog /Random-TW /剛開始學習Java的人最常見的問題

剛開始學習Java的人最常見的問題

在 Random-TW 群組發布
理解本文所需的知識程度:初學者。您正在學習 Java 語法任務,並且更接近其初始水平。 剛開始學習Java的人最常見的問題—1您剛開始學習 Java。你會被來自聚寶盆的術語轟炸。您加載了大量的技術信息,有時您會對三棵松樹感到困惑。相信我,既然你已經涉足編程,事情就永遠如此(此時,屏幕外響起一聲不祥的笑聲,一個安靜的聲音,中斷了一半的話語,低聲說道:“快跑……先救自己吧)」太晚了...」)。即使您是最好的開發人員,錯誤也會在您的餘下程式設計生涯中困擾您。然而,這根本不像聽起來那麼可怕。
如果您剛開始學習 JavaRush,那麼您很可能已經遇到了本文中提出的問題。無論如何,我們歡迎您提出評論來描述您在學習 Java 的頭幾個月中遇到的問題。

0 層級問題:比較運算子 (==) 和賦值運算子 (=) 的混淆。

對於那些從其他程式語言轉向的人來說,這是一個非常常見的問題。一般來說,從小學開始我們就已經習慣了(=)這是一個等號。可以用來記住的一個簡單技巧是:如果您知道您只關心其中一個值(將一個值分配給另一個值),請使用單個“ ”符號=,否則如果您關心所有變數和值(您將比較它們)你需要一個雙「==」符號。

問題:使用比較運算子 (==) 測試字串等效性

要做什麼:請記住,不能使用 來檢查 Java 物件的等價性(==),因為該運算子旨在測試基本類型的相等性。
剛開始學習Java的人最常見的問題—2
對於對象,您需要使用.equals(). String在 Java 語言中,它只不過是一個物件(和)immutable
標記為的物件Immutable 是其狀態在建立後無法變更的物件。在Java中,這表示類別的所有實例欄位都被標記為final和 是原語(或也immutable)。

問題:循環中的字串連接

不要自己嘗試這個!每次連接字串時,都會建立一個新物件String(正如我們在上面發現的,字串immutable是不可變的)。在某些時候,您將耗盡內存,或者程式將開始花費太多時間來完成。 解決方案。在循環中連接內容時使用StringBuilder替代方法。當需要對字串進行大量更改時使用String該類別。StringBuilder這些線與 不同String,不是immutable

問題:空指標異常

null當我們實際上需要一個真實的物件時 嘗試使用空指標時,就會發生這種異常。
所有原始類型都有預設值。所以, yint0, ybooleanfalse。任何引用類型(即物件)的預設值為null。它不是一個物件或類型,而是一個特殊的值。這本質上意味著「這裡什麼都沒有」。
剛開始學習Java的人最常見的問題 - 3
怎麼做:如果您的程式碼編寫方式使得您的物件在某些時候可以接受該值null,則您需要添加“檢查null”,特別是如果您不是自己創建該物件的話。還要記住,返回空集合比返回一組 更好null。為 getter 和 setter 添加驗證也很好。

問題:由於某種原因 if / while / for 迴圈不起作用

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
這是怎麼回事?很簡單:一個額外的分號已經讓數十萬新手 Java 程式設計師痛不欲生。好吧,之後你就不需要它了if ()。從語言的角度來看,這樣的語法是完全可以接受的,因此編譯器不會抱怨它。但它終止了條件語句,區塊內的程式碼{}永遠不會滿足上面的條件。
剛開始學習Java的人最常見的問題 - 4
解決方案:記住設計邏輯。「;」標誌意味著某個區塊的結束,但這裡一切才剛開始。

問題:嘗試從靜態方法(例如 main)存取非靜態成員變數

解決方案。這個問題涉及到概念本身的理解static。如果一個方法標有這個詞,則表示我們不需要實例化該類別來呼叫main方法。因此,解決辦法就是充分理解「靜力學」並理解其本質。

問題:嘗試透過開發現有的函式庫和工具來重新發明輪子

解決方案。其實這並不是什麼大問題。對於初學者來說,這是一個更有用的練習。但是,如果您想專注於結果,例如建立一個方便的訂戶資料庫,那麼在電話簿中搜尋訂戶只是您的應用程式的結果之一。在這種情況下,就不需要編寫二分查找演算法了。使用現有的(我們向您保證,有人在您之前已經編寫了它並且它位於標準庫中)。所以研究一下Oracle文件中的Java標準函式庫。學習 Google,習慣閱讀 Stack Overflow 並提出有關JavaRush 幫助的問題!……當然,這些都不是初學者的全部問題。在評論中描述一下你的吧! 您有興趣閱讀 Java 相關文章嗎?加入 Java 開發人員小組這裡有很多有趣的東西。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION