안 예상되는 식별자 오류는 초보자가 직면하는 매우 일반적인 오류입니다. 이 섹션에서는 다음 내용을 논의하겠습니다. 식별자 예상 오류는 무엇입니까 , 오류가 발생하는 이유, 그리고 Java에서 식별자 예상 오류를 수정하는 방법. 오류로 이동하기 전에 먼저 이해하겠습니다. 무엇인가 Java의 식별자 .
식별자 Java에서는 식별에 사용되는 기호 이름입니다. 그들은 클래스명, 변수명, 메소드명, 패키지명, 상수명 등. 그러나, 자바 , int, const, new, double, enum 등과 같이 식별자로 사용할 수 없는 일부 예약어가 있습니다.
식별자 예상 오류는 무엇입니까?
컴파일 타임에 발생하는 매우 일반적인 컴파일 오류입니다.
다음 Java 프로그램을 고려해 보겠습니다.
자바 arraylist 메소드
식별자Error.java
public class IdentifierError { System.out.println('javatpoint'); }
위 프로그램을 컴파일하려고 하면 다음과 같은 오류가 발생합니다.
코드는 괜찮아 보이지만 그렇지 않습니다. 인쇄문은 적절한 위치가 아니기 때문입니다. 메소드/블록 내부에 있어야 합니다. 메서드 내부에 코드를 래핑한 다음 컴파일하고 실행해 보겠습니다.
식별자Error.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
산출:
javatpoint
오류 발생 이유
오류가 발생하는 이유는 다음과 같습니다.
- 코드가 Java 구문 규칙을 준수하지 않을 때 발생합니다.
- 메서드나 블록 내부가 아닌 클래스 본문에 직접 작성된 코드 블록입니다.
- 추가 중괄호가 있을 수 있습니다.
- 코드가 올바른 위치에 있지 않습니다.
- 모든 명령문 끝에는 세미콜론이 있어야 합니다.
오류를 수정/해결하는 방법은 무엇입니까?
- 명령문 끝에 세미콜론을 넣는 것을 잊지 마십시오.
- 클래스 본문 내부에 직접 코드를 넣지 마세요.
- 메서드 호출은 메서드, 생성자 또는 정적 초기화 프로그램 내부에서 이루어져야 합니다.
- 적절한 위치에 코드 블록을 작성하십시오.
- 여분의 중괄호를 제거하세요.
IdentifierErrorExample1.java
피보나치 수열 자바
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
위의 코드를 컴파일해 보겠습니다. 예상되는 오류가 발생합니다.
위의 코드를 관찰하면 오류를 생성하는 원인이 되는 추가 중괄호가 있음을 알 수 있습니다. 6행에서 추가 중괄호를 제거하면 오류를 수정할 수 있습니다.
값을 정의하는 동안 쉼표 대신 세미콜론을 입력하는 경우에도 오류가 발생합니다. 열거형 . 예를 들어, 다음 코드를 고려해보세요.
IdentifierErrorExample2.java
public class IdentifierErrorExample2 { public enum Vegetables { eggplant, tomato, broccoli; } public static void main(String args[]) { for(Vegetables veg : Vegetables.values()) System.out.println(veg); } }
위의 코드를 실행해 보겠습니다. 식별자 예상 오류가 발생합니다.
오류를 수정하려면 열거형 값에서 세미콜론을 제거하세요.
자바 상속
public enum Vegetables { eggplant, tomato, broccoli; }
때로는 오류가 훨씬 더 클 수도 있습니다. 다음 코드를 고려해보세요.
IdentifierErrorExample3.java
import java.util.Arrays; public class IdentifierErrorExample3 { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = nums[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); }
위의 코드를 컴파일해 보겠습니다.
일부 명령문은 클래스 본문 내부에 직접 작성되기 때문에 오류가 너무 많습니다. 오류를 해결하려면 메서드 내부에 전체 코드 블록을 작성한 다음 컴파일하고 실행하세요.
IdentifierErrorExample4.java
import java.util.Arrays; public class IdentifierErrorExample4 { public static void main(String args[]) { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = primes[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); } }
산출: