[Java] 콘솔 출력, Output
by 캐떠린콘솔 출력을 알아보기에 앞서 먼저 콘솔 입출력에 대해 알아보자.
콘솔 입출력, Console Input Output
- 기본 입력 장치: 키보드
- 기본 출력 장치: 모니터
콘솔 출력을 위해서 자바에서는 아래 3가지 메서드를 사용한다.
하나씩 살펴봐보자!
- System.out.println(값)
- println 메서드
- (print line)
- 값을 줄단위로 출력한다. → 값을 출력한 뒤 엔터를 친다.
- System.out.print(값)
- print 메서드
- 값을 출력한다. → 그리고 아무것도 안 한다.(줄바꿈 X)
- System.out.printf(값)
- printf 메서드
- (print format)
- 형식 문자를 제공한다.
- %s: String
- %d: Decimal(모든 정수) → byte, short, int, long
- %f: Float(모든 실수) → float, double (※기본값으로 소수 이하 6자리까지 출력)
- %c: Char
- %b: Boolean
- 편리함 + 가독성 有
printf 형식 문자의 확장 기능
1. %숫자s, %숫자d, %숫자f, %숫자c, %숫자b
- 숫자가 데이터에 출력할 너비를 지정한다.
- 탭문자와 유사한 역할
- +(양수): 우측 정렬
- -(음수): 좌측 정렬
int num = 123;
System.out.printf("[%d]\n", num);
System.out.printf("[%10d]\n", num); //10칸을 확보하고, 그 안에서 데이터를 출력
System.out.printf("[%-10d]\n", num);
System.out.printf("[%3d]\n", 12345);
System.out.printf("[%10b]\n", true);
System.out.printf("[%10s]\n", "?");
2. %.숫자f
- 소수점 이하 자릿수를 지정한다.
- 실수에서만 사용 가능
- 별도 지정 없이 %f형식으로 사용 시 소수 이하 6자리를 출력한다.
- ※주의※ 케이스마다 반올림이 발생, 발생하지 않는 경우가 있으니 모든 경우를 외울 수 없으면 직접 입력해봐서 확인하면 된다.(숫자가 중요한 업무들이 있기 때문에 상황에 맞게 보고 사용할 것)
double num2 = 3.15;
System.out.printf("%f\n", num2);
System.out.printf("%.2f\n", num2); //반올림 됨.
System.out.printf("%.1f\n", num2); //반올림 됨.
System.out.printf("%.0f\n", num2); //반올림 됨.
3. %,d, %,f
- 천단위를 표기한다.
- 숫자형에는 다 사용이 가능하다.
int price = 1234567;
System.out.printf("금액: %d원\n", price);
System.out.printf("금액: %,d원\n", price);
※ 위의 모든 경우를 동시에 사용 시, %,자리수,소수이하f 순서로 입력해야 컴퓨터가 이해한다.
double num3 = 1234567.89012345;
System.out.printf("[%,20.2f]\n",num3); //자리수 및 소수점까지 다 포함하여 20자리
//출력: [ 1,234,567.89]
여러가지 출력문 예시
//성적표 출력하기
String name1 = "홍길동";
int kor1 = 100;
int eng1 = 90;
int math1 = 80;
String name2 = "아무개";
int kor2 = 85;
int eng2 = 77;
int math2 = 89;
System.out.println("====================================");
System.out.println(" 성적표");
System.out.println("====================================");
System.out.println("[이름]\t[국어]\t[영어]\t[수학]");
System.out.print(name1);
System.out.print("\t");
System.out.print(kor1 + "\t");
System.out.print(eng1 + "\t");
System.out.print(math1 + "\r\n");
System.out.println(name2 + "\t" + kor2 + "\t" + eng2 + "\t" + math2);
//요구사항] "안녕하세요. 홍길동님" 문장을 출력하시오.
String name = "홍길동";
System.out.println("안녕하세요. " + name + "님");
System.out.printf("안녕하세요. %s님\n", name); //한번에 출력되는 모습이 println을 사용한 것에 비해 가독성 좋다.
//출력1: 안녕하세요. 홍길동님
//출력2: 안녕하세요. 홍길동님
System.out.printf("저는 %s입니다. 나이는 %d살이구요. 키는 %fcm입니다. 혈액형은 %c형입니다. %b\n", "홍길동", 20, 175.3, 'O', true);
//출력: 저는 홍길동입니다. 나이는 20살이구요. 키는 175.300000cm입니다. 혈액형은 O형입니다. true
System.out.println("=======================");
System.out.println(" 음료 가격(단위:원)");
System.out.println("=======================");
System.out.printf("콜라:\t\t%,6d\n", 2500);
System.out.printf("사이다:\t\t%,6d\n", 3500);
System.out.printf("라테:\t\t%,6d\n", 500);
System.out.printf("아메리카노:\t%,6d\n", 15000); //가장 많은 자릿수에 맞춰서 간격 조절하면 우측정렬 되어 보기 편함!
*글 작성에 참고한 내용: 학원 쌤의 열정적인 수업
'Java' 카테고리의 다른 글
[Java] 콘솔 입력, Input과 에러의 종류 :: System.in.read(), BufferedReader, Scanner (0) | 2024.04.13 |
---|---|
[Java] Escape Sequence, 자바의 이스케이프 문자 (0) | 2024.04.02 |
[Java] 자바의 자료형(Java의 Data Type), 변수(Variable) (3) | 2024.03.29 |
[Java] Java 기본 용어 해설 :: 패키지, 클래스, 메서드 (2) | 2024.03.28 |
[Java] Eclipse 실행 및 환경 설정 (0) | 2024.03.28 |
블로그의 정보
All of My Records
캐떠린