溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中常見的語法錯誤有哪些

發(fā)布時間:2020-06-26 18:04:00 來源:億速云 閱讀:329 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)java中常見的語法錯誤,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

語法錯誤就是不符合語法規(guī)則出現(xiàn)的問題,比如說你拿兩個字符串進(jìn)行乘法運算,當(dāng)然就不對了,就是通常所說的病句。

下面為各位整理了java中常見的語法錯誤,希望對java初學(xué)者有所幫助。

1.變量可能未初始化

錯誤提示:

Abc.java:9: variable i might not have been initialized
                System.out.println(i);

中文說明:變量i可能沒有賦值就使用了。

例子說明:

int i;
System.out.println(i);

2.變量重復(fù)定義

錯誤提示:

Abc.java:9: i is already defined in main(java.lang.String[])
                int i = 2;

中文說明:變量重復(fù)定義了

例子說明:

 int i = 1;
 int i = 2;

3. 找不到符號:

Test6.java:26: cannot find symbol
symbol  : variable j
location: class Test6
   if(j < 0) {

4. 找不到類的錯誤

Main.java:4: cannot find symbol
symbol  : class T1
location: class Main
  T1 a = new T1();

5. 找不到方法的錯誤

Main.java:5: cannot find symbol
symbol  : method a()
location: class T
  a.a();

6. 找不到類

錯誤提示

Test.java:1: class Test1 is public, should be declared in a file named Test1.java
public class Test1 {

中文說明  test1是公共的,必須在文件中聲明

例子說明

建一個文件為Test;在工具中打開這樣寫  public class Test11 {}; 就會報這個錯誤

7 找不到這個類(類名跟文件名不一致)

NoClassDefFoundError: asa (wrong name: ASA)

8. 數(shù)組下標(biāo)越界

java.lang.ArrayIndexOutOfBoundsException: 1
        at Test2.test2(Test2.java:30)
        at Test2.main(Test2.java:6)

9. 字符串下標(biāo)越界

java.lang.StringIndexOutOfBoundsException: String index out of range: 6
        at java.lang.String.charAt(String.java:558)
        at Test2.test3(Test2.java:41)
        at Test2.main(Test2.java:7)

10. 空指向

Exception in thread "main" java.lang.NullPointerException
        at Next.main(Next.java:31)

11空返回值

錯誤提示

 Test1.java:54: 'void' type not allowed here
   System.out.println(a5.deleteOnExit());

中文說明;此處不允許使用void返回值

例子說明  如果聲明一個void的方法,那就不能直接輸出來

  Public static void edit() {}
System.out.println(Test.edit());

12 缺少返回值

asa.java:8: missing return statement
 int fan(){}
                  ^
1 error

13 沒有返回值的方法中不需要返回值

asa.java:10: cannot return a value from method whose result type is void
   return a;
                        ^
1 error

14. 引用的方法入?yún)⒉粚?/strong>

Next.java:66: cannot find symbol
symbol  : method createTempFile(java.lang.String,java.lang.String,java.lang.String)
location: class java.io.File
   File ll = f.createTempFile("let","java","aaa");

15. .缺少形參

 del() in sms.service.Service cannot be applied to (int)

16.無效的方法聲明(需要返回類型)

invalid method declaration; return type required
        public byteValue(){

17. 要求傳入的是數(shù)組,卻傳入了字符串

array required, but java.lang.String found
                    ^

18 找不到構(gòu)造方法

Main.java:4: cannot find symbol
symbol  : constructor T()
location: class T
  new T();

19、數(shù)字格式化異常                                                  

Exception in thread "main" java.lang.NumberFormatException: null 20. .不兼容的類型
錯誤提示Test1.java:41: incompatible types
found   : java.lang.String[]
required: java.io.File[]
 File [] a3 = a11.list();
中文說明 不兼容的類型

20 Integer number too large  定義值(整數(shù))過大

21. 非靜態(tài)方法不能在靜態(tài)上下文中引用

non-static method cannot be referenced from a static context

22.不是靜態(tài)方法而用靜態(tài)方式調(diào)用(類名。方法)

Main.java:5: non-static method fun1() cannot be referenced from a static context
                Test.fun1();

23靜態(tài)訪問非靜態(tài)(變量)

Test.java:5: non-static variable a cannot be referenced from a static context
                a = 1000;

24. 靜態(tài)訪問非靜態(tài)(方法)

Test.java:6: non-static method fun1() cannot be referenced from a static context
            fun1();                    // 靜態(tài)的不能調(diào)用非靜

25.continue outside of  loop   (將continue放在for循環(huán)外的時候出現(xiàn)的錯誤報告)

26.illegal start of expression  違反規(guī)則的表達(dá)(將for循環(huán)中第二表達(dá)放置于for循環(huán)外或內(nèi)部時出現(xiàn)的錯誤報告)

27  asa.java:6: unreachable statement     不能到達(dá)的語句(語句放于continue或break后出

現(xiàn)不能到達(dá),及continue和break后不能有語句)

28 break置于循環(huán)語句外

asa.java:8: break outside switch or loop
 break;
        ^
1 error

29- 標(biāo)識符錯誤(標(biāo)識符不合法);

asa.java:2: <identifier> expected
 int %%;
            ^
1 error

30. 沒找到方法體,或聲明為抽象的(方法)

MyAbstract.java:6: missing method body, or declare abstract

31. 這個類不是抽象類    或者沒有覆蓋  重寫方法fun1()   有抽象的方法的就必須是抽象類

MyAbstract.java:1: MyAdstract is not abstract and does not override abstract method fun1() in MyAdstract

32. Myabstract 它是屬于抽象類的,不能產(chǎn)生對象。

Main.java:6: Myabstract is abstract; cannot be instantiated

33. 接口的方法不能有方法體

MyInterface.java:2: interface methods cannot have body

34, .它是屬于抽象類的,不能產(chǎn)生實體

Myabstract is abstract; cannot be instantiated

35. 接口的方法不能有方法體

interface methods cannot have body

36. 此處不允許使用static修飾

asa.java:3: modifier static not allowed here
 public static void main(String []args){
     ^    ^

37—不能改變的類型(String 型 不能轉(zhuǎn)換成Int型)

asa.java:4: inconvertible types
found   : java.lang.String
required: int
  int b=(int)a;
                           ^
1 error

38.possible loss of precision  found: long ;required:byte ; var=varlong  可能造成精度損失(在整型較大的轉(zhuǎn)換成較小的情況下會造成損失,小的轉(zhuǎn)大的,則不會造成損失。)

39分隔符異常

asa.java:5: ';' expected

40 括號異常

asa.java:8: '}' expected

41. 應(yīng)用程序試圖創(chuàng)建大小為負(fù)的數(shù)組。

 java.lang.NegativeArraySizeException

42. 出現(xiàn)異常的運算條件

java.lang.ArithmeticException: / by zero
        at Test2.test(Test2.java:16)
        at Test2.main(Test2.java:5)

43抽象方法不能被final修飾(抽象類的抽象的東西一定要被繼承)

44.抽象方法不能被private修飾(抽象類抽象的東西一定要被繼承)

看完上述內(nèi)容,你們對java中常見的語法錯誤有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI