본문 바로가기
강좌/JAVA

3장, 자바의 기본 입출력/구구단 만들기

by 착살의 숲 2014. 2. 17.
반응형

오늘은 자바의 기본 입출력과 그를 이용한 구구단을 만들어 보겠습니다.

우선 진행 난이도는 기본적인 "Hello Java" 정도는 찍을 수 있다는것을 가정하에 진행하겠습니다.

 

1. 자바의 기본 출력

첫번째로 자바로 문자열을 printprintln에 대해서 알아보겠습니다.

다시한번 말씀드리지만 자바 기초를 알아가는 과정이겠지만..

System클래스라던지 System.out.println이 언제 쓰는 명령어라던지 하는정도의 아주 기초단계를 생략하겠습니다.

 

 

자 이제 자바 프로젝트를 하나 만들겠습니다.

마우스 오른쪽 클릭후 자바 프로젝트(Java Project)를 선택합니다.

 

 

 

처음 단계니까 프로젝트명(Project name)Round01로 하겠습니다.

다른 프로젝트 네임을 하셔도 상관 없습니다.

첫번째 문자를 대문자로 썼는데 소문자로 쓰셔도 크게 상관은 없습니다.

하지만 개발자들간에 암묵적인 하나의 약속이라고 보시면 됩니다.

경로(Location) 한번 확인해 보시구요.

JRE는 Use an execution environment JRE로 선택되어 있는 분들이 많을 실겁니다.

현재 1.6버전을 설치했고 현재 JavaSE-1.6으로 기본 선택되어 있어서

Use an execution environment JRE를 선택하셔도 상관은 없습니다.

하지만 JDK가 2개이상 설치되어 있다던지 하게되면 자신도 모르게 다른 버전이 선택될 수 있는 경우가 생길수 있습니다.

지금은 JDK가 한개만 설치되어 있으니 Use default JRE를 선택하겠습니다.

그리고 Next를 선택하고 다음으로 진행해도 상관 없는데 지금은 다른 설정이 필요 없으니 바로 Finish를 선택합니다.

 

 

 

그러면 Round01이라는 자바 프로젝트가 생성되었을 것입니다.

이제 클래스를 하나 생성해보겠습니다.

프로젝트를 펼쳐보면 src가 있습니다.

마우스 오른쪽 클릭후 New → Class를 선택합니다.

 

 

 

클래스(Class)를 생성하는 화면이 나타나면 클래스명(Name)를 입력합니다.

첫번째 프로젝트, 첫번째 예제이므로 저는 Round01_Ex01로 하겠습니다.

클래스(Class) 역시 첫번째 문자를 소문자로 해도 에러가 발생하지는 않지만..

저희 개발자들간의 암묵적인 약속~~

자.. 그리고 public static void main(String[] args)를 선택하는데..

기본적으로 선택되어 있지 않을겁니다.

강사님들은 대부분 외우기 위해 선택하지말고 직접 쓰라고 하는데..

저는 강사가 아니니 패스~ 선택하겠습니다.

main() 메서드는 프로그램이 실행될때 JVM이 public 클래스를 찾고..

public 클래스가 없으면 파일명과 동일한 클래스를 찾고..

그다음 싱행의 주체가 되는 main() 메서드를 찾게 됩니다.

 

 

글씨가 잘 안보이는데요..ㅜㅜ

-----------------------------------------------------------------------------------------

public class Round01_Ex01 {

public static void main(String[] args) {

System.out.print("ABCDEF");
System.out.print("GHIJKL\n");
System.out.println("======================================================");
System.out.println("12345");
System.out.println("67890");

}

}

-----------------------------------------------------------------------------------------

위와 같이 입력합니다.

다음부터는 잘보이게 캡쳐해야겠네요..ㅠㅠ

System 클래스에 대해서는 인터넷에 쳐보시면 많이 나오실꺼에요.

 

 

 

그리고 아무데나 오른쪽 클릭하시고 Run As → Java Application을 선택합니다.

그러면 방금 입력한 소스의 결과물이 콘솔(Console)창에 출력되게 됩니다.

 

 

 

자~ 그럼 결과물을 확인해 보겠습니다.

결과물을 보시면 printprintln의 차이점을 알 수 있습니다.

print는 입력된 문자열을 출력해주는 역할을 합니다.

ABCDEF를 입력후 밑에라인에 GHIJKL를 입력했지만 ABCDEFGHIJKL이 한줄에 출력됩니다.

헌데.. println 같은 경우는 12345가 출력된 후 아랫라인에 67890이 출력되었습니다.

println은 문자열을 출력 후 한줄내림이 발생하게 됩니다.

그러므로 12345를 찍고 67890이 출력되게 됩니다.

그리고 GHIJKL을 입력후 옆에 \n이 입력된게 보이실겁니다.

\n은 한줄내림을 한다는 뜻입니다.

이건 현업에서 일하셔도 상당히 많이 쓰이게 됩니다.

위에서 보이면 느끼시겠지만 자바는 소스를 코딩하는데 있어 라인이 중요하지 않습니다.

저 소스를 한줄로 나열해도 결과물은 똑같이 출력되게 됩니다.

 

2. 자바의 입출력

문자를 하나 입력 받아서 그 문자를 다시 출력하는 소스를 작성해 보겠습니다.

 

 

System.in.read()로 문자를 입력 받습니다.

System.in.read()int 타입으로 숫자형을 입력 받습니다.

그래서 char캐스팅(Casting)를 해준다음 출력해줍니다.

 

 

 

f를 입력해봤고.. 입력된 f가 그대로 출력되는것을 볼수 있을 것입니다.

하지만 System.in.read()는 문자 하나를 입력받아 출력하게 됩니다.

"abcdefg"등과 같이 문자열을 입력받아 출력하고 싶다.

그럴경우 BufferedReader를 사용해야 합니다.

 

 

 

그림과 같이 입력하고 실행해 봅니다.

in.readLine()은 엔터를 입력하기전까지의 문자열을 입력받습니다.

 

 

 

입력한 "블루베리"라는 문자열을 그대로 출력할 수가 있게 됩니다.

그리고 소스를 자세히 보시면 throws IOException이라는게 보이실겁니다.

예외처리 부분인데.. 이부분은 우선.. 똑같이 입력하고 넘어갑니다.

나중에 예외처리 부분에서 다시 다루겠습니다.

그리고 지금은 코딩분량이 얼마 안되니 그냥 이미지로 첨부하겠습니다.

차후에 분량이 많아 지금 그땐 소스까지 같이 업로드 하겠습니다.

 

3. 입출력을 이용한 구구단 만들기

숫자를 하나 입력받아 입력받은 숫자를 구구단으로 만들어 보겠습니다.

 

 

System.in.read()를 사용하여 int형으로 숫자를 하나 입력 받습니다.

옆에 보시면 -48을 해주었는데..

System.in.read()은 아스키 코드값으로 문자 하나를 입력받습니다.

숫자 1의 아스키코드값은 49 입니다.

그래서 -48을 해주는 것이고.. 이부분은 너무 기초부분이라 여기서 다루지 않겠습니다.

입력받은 값이 2단~9단이면 구구단을 화면에 출력해주고..

그이하도.. 그이상도 아니면 화면에 "2단부터 9단까지만 입력가능합니다."라는 메세지를 띄워줍니다.

위에 보이는 for문 같은 경우에는 나중에 다시 다루는 시간이 있으니 우선은 똑같이 입력하고

이런식으로 구현이 가능하구나 정도만 알고 넘어가겠습니다.

 

 

 

3단을 입력하고 그에대한 결과물이 출력된 모습입니다.

 

요즘은 잘 모르겠는데 제가 처음 학원 다닐때는 이것처럼 숫자를 입력받아 구구단을 만드는걸 과제물로 내주곤 했습니다.

그때는 어려워서 못풀고 혼나기도 하고 했는데..

참 그때 기억이 나네요 ㅎㅎ

너무 기초부터 하는건 아닌가 하는 생각도 들고.. 그래서 포스팅 하는동안 좀 오글거리기도 하네요 ㅋㅋ

그래도 필요한 분들이 있으리라 생각합니다..^-^;;

강사도 교수도 아니다 보니 이론적인 부분에서는 많이 미숙한것 같다는 생각도 드네요.

제가 틀린부분이나 용어가 잘못된 부분들이 있더라도 귀엽게 봐주시고 따끔하게 지적해주세요 ㅎㅎ

그럼 저는 오늘은 이만 작성하고 내일은 위해 잠들어야 겠네요 ㅎㅎ

굿잠요~★

 

반응형

댓글