java 공부 1일차 .java 파일의 컴파일에 대한 문제를 마주하게됬다.
보통 C와 다르게 JAVA는 OS(운영체제)에서가 아닌 Java Virtual Machine(자바가상머신)에서
동작한다. 그래서 C언어와 다른 점이 있다.
.java 파일로 코딩을 한 후,
javac을 실행하여 .java 파일을 자바 바이트코드로 바꾸어주어야한다.
( javac은 (java compiler)이다. )
자바 바이트코드로 바꾸어 준 후, (파일은 .class로 저장이 다시 된다.)
이 코드를 java.exe를 이용하여 실행시키면 된다.
간단하게 코드를 만들고 실행 시켜보려는 찰나
문제에 직면하였다.
1. 실행이 안된다..
나는 파일이름을 study.java 로 만들고
컴파일 후 프로그램을 돌려보니.. (java study입력.)
보통 C와 다르게 JAVA는 OS(운영체제)에서가 아닌 Java Virtual Machine(자바가상머신)에서
동작한다. 그래서 C언어와 다른 점이 있다.
.java 파일로 코딩을 한 후,
javac을 실행하여 .java 파일을 자바 바이트코드로 바꾸어주어야한다.
( javac은 (java compiler)이다. )
자바 바이트코드로 바꾸어 준 후, (파일은 .class로 저장이 다시 된다.)
이 코드를 java.exe를 이용하여 실행시키면 된다.
간단하게 코드를 만들고 실행 시켜보려는 찰나
문제에 직면하였다.
1. 실행이 안된다..
나는 파일이름을 study.java 로 만들고
컴파일 후 프로그램을 돌려보니.. (java study입력.)
: 원인은 .java 파일 안의 코드에 있었다.
(내가 실행시키려던 코드)
.java 파일은 javac으로 컴파일 후 파일이름이 .class로 저장되는데 이 때 코드 안의 class이름으로 저장이 된다. 그렇기에 java SystemOutPrintln 으로 실행시켜야 된다.
(class 이름으로 저장된다.)
(실행)
정상적으로 실행이 된다.
그..런데..
2. 내가 원하던 값이 아니다. 나는 12라는 같은 값을 5개 출력하려 했다.
두번째 출력코드 라인
책에서는 + 연산자가 문자 그대로 연결시켜주기 때문에
1 + 3 이렇게 되면 13으로 출력이 된다고 했는데 그렇지 않았다.
해결
: 책에 있는 내용을 잘 보니 문자열이 속해있을 때 두 숫자가 합이 아닌 연결로 출력되는 것을 알 수 있었다.
즉,
("" 빈문자열을 추가한 코드)
이렇게 빈 문자열( "" )을 넣어주니
12로 출력 되었다.
결론
.jvav -> .class -> 실행
.class (파일 이름은 java 코드 안의 클래스 이름)
[난 정말 JAVA를 공부한 적이 없다구요] 책으로 공부 중 입니다.
(참조 - 난 정말 JAVA를 공부한 적이 없다구요, 윤성우)
'Programing > JAVA 일지' 카테고리의 다른 글
JAVA(5일차) - (2) 클래스 패스, 패키지 (0) | 2016.12.07 |
---|---|
JAVA(5일차) - (1) 클래스와 인스턴스 (0) | 2016.12.07 |
JAVA(4일차) - 메소드, Recursive 메소드 (0) | 2016.12.06 |
JAVA(3일차) - 실행흐름의 컨트롤(조건문,반복문) (0) | 2016.12.05 |
JAVA(2일차) - 변수, 자료형, 상수, 연산자 (0) | 2016.12.05 |