반응형
이 에러는 직역하면 명령문(statement)이 아니라는 뜻이다. 에러가 발생하면 다음과 같은 에러 표시가 뜨는 것을 볼 수 있다.
Main.java:10: error: not a statement
int i;
^
문제 발생 이유
if나 for문 안에 선언문만 포함된 경우
선언문(declaration statement)도 일종의 명령문(statement)이지만, 자바에서는 if나 for문 안에 선언문만 포함된 경우, 실제로 실행되는 명령이 없다고 보고 not a statement 에러를 일으키는 경우도 있다. 이를 막기 위해선 if나 for문 안에 선언문이 아닌 다른 명령문을 넣어주어야 한다.
for(int i = 0 ; i < A ; i++ ){
int j = 1; //for 문 안에서 명령이 실행되지 않았기 때문에 에러 발생
}
닷 연산자(.) 뒤에 클래스 또는 객체 소유의 변수, 메서드 등을 호출하지 않을 경우
호출이 아닌 아무 의미 없는 코드가 있을 시, not a statement 에러가 뜬다.
반응형
'🖥️Languages > ☕JAVA' 카테고리의 다른 글
[자바/컴파일 에러] variable _ is already defined in method ____ (0) | 2021.08.02 |
---|