주인장의 프로그래밍 개발 공부방

[자바 프로그래밍 기초] 1. 출력 본문

Java/자바 프로그래밍 기초

[자바 프로그래밍 기초] 1. 출력

거신 2019. 5. 28. 13:46

자바 프로그래밍 뿐만 아니라 C언어, 파이썬 등을 배우더라도

가장 처음에 배우는 내용이 있다.

바로 프로그래밍에서는 그 유명한

 

“Hello World”

 

를 출력하는 연습이 되겠다.

 

목표 : 출력 명령어를 이용해 내가 원하는 값 또는 문자(열)을 콘솔창에 출력할 수 있다.

 

1. 자바 프로그래밍 기초에서 출력이란?

 

우리가 프로그래밍을 배우는데 결과나 값이 바로 출력이 되는 곳이 있는데

콘솔(Console)이라고 부르는 곳이 있다.

CC++를 배운다면 마이크로 소프트 비주얼 스튜디오를 사용할텐데

F5를 누르면 우리가 작성한 프로그램이 실행하게 된다.

마찬가지로 자바를 배운다면 이클립스를 주로 사용할텐데

이클립스에서는 F11을 누르면 역시 동일하게 작성한 프로그램이 실행한다.

이 때 출력하는 코드를 작성해놨다면

콘솔창에 내가 작성한 값 또는 문자()이 출력될 것이다.

그렇다면 출력은 어떻게 해야 하는 것일까?

 

2. 자바 프로그래밍에서 출력 명령어

 

우리는 지금 자바를 배우고 있으니 자바에서 쓰이는 출력 코드를 알아보도록 하자.

우리가 앞으로 가장 많이, 자주, 지겹도록 쓸 명령어이기 때문에 꼭 기억하도록 하자.

자바에서 값 또는 내가 입력한 문자(열)을 출력하는데 쓰이는 명령어

 

System.out.println();

 

이 되겠다.

명령어가 조금 길어서 외우는게 힘들수도 있지만

의외로 사용할 때는 간단하게 사용할 수 있으니

일단은 명령어 전체를 알아두도록 하자.

앞서 프로그래밍을 배우면 가장 먼저 하는 연습이 있다고 했는데

바로 “Hello World”를 출력하는 것이다.

이 작업은 정말 간단하다.

이클립스를 켜고 이렇게 써보자.

 

예시)

System.out.println(“Hello World”);

 

이렇게 작성하고 F11을 누르면 콘솔(Console)이라고

화면 아래에 무슨 창이 새로 뜨면서

내가 입력했던 Hello World가 출력되는 것을 확인할 수 있다.

, 이 결과를 보면서 알아보면

System.out.println();

일단 ( )안에 입력한 값들을 콘솔창에 그대로 띄워준다는 것은 알 수 있을 것이다.

내가 쓴 내용 그대로 말이다.

그런데 ( )안에 보면 Hello World만 있는 것이 아니라

“ ”(큰 따옴표)가 같이 적혀 있는 것을 알 수 있다.

이렇게 보니 콘솔창에는 “ ”가 없이 Hello World만 출력되었다는 것을 볼 수 있다.

, System.out.println();( )안에 “ ”안에 있는 문자열을 있는 그대로 출력해준다.

그래서 내가 콘솔창에 무언가를 출력하고 싶다면

 

System.out.println(“내가 쓰고 싶은거”);

 

로 쓰고 내가 쓰고 싶은거를 바꾸기만 하면 그대로 출력된다.

이렇게 ( )안에는 내가 원하는 무엇이라도 쓸 수 있다.

예시처럼 Hello World를 넣을 수도 있고

우리들이 프로그램을 작성하면서 선언한 변수도 넣을 수 있고

심지어 연산자들을 집어넣어서 계산식도 넣을 수 있다.

하지만 모든 내용을 그냥 넣을 수 있는 것은 아니다.

그 규칙들에 대해서 간단하게 알아보도록 하자.

 

3. System.out.println();의 규칙

 

거창하게 규칙이라고 썼듯이

꼭 지켜야하는 형식System.out.println();이 가지고 있다.

엄청 복잡한 것은 아니지만 처음 접한다면 조금 이해하기 어려울 수 있으니

처음부터 정확하게 이해하는 것이 중요하다.

 

먼저 위의 예시와 같이 사용자가 임의로 마음대로 작성할 때이다.

모든 임의의 문자열은 " "(큰 따옴표)안에 넣어야 한다.

큰 따옴표는 이 내용은 '문자열입니다'라고 표시하는 기능을 하는데

이 안에 있는 내용들은 어떤 것을 적더라도 그대로 출력해준다.

(특별한 명령어가 있긴 하지만 일단 무시하자.)

심지어 띄어쓰기마저도 그대로 출력해주니 연습삼아서라도 아무거나 입력해보자.

 

그런데 여기에서 " "(큰 따옴표)를 꼭 붙여야한다고 했는데

그럼 큰 따옴표를 붙이지 않는 것도 있을까?

정답은 당연히 존재한다.

 

하지만 용도가 전혀 다르니 새로운 것을 접해보자.

우리가 System.out.println();( )안에는 값 또는 결과도 넣을 수 있다고 앞서 언급했었다.

바로 그 값과 결과를 넣을 때 " "없이 그냥 변수명 또는 식을 그대로 넣는 것이다.

다시 한 번 예시를 들어보자.

 

예시1)

int i = 0;
System.out.println(i);

이렇게 변수를 선언하고 ( )안에 변수명을 그대로 집어 넣으면

콘솔창에 0이라고 바로 출력이 될 것이다.

또 하나의 예시를 보자.

 

예시2)

int a = 3;
int b = 5;
System.out.println(a < b);
System.out.println(a + b);

라고 작성하면 순서대로

 

결과)

true

8

 

이라고 출력이 될 것이다.

즉, 우리가 원하는 임의의 문자열을 넣겠다면 " "를 꼭 붙여야하고

그 외의 변수나 값을 직접적으로 넣겠다면 " "를 붙이지 않고

변수명 혹은 값을 적으면 된다.

그런데 조금 눈에 띄는 부분이 보이지 않는가?

바로 예시2)가 출력된 결과를 보면

 

true

8

 

이라고 적었는데 일부러 이렇게 적은게 아니라 콘솔창에 출력해도 똑같은 결과가 나타난다.

다시 말해, System.out.println(a < b);가 출력되고

줄 바꿈을 하고 System.out.println(a + b);가 출력된 것이다.

여기에서 println을 잘 살펴볼 필요가 있는데

print뒤에 ln이 붙게 되면 해당 줄을 다 읽고 실행하면 줄바꿈을 하는 동작을 하게 된다.

그래서 결과가 true8이 아니라 

true

8

로 출력되는 것이다.

여기에서 print뒤에 ln을 지우고 작성하면 어떻게 될까?

 

예시3)

int a = 3;
int b = 5;
System.out.print(a < b);
System.out.print(a + b);

 

예시2)와 똑같이 코드를 작성했으나 print뒤에 ln을 모두 지운 상태이다.

이 코드를 실행하면 콘솔창에

 

결과)

true8

 

이라고 출력이 될 것이다.

즉, print만 사용하면 줄바꿈없이 이어서 계속 출력하는 것이다.

printlnprint의 차이를 잘 이해하고 있도록 하자.

나중에 엄청 유용하게 쓰일테니까.

 

4. System.out.println();에 여러 형태의 값을 동시에 집어넣기

 

제목이 조금 애매할 수도 있을텐데

쉽게 말해서 저 ( )안에 문자열과 변수, 그리고 값들을 한번에 집어넣어서

출력하는 방법을 말하는 것이다.

만약 우리가 아래의 결과를 콘솔창에 출력하려면 어떻게 해야할까?

 

결과)

안녕하세요. 기호 3번 홍길동입니다.

 

라는 결과를 출력해야하는데 그냥 출력을 한다면 별 문제가 없을 것이다.

그냥 저 문장 전체를 " "안에 넣고 그대로 출력하면 될테니까

그런데 문제가 있다.

만약 int a = 3;이라는 코드가 추가되어 있고

저기 기호 3번에서 3은 우리가 임의로 적는 숫자가 아니라

변수 a를 이용해서 출력해야한다면 어떨까?

그래서 등장하는 것이 바로

 

+

 

이다.

뜬금없이 산술 연산자가 등장하는지 의문이 들겠지만

+가 우리가 고민하고 있는 문제를 해결해 줄 것이기 때문이다.

그렇다면 도대체 어떻게 사용해야 된다는 것일까?

정답부터 적어보자면 이렇게 쓰면 된다.

 

예시)

int a = 3;
System..out.println("안녕하세요. 기호 " + a + "번 홍길동입니다.");

 

이렇게 작성하고 출력하면 콘솔창에

 

안녕하세요. 기호 3번 홍길동입니다.

 

라고 출력이 될 것이다.

여기에서 +의 역할은 바로 다른 형식(타입)의 값들을 연결해서 이어주는 역할이다.

더 정확히는 문자열과 기본형 타입들이 계속해서 이어져 나왔을 때

하나의 문장처럼 만들어주는 역할을 하는 것이다.

다시 말해, 구분자이면서 연결자가 되는 것이다.

위의 예시에서 +앞에 나온 " "안의 문자열

변수 a전혀 다른 타입이라는 것을 눈치채야 한다.

마찬가지로 뒤의 +에 연결되어 있는

변수 a와 " "안의 내용들 역시 다른 타입이다.

 

이렇게 다른 타입들이 구분자없이 계속해서 이어서 나온다면

컴퓨터는 어디에서 뭐가 어떻게 연결되고 있는지 알 수가 없다.

그래서 우리는 +라는 구분자로 컴퓨터에게 + 앞과 뒤는 다른 형태의 값이다라과 알려주는 동시에

다른 형태의 값을 하나의 문장으로 연결해주는 연결자의 역할을 동시에 하는 +를 쓰는 것이다.

그렇기 때문에 위의 예시처럼 문자열과 변수를 하나의 println() 안에 쓸 수 있게 되는 것이다.

 

5. 마무리

 

자바 프로그래밍에서 가장 기본이 되는 출력 명령어인

System.out.println();에 대해서 알아봤다.

System.out.println();에는 ( )안에 " "을 사용해서 내가 원하는 임의의 문장을 자유롭게 쓸 수 있고

콘솔창이라고 불리는 장소에 그대로 출력도 가능하다.

그런데 println()에는 2가지 종류가 있는데

바로 ln이 붙어있는 println()

ln이 없는 print()의 형태로 사용할 수 있다.

println()은 문장이 끝나면 자동으로 줄바꿈을 해주고

print()는 문장이 끝나도 자동으로 줄바꿈을 하지 않고 다음 줄의 내용을 계속 이어서 출력한다.

그리고 println()안에서 다른 형식의 값들이 계속 이어져야 할 때

+라는 구분자인 동시에 연결자를 사용하는데

문자열 + 변수 + 문자열 등과 같은 형태로 내용을 하나의 문장처럼 이어주는 역할을 한다.

Comments