System.out의 기본
1. 화면에 내용을 출력
프린트 명령어 - '메소드'라고 부름 자바에서는
a. System.out.println() : 괄호 안의 내용을 출력한 후 한 행을 띄움 (라인피드)
b. System.out.print() : 괄호 안의 내용을 출력한 후 한 행을 띄우지 않고 유지 (입력한 데이터값 이어서 출력)
c. System.out.printf() : 서식을 지정해서 출력 (가장 중요하고 많이 씀)
형식 지정 - 정수 / 실수 / 문자 / 문자열
printf(100) 입력하면 앞에서 %d 정수 출력 %f는 소수로 출력 소수점 붙여서
System.out.println("100")
System.out.println("200")
출력되면
100 (enter)
200
그냥 프린트는 100200 붙여서 출력
2. System.out.printf() 메소드의 기본적인 사용법
System.out.println("안녕하세요?");
System.out.println("Java입니다.");
안녕하세요?
Java입니다.
System.out.print("안녕하세요?");
System.out.print("Java입니다.");
안녕하세요?Java입니다.
System.out.printf("안녕하세요?");
안녕하세요?
- TIP : println()에서 ln은 line feed의 약자로 행을 넘긴다는 의미이다.
System.out.printf()에서 f는 format의 약자로 서식을 지정한다는 의미이다.
System.out.pirntf("100");
100
System.out.printf("%d",100);
100
- 위 첫 번째 System.out.printf("100")의 결과 100은 숫자 100이 아닌 글자 100(일영영)
- 두 번째 System.out.printf("%d", 100)의 결과 100은 숫자 100을 의미한다. 서식(%d)이 지정된 '숫자'는 그대로 숫자의 의미이다.
public class EX03_02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.printf("100+100"); //모두 글자로 취급
System.out.printf("\n"); //System.out.printf()는 행이 넘어가지 않으므로 강제로 행이 넘어가게 함
System.out.printf("%d", 100+100); //숫자와 계산해서 결과를 출력
System.out.printf("\n"); //System.out.printf()는 행이 넘어가지 않으므로 강제로 행이 넘어가게 함
}
}
100+100
200
| 커서는 여기. 마지막에 \n으로 개행했으니까
-"%d"는 정수(decimal)를 의미, 서식의 개수와 큰따옴표 뒤에 나오는 숫자(또는 문자)의 개수가 같아야 한다.
System.out.printf("%d", 100, 200); //%d는 1개, 숫자는 2개이다. 200은 형식지정이 안 돼서 오류
System.out.printf("\n");
System.out.printf("%d %d", 100); //%d는 2개, 숫자는 1개이다.순차적으로 대응해서 두번째 %d 대응값이 없으므로 오류
System.out.printf("\n"); //System.out.printf()는 행이 넘어가지 않으므로 강제로 행이 넘어가게 함
100
100 오류~~
첫번째 100은 대응. 뒤가 안 돼서 오류.
3. 정수 외에 자주 사용되는 서식
System.out.printf("%d / %d = %d", 100, 200, 0.5); //%d가 3개, 숫자도 3개
System.out.printf("\n");
100 / 200 = 오류
서식과 숫자의 불일치 상황
System.out.printf()의 대표적 서식
서식 | 설명 | 값의 예 |
%d, %x, %o | 정수(10진수, 16진수, 8진수) | 10, 100, 1234 |
%f | 실수 (소수점이 있는 수) | 0.5, 1.0, 3.14 |
%c | 문자 반드시 한 글자이고 작은 따옴표(' ')로 묶여 이써야 함 | 'a', 'b', 'F' |
%s | 문자열 한 글자 이상이고 큰따옴표(" ")로 묶여 있어야 함 | "안녕", "abcdefg", "a" |
"a" 출력은 되겠지만 'ab'는 불가능
public class EX03_03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.printf("%d / %d = %f \n", 100, 200, 0.5); //정수 2개와 실수 1개를 출력
System.out.printf("%c %c \n", 'a', 'k'); //문자 2개를 출력
System.out.printf("%s %s \n", "IT CookBook", "JAVA"); //문자열 2개를 출력
}
}
100 / 200 = 0.500000
a k
IT CookBook JAVA