No. 01 |
|
| |
출력 - println() |
개발자가 열심히 프로그래밍을 하더라도 결과를 볼 수 있는 명령문을 실행하지 않으면 절대 직접 눈으로 볼 수 없다. 결과를 봐야 이 프로그램이 내가 생각한대로 잘 돌아가고 있는지 알 수 있다. println은 자바에서의 기본 출력문으로 가장 많이 사용되며 출력하고 싶은 내용 그대로를 입력하여 출력한다.
println()
System.out.println("문자열");
또는
System.out.println(변수명);
또는
System.out.println("문자열"+변수명);
- 문자열을 출력하기 위해서는 큰따옴표로 묶어줘야 한다.
- 큰 따옴표 없는 것은 모두 변수명으로 인식한다. (입력한 변수명이 없을 경우 에러발생)
- 문자열과 변수명을 함께 사용할 수 있으나 반드시 '+'로 연결시켜줘야 한다.
- 가로안의 내용을 출력한 후 자동으로 줄바꾸는 기능이 있다.
Tip) 이클립스에서는 'sysout' 이라고 입력하고 'ctrl+space'를 누르면 System.out.println()이 자동 입력된다.
◈ 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class Println { public static void main(String[] args) { //기본 출력문 println() //sysout + 자동완성(ctrl + space) int number = 10; String str = "안녕, 자바"; System.out.println("Hello, World."); //문자열 출력 System.out.println(number); //int형 변수 출력 System.out.println(str); // String형 변수 출력 System.out.println("내 나이는 "+number+"살 입니다."); // 문자열 + 변수 출력 }//main }//class |
실행 결과
Hello, World.
10
안녕, 자바
내 나이는 10살 입니다.
· String과 기본형은 저장된 값 그대로 출력된다.
· 변수와 문자열을 '+'로만 이어주면 같이 사용할 수 있다.
· 실행 결과를 보면 자동으로 내용을 출력 후 줄바꿈 기능이 있는걸 볼 수 있다. 절대로 명령문을 한줄에 하나씩 써서 줄바꿈이 된 것이 아니다.
No. 02 |
|
| |
형식화된 출력 - printf() |
기본 출력문은 println()은 변수의 값을 그대로 출력하므로, 값을 변환하지 않고는 다른 형식으로 출력할 수 없다.
반면에 printf()는 지시자를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력할 수 있다.
printf()
System.out.printf("출력 서식",출력할 내용);
- 출력 후 줄바꿈을 하지 않는다. 줄바꿈을 하려면 지시자 '%n'을 넣어줘야 한다.
- 출력하려는 값의 수만큼 지시자도 사용해야 한다.
- 출력될 값과 지시자의 순서는 일치해야 한다.
- 지시자를 제외한 문자는 입력한 그대로 출력된다.
출력 서식
%[-][0][n][.m]지시자
- 출력 서식의 지시자를 제외한 나머지는 생략 가능하다. 예) %d 식으로 사용 가능.
- n : 출력할 전체 자리수 지정(오른쪽 정렬). 예) %3d, 전체자리수가 3인 정수
- 0 : 전체 자리수가 지정된 경우 왼쪽의 남는 자리에 0을 출력. 예) %03d
- - : 전체 자리수가 지정된 경우 왼쪽 정렬하고 빈칸에 공백 출력.
- .m : 소수점 아래 자리수 지정. 잘리는 소수점 자리수는 반올림 시켜서 표시. 예)3.2f
지시자 |
설명 |
%b |
boolean 형식으로 출력 |
%d |
정수 형식으로 출력 |
%o |
8진수 정수의 형식으로 출력 |
%x 또는 %X |
16진수 정수의 형식으로 출력 |
%f |
소수점 형식으로 출력 |
%c |
문자형식으로 출력 |
%s |
문자열 형식으로 출력 |
%n | 줄바꿈 기능 |
%e 또는 %E |
지수 표현식의 형식으로 출력 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class Printf { public static void main(String[] args) { int age = 10; String addr = "경기도"; //'%n'지시자를 사용 안 했을 경우 System.out.printf("줄바꿈 기능"); System.out.printf("없음."); //'%n'지시자를 사용한 경우 System.out.printf("줄바꾸기%n"); System.out.printf("성공!%n"); System.out.printf("내 나이는 %d살 입니다.%n",age); System.out.printf("내 나이는 %d살 이고 %s에 살고 있습니다.%n",age,addr); }//main }//class |
실행 결과
줄바꾸기 기능없음.줄바꾸기
성공!
내 나이는 10살 입니다.
내 나이는 10살이고 경기도에 살고 있습니다.
· 기본적으로 줄바꿈 기능이 없고 '%n'지시자를 사용한 곳에서 줄바꾸는 기능을 하는 것을 볼 수 있다.
· 지시자의 수와 출력하려는 값의 수는 같아야 하며 출력하려는 값은 콤마(',')로 구분한다.
· 출력하려는 값은 지시자의 순서와 같아야 한다.
· 지시자의 형식과 출력하려는 값의 형식이 같지 않으면 에러가 발생한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public class Printf { public static void main(String[] args) { //자리수 지정은 안 했을 경우 왼쪽으로 정렬된다. System.out.printf("자리수 미지정 :%d%n",1); System.out.printf("자리수 미지정 :%d%n",10); System.out.printf("자리수 미지정 :%d%n",100); System.out.printf("자리수 미지정 :%d%n",1000); //자리수 지정했을 경우 오른쪽으로 정렬된다.(남는 자리수는 공백) System.out.printf("자리수 지정 :%4d%n",1); System.out.printf("자리수 지정 :%4d%n",10); System.out.printf("자리수 지정 :%4d%n",100); System.out.printf("자리수 지정 :%4d%n",1000); //자리수 지정 후 '-'사용하면 왼쪽으로 정렬된다. System.out.printf("자리수 지정('-'사용) :%-4d%n",1); System.out.printf("자리수 지정('-'사용) :%-4d%n",10); System.out.printf("자리수 지정('-'사용) :%-4d%n",100); System.out.printf("자리수 지정('-'사용) :%-4d%n",1000); //자리수 지정 후 '0'사용하면 오른쪽으로 정렬된다. (왼쪽 자리수는 0으로 채운다) System.out.printf("자리수 지정('0'사용) :%04d%n",1); System.out.printf("자리수 지정('0'사용) :%04d%n",10); System.out.printf("자리수 지정('0'사용) :%04d%n",100); System.out.printf("자리수 지정('0'사용) :%04d%n",1000); }//main }//class |
실행 결과
자리수 미지정 :1
자리수 미지정 :10
자리수 미지정 :100
자리수 미지정 :1000
자리수 지정 : 1
자리수 지정 : 10
자리수 지정 : 100
자리수 지정 :1000
자리수 지정('-'사용) :1
자리수 지정('-'사용) :10
자리수 지정('-'사용) :100
자리수 지정('-'사용) :1000
자리수 지정('0'사용) :0001
자리수 지정('0'사용) :0010
자리수 지정('0'사용) :0100
자리수 지정('0'사용) :1000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class Printf { public static void main(String[] args) { float f = 1.2345f; //소수점 자리수 미지정시 System.out.printf("소수점 자리수 미지정 : %f%n",f); //소수점 자리 지정시 System.out.printf("소수점 자리수 지정 : %.3f%n",f); }//main }//class |
실행 결과
소수점 자리수 미지정 : 1.234500
소수점 자리 지정 : 1.235
· 소수점 자리를 3자리로 지정했기 때문에 4번째 자리에서 반올림한 결과를 출력한다.
'JAVA' 카테고리의 다른 글
[Java 12] 연산자란? (0) | 2017.11.21 |
---|---|
[Java 11] 자바에서 키 입력(Scanner) (1) | 2017.11.20 |
[Java 09] 형변환(casting) (0) | 2017.11.19 |
[Java 08] 문자열 - String (1) | 2017.11.18 |
[Java 07] 문자형 - char (0) | 2017.11.18 |