print와 println, printf에 대해 배워보자.
System.out.print() : 단순 출력(출력 후 줄바꿈 X)
System.out.println() : 한 줄 출력(출력 후 줄바꿈 수행)
줄바꿈이라는 차이점은 있지만 괄호안의 내용이 그대로 나온다는것은 똑같음
System.out.println("테스트1"); //테스트1
System.out.println("테스트2"); //테스트2
System.out.print("테스트3"); //테스트3(줄바꿈이없음)
System.out.println(); // 내용없는 println 단순 줄바꿈
프린트 구문 자동완성 : syso ctrl+space
System.out.print("테스트4"); //테스트4(줄바꿈없음)
System.out.printf() : 출력될 문자열 형식을 패턴으로 지정하는 출력구문
int iNum1 = 10;
int iNum2 = 5;
// 10 + 5 = 15을 출력하고 싶다면 println으로는
System.out.println( iNum1 + " + " + iNum2 + " = " + (iNum1 + iNum2));
// printf로는
System.out.printf("%d + %d = %d", iNum1, iNum2, iNum1 + iNum2);
printf
%d : 정수형, %o : 8진수, %x : 16진수
%c : 문자, %s : 문자열
%f : 실수(소수점 아래 6자리), %e : 지수형태표현, %g : 대입값 그대로
%A : 16진수 실수
%b : 논리형
d는 decimal(십진법)의 약자
System.out.printf("패턴", 패턴에 들어갈 값);
// 10 + 5 = 15
System.out.printf("%d + %d = %d\n", iNum1, iNum2, iNum1 + iNum2);
// 줄바꿈 하려면 \n 붙여줘야한다.
// 10 + 10 * 5 / 2 = 35
System.out.printf("%d + %d * %d / %d = %d\n", iNum1, iNum1, iNum2, 2, iNum1 + iNum1 * iNum2 / 2);
// 패턴 연습
int iNum3 = 3;
System.out.printf("%d\n", iNum3);
System.out.printf("%5d\n", iNum3); // 5칸 공간 확보 후 오른쪽 정렬
System.out.printf("%-5d\n", iNum3); // -5칸 공간 확보 후 오른쪽 정렬
// 소수점 자리 제어 (반올림 처리)
System.out.printf("%f\n", 10 / 4.0); //2.500000
System.out.printf("%.2f\n", 10 / 4.0); // 소수점 둘째짜리까지만 나타내고 싶다
System.out.printf("%.0f\n", 10 / 4.0); // 소수점 아래를 표현하지 않겠다.
// 나중에 배울 if문과 조합하면 아까고민했던 소수점이 .0으로 끝날때 표현하지 않는 방법이 사용 가능할듯하다.
// 문자, 문자열 boolean
boolean isTrue = false;
char ch = '김';
String str = "안녕하세요"; //String은 참조형(기본자료형을 뺀 나머지)
// false / 김 / 안녕하세요
System.out.printf("%b / %c / %s\n", isTrue, ch, str);
escape(탈출) 문자 : 일반 문자가 아닌 특수문자 표현 (\ ' ")
System.out.println("\\"); // 백슬래시(역슬래시) 출력 방법
// \o/
System.out.println("\\o/");
// "
System.out.println("\"");
// \\\\
System.out.println("\\\\\\\\"); // \뒤에하나만적용 \4개필요
System.out.println("a\tb\tc\td"); // tab 출력
// 한공간씩 표현 X, 한번에 공간 차지
유니코드 이스케이프
System.out.println("\u0041");
// 유니코드(16진수)
// 65를 16진수로 표현
// 65 나누기 16하면 몫 4고, 나머지 1
printf 연습
String a = "1";
System.out.printf(a);
System.out.println();
System.out.println("-----------------------");
int b = 1;
System.out.printf("%d\n", b);
System.out.println("-----------------------");
System.out.printf(a + a + a);
System.out.println();
System.out.printf("%d %d %d", b, b, b);
// 1
// -----------------------
// 1
// -----------------------
// 111
// 1 1 1