강조하시는 부분이기도 하고 후에, 운영체제, 리눅스 수업을 들을때도 다음과 같이 명령어를 입력해 진행하게 되니 CLI방식에 익숙해지시길 권장합니다.
eclipse에서도 컴파일, 실행을 제공하지만 Java 수업시간에는 cmd 실행을 권장하십니다.
eclipse에서는 하지 못하는 기능들을 cmd에서는 제공합니다.
cmd에서 다룰 수 있는 기능 중
예를들어,
자바 클래스의 public static void main(String args[]) String args[] 부분에 배열의 요소를 집어넣을 수 있습니다.
args[]부분에 담고 싶은 내용들을 cmd에서 실행할 때 같이 입력해주면, 담은 내용의 배열인 args 배열을 해당 클래스에서 사용이 가능합니다.
이 예제는 맨 마지막에 다뤄보기로 하고, 지금은 기본적인 cmd 명령어들을 익혀보도록 합시다.
cmd창을 띄우기 위해서는
키보드의 윈도우키 + R키를 눌러주시면 다음과 같은 창이 보이실 거에요. 여기서 cmd 입력후 확인 누르시면 됩니다.
1) cd
: 디렉토리 위치 바꾸기 입니다. 이동을 원하는 폴더로 가서, 경로를 복사해 줍니다.
change directory를 의미합니다.
이전의 경로는 표기하지 않아도 되며, 현재 이동할 위치의 경로만 적어주시면 됩니다.
>cd 경로입력 |
change directory의 의미는,
우리는 윈도우 화면으로 폴더를 열고 닫는건데 ,
cmd에서는 원하는 파일을 찾기 위해서 해당 경로까지 도달해야 합니다.
그 경로에 도달하기 위해서 cd를 통해 원하는 폴더를 열었다고 생각하시면 됩니다.
2) dir
: 현재 디렉토리(폴더)에 있는 파일 및 폴더들을 보여줍니다.
핑크색 박스로 된 곳과, GUI 화면으로 구성된 폴더를 비교해 보세요.
directory를 의미합니다.
> dir |
3) notepad 메모장파일명.txt
: 기존에 해당 파일명이 존재한다면 해당 파일명의 메모장을 열지만, 해당 파일명이 존재하지 않는다면 새 메모장을 생성합니다.
notepad는 메모장을 의미합니다.
> notepad hello.txt |
4) mkdir 폴더명
: '폴더명'에 해당하는 폴더를 생성합니다.
예제는 폴더명 'hi'인 폴더를 생성했습니다.
make directory를 의미합니다.
> mkdir hi |
5) rmdir 폴더명
: '폴더명'에 해당하는 폴더를 삭제합니다.
예제는 폴더명 'hi'인 폴더를 삭제했습니다.
remove directory를 의미합니다.
> rmdir hi |
6번과 7번은 하단의 실습을 통해 익혀보도록 하겠습니다.
6) javac java파일명.java
: .java 파일을 컴파일해서 .class 파일을 생성합니다.
java compile을 의미합니다.
javac JavaTest.java |
7) java class파일명
: class파일을 실행합니다.
java JavaTest |
이제부터는 디렉토리를 생성하고, 그 디렉토리 안에서 자바 파일(메인을 포함한 클래스)를 작성한 뒤, 컴파일해서 클래스 파일을 만들고, 실행해보도록 하겠습니다.
한줄한줄 해보시면서 점검해 보세요.
1. 현재 디렉토리에서 폴더명이 'hello'인 새로운 디렉토리를 만듭니다.
> mkdir hello
2. hello 디렉토리로 들어갑니다.
> cd hello폴더가 있는 경로
(예 : > cd C:\Users\hello_kk\Desktop\JAVA\workspace\JavaTest2020\src\hello)
3. 클래스명과 java파일명이 일치해야 하기 때문에, 실행창의 명령어를 통해 메모장으로 파일명이 'Test1'인 java파일을 만들어 줍니다.
> notepad Test1.java
4. 클래스 파일 안쪽을 메인 함수로 구성해 줍니다.
"Test class
hello java!" 가 출력될 수 있도록 출력문을 작성해 줍니다.
예제)
java파일이 만들어 지면 메모장에 다음과 같이 입력합니다.
public class Test1{
public static void main(String args[]){
System.out.println("Test class");
System.out.println("hello java!");
}
}
5. cmd 창에서 Test1.java 파일을 컴파일합니다.
> javac Test1.java
6. cmd 창에서 Test1.class 파일을 실행합니다.
> java Test1
아래의 더보기는 상단의 모든 과정을 종합하여 나타내주었습니다.
과정
1. > mkdir hello
2. > cd hello폴더가 있는 경로
(예 : > cd C:\Users\hello_kk\Desktop\JAVA\workspace\JavaTest2020\src\hello)
3. > notepad Test1.java
4. java파일이 만들어 지면 메모장에 다음과 같이 입력합니다.
public class Test1{
public static void main(String args[]){
System.out.println("Test class");
System.out.println("hello java!");
}
}
5. > javac Test1.java
6. > java Test1
주의사항
1)
java클래스명은 항상 대문자로 시작합니다.
따라서 notepad를 통해 만든 java파일의 이름도 클래스명과 같아야 하며, 대문자로 시작해야 합니다.
2)
System.out.println("한글 입력");
만약 위의 출력문처럼 cmd에서 한글이 깨지지 않고 출력되게 하려면,
cmd로 컴파일 할 때, javac 뒤에 -encoding utf-8을 추가로 적어주면 됩니다.
예시)
> javac -encoding utf-8 Test1.java
이제, 글을 시작하면서 예를 들었던 args[] 예제를 실습해보도록 합시다.
1. ArgsTest.java 파일을 생성합니다.
> notepad ArgsTest.java
2. ArgsTest클래스를 만들어주고, main문을 작성합니다.
public class ArgsTest{
public static void main(String args[]){
}
}
3. args배열도 기존에 c++에서 배웠던 배열과 마찬가지라고 생각합니다.
args.length는 args배열에 담긴 요소의 갯수(배열의 길이)를 반환합니다.
for문을 이용해서, args 배열을 하나씩 확인하는 코드를 작성합니다.
예시)
for( ; ; ){
출력문 작성
}
따라서 args.length는 for문의 두번째 자리에 들어가게 되는데 사용됩니다.
public class ArgsTest{
public static void main(String args[]){
for(int i=0; i< args.length ;i++){
System.out.println("args["+i+"] : "+args[i]);
}
}
}
4. ArgsTest.java 파일을 컴파일하세요. 단, 한글이 포함된 경우 깨지지 않게 인코딩해주세요.
만들어진 ArgsTest.class 파일을 실행하는 동시에 args 배열에 넣고 싶은 요소들을 적어줍니다.
스페이스바를 사용해서 구분해 주세요.
예시)
> java ArgsTest a b c
만약, -encoding utf-8을 해주지 않는다면 다음과 같은 에러가 발생합니다.
한글을 인식하지 못하기 때문이에요.
'--------------------*** > JAVA 기초' 카테고리의 다른 글
Java jdk, eclipse 설치 (0) | 2020.02.19 |
---|---|
자바 온라인 컴파일러 (0) | 2020.02.18 |
자바 설치 후, 환경변수 설정하기 (0) | 2020.02.14 |
1. 자바 출력문 완성하기 (1) | 2020.02.14 |
JAVA API Documentation 확인하기 (0) | 2020.02.13 |