print : 괄호안 내용을 단순히 출력. 개행문자(=줄바꿈문자=\n) 포함안됨.
printf : C에서의 printf와 동일. %d, %s 등을 쓰기위해 사용. 개행문자 포함X
println : 괄호안 내용을 출력한 후 마지막에 개행문자가 포함되어 있어 출력후 한 줄 띄워짐.
<예시>
public class ThreadTest extends Thread{
public static void main(String[] args) {
int num = 5;
System.out.print("print ! " + num + "\n"); //print
System.out.printf("printf ! %d \n", num); //printf
System.out.println("println ! " + num); //println
}
}
결과화면
println 에는 개행문자가 없는데 밑에 한칸 띄워져 있음 !
출처 :
자바의 출력문(println, printf)
출력 - 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
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'지시자를 사용한 곳에서 줄바꾸는 기능을 하는 것을 볼 수 있다.
· 지시자의 수와 출력하려는 값의 수는 같아야 하며 출력하려는 값은 콤마(',')로 구분한다.
· 출력하려는 값은 지시자의 순서와 같아야 한다.
· 지시자의 형식과 출력하려는 값의 형식이 같지 않으면 에러가 발생한다.
◈ 예제2
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
◈ 예제3
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번째 자리에서 반올림한 결과를 출력한다.
출처 :
'Web Programming Language > JAVA' 카테고리의 다른 글
BitSet 클래스 (0) | 2025.02.17 |
---|---|
DTO와 VO (0) | 2025.02.12 |
Records (1) | 2025.02.12 |
orElse vs orElseGet 차이점 (0) | 2025.02.12 |
JAVA) Java 프로그램 실행 구조 (0) | 2020.11.18 |
댓글