1. *.java
- java 파일 작성
- javac.exe 컴파일
- 자바파일.class 생성
- java.exe 실행
- 파일 내부 실행 결과 출력
- 자바의 모든 코드는 클래스 안에 존재해야 하며, 서로 관련된 코드들은 그룹별로 나누어 별도의 클래스 구성
- 모든 클래스가 main 메서드를 가지고 있어야하는 것은 아니지만 하나의 Java 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다.
class 클래스 이름 {
public static void main(String[] arg){ //main 메서드의 선언부
//원하는 코드 작성
}
}
2. 자주 발생하는 에러와 해결법
1. 자주 발생하는 에러
- cannot find symbol 또는 cannot resolve symbol
- 선언되지 않는 변수나 메서드를 사용하거나, 변수 또는 메서드 이름을 잘못 사용한 경우 발생(대소문자의 일치여부 확인 필요)
- ';' expected
- 세미콜론이 필요한 것이 없다는 뜻. 모든 문장 끝에 ';'를 붙여주어야 함.
- Excetion in thread "main" java.lang.NoSuchMethodError: main
- 클래스 내에 main 메서드가 존재하지 않거나, 'public static void main(String[] args)'에 오타가 존재하는 경우 발생
- Excetion in thread "main" java.lang.NoClassDefFoundError: 클래스이름
- 클래스 이름의 철자, 대소문자를 확인해해보고 이상이 없으면 클래스 파일(*.class) 생성 여부 확인
- illegal start of expression
- class, interface, or enum expected
- 괄호 또는 '}'의 개수가 일치하지 않는 경우 발생
2. 에러 해결 방법
- 에러 메세지를 잘 읽고 해당 부분의 코드를 살펴보고, 이상이 없으면 해당 주위의 코드도 함께 살펴본다
- 그래도 이상이 없으면 에러 메세지는 잊어버리고 기본적인 부분도 재확인. 대부분의 에러는 사소한 것인 경우가 많음
- 의심가는 부분을 주석처리하거나 따로 떼어내서 테스트
3. 자바프로그램의 실행과정
내부적인 진행순서
- 프로그램의 실해엥 필요한 클래스(*.class)를 로드
- 클래스 파일 검사(파일형식, 악성코드 체크)
- 지정된 클래스에서 main(String[] args) 호출
- 범위 주석 : '/'와 '/' 사이의 내용은 주석으로 간주
- 한 줄 주석 : '//'부터 라인 끝까지 내용은 주석으로 간주