-
[Java] 화면 출력 함수 - print(), println(), printf()Java 2022. 12. 12. 18:50
화면 출력 함수 - System.out.print(), System.out.println(), System.out.printf().
Java에서 위의 세 함수를 이용하여 출력하고자 하는 값을 넣으면 console에 값이 출력됩니다.
System.out.print() : 내용 출력 후 다음 행으로 이동하지 않습니다.
System.out.print(" ");
위의 코드처럼 ()안에 내용을 입력하면 그 내용이 화면에 출력되게 됩니다.
출력할 내용이 문자열로 되어 있으면 ""(큰따옴표)로 문자열을 감싸 주면 됩니다.
System.out.println() : 내용 출력 후 다음 행으로 이동하게 됩니다.
System.out.println(" ");
System.out.print()와 내용 입력 방법은 똑같이 ()안에 내용을 입력하고, 내용이 문자열으로 이루어져있으면 ""(큰따옴표)로 문자열을 감싸주면 됩니다. System.out.print()의 상위 버전이 System.out.println()이며. 다음행으로 이동하는지 이동하지 않는지의 차이점만 있습니다.
자바에서 내용을 화면에 출력 할 때, System.out.print()와 System.out.println()을 가장 흔히 사용하지만, 프로덕트 코드에서는 디버그시 System.out.println()을 지양해야합니다.
※ 프로덕트 코드에서 System.out.pritnln()을 지양해야 하는 이유 ※
프로덕트 코드에서는 System.out.println()대신 로깅 프레임워크를 사용해야합니다.
- 로깅 프레임워크는 로그 레벨에 따라 디버깅 정보를 로그하게끔 해줍니다. 레벨 별 출력이 가능하기 때문에, 원하는 정보만 골라서 로깅할 수 있습니다.
- System.out.println()은 레벨 별 출력이 불가능하고 오직 인포메이션 로그와 에러 로그로만 분류가 가능합니다. 레벨 별 출력이 불가능하다는 뜻은 필터링이 되지 않는 다는 것과 같습니다. 즉. 필터링이 되지 않으면 모든 정보를 출력해야 합니다. ▶ 효율 저하.
- System.out.println()은 printstream타입의 인스턴스인 out과 이 printstream클래스 io패키지 내에 있는 println()으로 구성되어 있습니다. 즉, println()은 I/O작업이며, 이는 I/O시스템 콜을 호출하여 커널모드에서 작업하기 때문에 CPU를 계속 점유합니다. ▶ 성능 저하.
- System.out.println()은 동기화 메서드 이기 때문에 System.out.println()을 호출하게 되면 I/O이 동기화처리 되어 운영 시 계속 작동하게되어(CPU점유) 서버나 프로그램에 영향을 끼쳐 성능이 저하되고, println()으로 디버그 처리한 부분은 일일이 주석처리, 해제해야합니다. ▶ 개발 및 운영의 효율 저하.
System.out.printf() : 내가 원하는 데이터 형식으로 출력한다. 줄바꿈은 되지 않는다.
System.out.printf("%d", 3);
System.out.printf()를 사용할 때에는 위에 코드와 같이 지시자를 사용하여 원하는 데이터 형식을 출력합니다.
지시자와 함께 플러그를 사용하면 더욱 다양한 형식으로 출력 가능합니다.
- 지시자
지시자 기능 %b boolean %d 10진수 %o 8진수 %x( =%X) 16진수 %f 실수형 10진수 %e( =%E) 지수형태 %c 문자 %s 문자열 %n 줄바꿈 - 플러그
플러그 기능 - 왼쪽 정렬 + 부호 출력 0 남는 자리 0으로 채움 , 일정 자리수 마다 구분 문자(,)표시 # 8진수, 16진수 표시시 접두사 포함 등
출력 형태 보안'Java' 카테고리의 다른 글
[Java] 리터럴(literal)이란? (0) 2022.12.16 [Java] 데이터 타입 (기본타입, 레퍼런스타입) (0) 2022.12.16 [Java] 자바 키워드 (0) 2022.11.21 [Java] 식별자란? (0) 2022.11.21 [Java] Eclipse 설치&실행 (0) 2022.11.20