Categories: Java 언어Korean

Java 총 정리[6. 출력]

출력

이제 코딩을 해서 프로그램을 구현을 해야 하는데 이전에 배웠던 변수, 연산자, 자료형 등 여러 가지가 있지만 우선 프로그램이라고 하려면 무엇을 명령어 출력이 되거나 원하는 형태로 표현이 되는 것을 원합니다. 하지만 이 방법을 모른다면 프로그램을 구현을 할 수 없겠죠? 그럼 Java 언어를 활용해서 기본적인 출력을 할 수 있는 것을 알아보고 사용을 한다면 어렵지 않으실 겁니다.

그럼 Eclipse를 활용해서 출력을 하려면 어떻게 하면 될 까요? 어떻게 보면 출력은 행위가 일어나는 것이기 때문에 기능이라고 볼 수 있습니다. 이런 것은 Java에서 메소드라고 하는 곳에 구현이 되어서 사용이 되는데 지금은 메소드를 배우지 않았기 때문에 명령문이나 실행문이라고 생각을 하셔도 됩니다. 이 글을 처음부터 같이 하신다면 출력을 하실 수 있습니다.

Java에서 출력을 할 수 있는 명령문이나 실행문인 메소드는 무엇일까요? 출력을 하는 기능을 다 알 수 있습니다. 여러 가지를 잘 사용을 하는 것이 좋기 때문에 많이 사용을 하는 것을 추천 드립니다.

출력문

System.out.print();

System.out.println();

System.out.printf();

위와 같이 print(), println(), printf()와 같은 메소드를 활용해서 출력을 할 수 있습니다.

이 글을 끝까지 함께한다면 출력을 하실 수 있습니다.

※ 출력 메소드를 사용 하는 것을 암기해서 사용을 하려고 하지 마시고 공부를 하시다 보면 많이 사용을 하게 되어 자연히 잘 사용을 하실 수 있습니다.

출력 메소드

Java에서 출력을 하게 위해서 위에서 배운 출력 메소드를 사용을 하면 됩니다.

  1. print(“문자열”);  => 소괄호 안에 있는 문자열이 그대로 출력이 됩니다.
  2. println(“문자열”) => 소괄호 안에 있는 문자열이 그대로 출력이 하고 그 이후에 개행이 일어나서 줄이 한 줄 내려가게 됩니다.
  3. printf(“문자열 or 형식 지정자”, 형식 지정자와 같은 자료형의 데이터) => 문자열에 형식 지정자가 포함되어 있는데 그 형식 지정자에 대입이 될 데이터는 쉼표 뒤에 정의를 해줍니다. 그럼 앞에서 순차적으로 치환이 됩니다.

※ 특수 문자에서 ‘\n’을 쓰시면 개행이 됩니다. 개행이 안되는 메소드여도 ‘\n’을 넣어주면 개행이 됩니다. 또한 println();에 ‘\n’을 넣으면 개행이 두 줄이 내려가게 됩니다. 

System.out.print("FoxPacking");      //FoxPacking이 출력이 된다.
System.out.println("돌고래"); //Foxpacking 뒤에 돌고래가 같이 출력이 된다. 
System.out.printf("%s","삶"); // Foxpacking 돌고래 개행이 되서 밑에 삶이 추가되서 출력이 된다.
//Foxpacking 돌고래
//삶

위에 사진처럼 main중괄호 안에 출력 메소드를 작성하고 문자열이나 또는 형식 지정자 그리고 print, println, printf를 사용해서 출력에 대한 기능을 동작을 하게 구현을 하고 상단에 있는 초록색 세모 버튼을 클릭하시면 프로그램이 실행이 되게 됩니다. 그러면 Console이라는 창이 아래 생기고 결과가 나오게 됩니다. 

결과

Foxpacking 돌고래

이렇게 출력이 됩니다. 아래 사진을 보시면 결과를 확인을 하실 수 있습니다.

이제 변수를 생성하고 변수를 출력하는 것을 보겠습니다. 기본 자료형인 int를 선언하고 출력 메소드를 이용해서 출력을 할 때 유의 점을 담았습니다. 참고 해주세요.

int a = 10;
int b = 20;

System.out.print("a + b = " + a + b +"\n");  // a + b = 1020  개행
System.out.print("a + b = " + (a + b) +"\n"); // a + b = 30   개행
System.out.println("a + b = " + a + b); // a + b = 1020 개행
System.out.printf("a / b = %.2f",((float)a/(float)b)); // a / b = 0.50
System.out.printf("a / b = %.2f\n",((float)a/(float)b)); // a / b = 0.50 개행 

위에 소스를 보면 문자열과 +연산자를 활용해 정수형인 int변수를 더하고 있습니다. 이때 출력을 보시면 최초에 int a, b를 선언을 하고

첫 번째 출력

첫 번째 출력 메소드를 보면 a+b = 30이 출력되고 ‘\n’에 의해서 개행이 될 것이라고 생각을 하지만 a+b = 1020이 출력 됩니다.

이 이유는 문자열과 정수형이 더하기 연산을 하면 무조건 문자열로 변하기 때문에 a의 값이 10은 문자열 10이되고 b의 값은 20라는 문자열이 됩니다.

그리고 문자열과 문자열을 +연산을 하면 이어 쓰기로 출력이 되기 때문에 결과는 a+b = 1020이 출력이 되는 것입니다. 

두 번째 출력

두 번째 출력 메소드 같은 경우에는 저희가 원하는 a+b = 30이 출력이 되게 됩니다. 이 경우는 () 소괄호를 사용하여 우선 순위가 1순위로 실행이 되어서 a+b를 먼저 수행을 하고 문자열과 +연산이 일어났기 때문에 원하는 결과가 나왔지만 30역시 문자열입니다.

세 번째 출력

세 번째 출력 메소드는 첫 번째 출력 메소드와 동일하고 개행 특수 문자만 없는 결과가 나와서 println()이기 때문에 개행을 하게 됩니다.

네 번째 출력

네 번째 출력 메소드는 a / b = %.2f라고 하면 f는 실수 자료형을 출력을 합니다.

실수는 소수점이 있는데 그걸 제어하기 위해 f 앞에 .2f를 넣은 것입니다. .2는 소수점 둘째 자리까지 출력을 하라는 의미이고 이때 세번째 자리의 값을 반올림을 합니다.

그리고 형식 지정자에 치환이 될 값은 정수형인 a와 b를 실수로 형 변환으로 형 변환을 해서 10.0/20.0으로 계산을 합니다.

이 경우 10/20은 0.5인데 소수점 둘째 자리까지 출력을 하라고 했기 때문에 0.50이 출력이 됩니다.

0.50은 문자열과 더하기 연산을 하여서 문자열이 됩니다.

다섯 번째 출력

다섯 번째 출력에서는 네 번째 출력에 개행이 없기 때문에 그 뒤에 바로 나오게 됩니다. 결과는 네 번째 출력과 동일합니다.

※ 알아 두면 좋은 것

문자열과 + 다른 자료형을 하면 다른 자료형이 자동으로 문자열로 바뀝니다.

문자열 + 문자열을 하면 문자열이 이어 쓰기가 됩니다.

실수 같은 경우 .2와 같이 형식 지정자 앞에 적어주시면 원하는 자릿수의 소수점 출력이 됩니다.

\b 출력을 할때 마지막문자를 지웁니다.(Backspace)
\t 탭의 크기만큼 띄워 쓰기를 시작합니다.(Tab)
\n 개행을 합니다.(Linefeed)
\f 시작위치를 다음페이지로 이동합니다.(Formfeed)
\r 문자를 한칸을 이동해서 시작합니다.(Carriage Return)
\\ 백슬러쉬를 출력합니다.(Backslash)
\' 작은따옴표를 출력합니다.(Single Quote)
\" 큰따옴표를 출력합니다, (Double Quote)
%d 부호가 있는 10진수 출력을 합니다. (byte, short, int, long
%X, %x 16진수를 출력(양수만 가능)을 하고 X의 경우 대문자로 출력을 합니다.(int)
%o 양수 8의 진수를 출력을 합니다.(int)
%c 한 개의 문자 출력(char)
%f 고정 소수점 실수 출력(float)
%E, %e 부동 소수점 실수 출력 대문자 E의 경우 지수 문자로 'E'를 사용합니다.(double)
%G, %g 소수점 이하 자리수가 고정 또는 부동소수점으로 출력, 자리수가 짧은 것을 기준으로 선택해서 출력을 합니다. 대문자 G의 경우 지수 문자로 'E'를 사용합니다.(double)
%s 문자열 출력합니다.(String)
%% %를 출력합니다.
Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.