這篇文章主要講解了“Java開發中常見錯誤有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java開發中常見錯誤有哪些”吧!
成都創新互聯公司是一家專業提供龍井企業網站建設,專注與網站制作、成都網站制作、H5場景定制、小程序制作等業務。10年已為龍井眾多企業、政府機構等服務。創新互聯專業網站制作公司優惠進行中。
編譯器錯誤
編譯器錯誤消息在Java軟件代碼在編譯器執行時產生。需要重點記住的是,一個編譯器可能為一個錯誤拋出多個錯誤消息。所以修復第一個錯誤并重編譯,就能修復很多的問題。
1.“…可預料的”
當編碼出現遺漏時,就會發生這類錯誤??赡苁侨笔Я艘粋€括號或者分號。
這種錯誤消息常常不會準確的定位到錯誤發生的位置。為了找到錯誤,建議:
確保所有的左括號有對應匹配的右括號。
(使用IDE,譯者注)在代碼行前的提示中檢查。這種Java軟件錯誤不要由編譯器來關注,應該把更后面的工作交給它。
有時候一個字符,比如一個左括號不應該寫在Java代碼的開始處。這樣造成的結果是開發者不會寫右括號去湊成一對。
在這里小編建了一個前端學習交流扣扣群:132667127,我自己整理的最新的前端資料和高級開發教程,如果有想需要的,可以加群一起學習交流
2.“未封閉的String表達式”
“未封閉的String表達式”錯誤消息發生在Sting表達式結束時沒有引號標記,錯誤消息將在發生錯誤的同一行提示出來。一個String表達式在源碼中是一個值。
通常情況下,錯誤發生在:
String表達式結束時沒有使用引號標記。這種錯誤只要在String表達式結束是使用引號就能簡單的改正
String表達式超過一行時。長的String表達式可以被拆分成多個表達式,然后用"+"連接起來。
引號是String表達式中的元素又沒有使用下劃線“\”進行轉義。
3.“非法的表達式開頭”
出現“非法表達式開頭”錯誤的原因有很多。但它最終歸類于一個不太有用的錯誤消息之一。有些開發者說這是由糟糕的代碼造成的。
通常,創建表達式是用于生成新值或為變量賦值。編譯器期望找到一個表達式,但找不到它,因為語法不符合預期。在下面這些語句中可以找到此錯誤。
4.“找不到符號”
這是一個非常常見的問題,因為Java中的所有標識符都需要在使用之前進行聲明。當編譯代碼時,編譯器并不理解標識符的含義。
在你遇到“找不到符號”消息時可能有很多種原因:
標識符聲明時的拼寫可能與代碼中使用時的拼寫不同。
該變量從未被聲明。
該變量使用的位置與其聲明的作用域不同。
類并未被導入。
5.“公共類XXX應該在文件中出現”
“公共類XXX應該在文件中出現”這個消息出現在類XXX和Java程序文件名不一致時。源代碼只有在類名和Java文件名一樣時才會被編譯。
要修復這種情況:
類名和文件名一樣。
確保這兩個名字的大小寫一致。
6.“不兼容類型”
“不兼容的類型”是在賦值語句中嘗試將變量與類型表達式匹配時觸發的邏輯錯誤。通常是在代碼嘗試將文本字符寫入到整數中時出現,反之亦然。這不是Java語法錯誤。
當編譯器給出“不兼容的類型”消息時,確實沒有一個簡單的修復方案:
有可以轉換類型的函數。
開發人員可能需要按照代碼的預期修改之。
7.“無效的方法聲明;需求返回類型”
此錯誤表示方法簽名中沒有明確說明方法的返回類型。
有幾種方式會觸發“無效的方法聲明;需求返回類型“錯誤:
忘記說明返回類型
如果方法沒有返回值,那么需要用“void”表示方法簽名中的返回類型。
構造函數名稱不需要說明返回類型。但是,如果構造函數名稱中出現錯誤,那么編譯器會將構造函數視為沒有指定類型的方法。
8.“類Y中的方法X不能應用于給定類型”
此錯誤消息是Java中最有用的錯誤消息之一。它解釋了方法簽名是如何調用錯誤參數的。
方法在被調用時期望獲取在方法聲明中定義的某些參數。檢查方法聲明、謹慎調用方法,以確保聲明和調用的參數是兼容的。
9.“缺少返回語句”
當一個方法缺少返回語句時,會發生“缺少返回語句”錯誤。每一個有返回值的方法(非void類型)必須有一句字面上的語句用以返回返回值,以便在方法外調用該值。
下面列舉了一些編譯器拋出“缺少返回語句”的消息的原因:
返回語句被錯誤地省略了
一個方法沒有返回任何值,但是在方法簽名中沒有聲明為void類型
10.“精度可能丟失”
當將超過一個變量可以保存的信息分配給該變量時,會發生“精度可能丟失”問題。如果發生這種情況,超出的信息將會被扔掉。如果這樣做沒問題,那么代碼需要將變量顯式地聲明為新類型。
下面情況會發生“精度可能丟失”錯誤:
將一個實數賦值給一個整型變量。
將一個雙精度浮點數賦值給一個整型變量。
11.“解析時到達文件末尾”
這個錯誤信息經常發生在Java程序缺少“}”符號時。通常在代碼末加上“}”符號能很快解決這個問題。
上述代碼的運行結果是下列錯誤:
代碼編寫工具和適當的代碼縮進可以更容易地找到這些不對的大括號。
這個示例展示了缺少的大括號如何造成“解析時到達文件結尾”的錯誤消息。
12.“語句不可達”
“語句不可達”發生在當語句被放在一個不會被執行的位置時候。通常是在break語句或return語句后面。
通常簡單地移動return語句就能解決這個錯誤。
13.“變量x可能未被初始化”
這個問題發生在當方法內局部變量在聲明時沒有被初始化的時候。當一個變量未被初始化但是出現在if語句中的時候會發生該錯誤。
14.“操作符...不能應用于x”
這個情況發生于當操作符應用于沒有定義其使用方法的類型上。
當Java代碼嘗試使用string類型進行數學計算時會經常出現這個問題。為了解決它,string需要被轉化為integer或float。
15.“不能轉換的類型”
“不能轉換的類型”錯誤發生在Java代碼嘗試進行非法轉換的時候。
例如,boolean不能轉換為int。
16.“缺少返回值”
當返回語句返回一個錯誤的類型時,你就會收到“缺少返回值”消息。例如下列代碼:
返回下列錯誤信息:
通常,那些返回語句沒有返回任何東西。
17.“返回類型為void的方法不能返回一個值”
當一個返回類型為void的方法嘗試返回任何值的時候就會發生這個Java錯誤,例如下面的例子:
通常改變方法簽名,使之和返回語句的返回類型相配就能解決這個問題。在上述例子中,void可以改為int:
18.“非靜態變量...不能在靜態上下文中被引用”
當編譯器嘗試在一個靜態方法中訪問一個非靜態變量時會發生該錯誤。
為了解決“非靜態變量...不能在靜態上下文中被引用”的錯誤,有下述兩種方法:
在簽名中將變量聲明為靜態變量。
在靜態方法中創建一個非靜態對象的示例
19.“非靜態方法...不能在靜態上下文中被引用”
這個情況發生在Java代碼嘗試在非靜態類中調用非靜態方法的時候。例如下述代碼:
將會返回下述錯誤:
為了在靜態方法中調用非靜態方法,可以聲明一個類的實例來調用這個非靜態方法。
20.“(array)<X>NotInitialized”(數組未初始化)
當數組已聲明但未初始化時,你將得到“(array)<X>未初始化”的消息。數組的長度是固定的,因此每個數組都需要按照實際長度進行初始化。
感謝各位的閱讀,以上就是“Java開發中常見錯誤有哪些”的內容了,經過本文的學習后,相信大家對Java開發中常見錯誤有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!
本文名稱:Java開發中常見錯誤有哪些
URL標題:http://vcdvsql.cn/article18/pehsdp.html
成都網站建設公司_創新互聯,為您提供企業網站制作、標簽優化、App開發、關鍵詞優化、外貿建站、微信小程序
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯