JAVA

[남궁성 자바기초] 5장 커맨드라인을 통해 입력받기 (intellij 사용 시)

wonderson 2023. 1. 14. 17:12
반응형

커맨드라인을 통해 사용자로부터 값을 입력받기

 

남궁성 님 깃허브에는 각 챕터마다 폴더 아래에 bin 파일 안에 자바파일의 클래스 파일이 따로 있다.

나는 이클립스 대신 intellij사용하고 있어서 따로 파일을 만들다 보니 클래스 파일이 각 챕터 폴더 안에 들어있지 않았다.

대신 intellij에서 클래스 파일은 다른 곳에 위치해 있었다.

 

클래스 파일 : javac 자바 컴파일러가 소스파일(*. java)을 클래스 파일(*. class)로 변환한 것이다.
- JVM이 알아들을 수 있는 기계어로 변환된 파일
참고
https://wonderson.tistory.com/319

- build 폴더 아래에 classes > java > main > 각 챕터 폴더 > 아래에 클래스 파일이 존재했다.

 

1. 커맨드창(cmd)에서 클래스 파일 경로로 들어가기 위해서 일단 먼저 클래스 파일의 경로를 확인한다.

경로 : C:\Users\user\workspaceJava\study\build\classes\java\main\ch05

폴더에서 경로를 클릭하면 위와 같이 경로가 나온다. 이걸 복사하자

 

2. cmd 창에 들어가서 아래 명령어를 입력한다.

cd 클래스 파일의 경로

 

- 현재 디렉터리의 파일들 목록을 보고 싶다면 dir 명령어를 사용해서 보자

참고 https://gocoder.tistory.com/1492

 

3. 이 폴더에서 java Ex5_7을 실행해 본다.

=> 그러면 실행이 안될 거다. 그 이유는 패키지로 분류를 해서입니다.

그래서 패키지 상위 폴더로 이동 후 java 패키지명.클래스 파일로 실행을 하면 됩니다.

 java 프로그램에서는 패키지 이름이 모두 포함된 full class name을 가지고 클래스
파일들을 찾기 때문에 상위 디렉터리(또는 패키지의 루트 디렉터리)에서 실행을 해야 한다.

참고
https://zeddios.tistory.com/41

 

4. 패키지 폴더 상위로 이동한다. (폴더를 생성했을 시 참고)

명령어 cd .. 을 사용해서 상위 폴더로 이동한다.

 

5. java 패키지명.실행할 클래스 파일을 입력하고 실행하면 결과가 나온다.

- null 값이 들어가는 게 아닌 아무 내용 없는 배열이 만들어진다.

- 자바에서는 배열의 길이가 0인 게 가능 -> " " 빈문자열, 길이가 0이다.

 

6. 이제 커맨드라인을 통해서 매개변수를 입력받아보자

- 프로그램을 실행할 때 클래스 이름 뒤에 공백문자로 구분하여 여러 개의 문자열을 프로그램에 전달할 수 있다.

- java명령어를 사용할 때는 확장자를 붙이지 않는다.

 

 

참고

자바의 정석 기초 유튜브 - 5장 커맨드라인 입력받기

https://www.youtube.com/watch?v=8yjC3t7j-eg&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=46

반응형