Notice
Recent Posts
Recent Comments
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

printf(), toBinaryString() 본문

Java/JAVA1

printf(), toBinaryString()

빌드이너프 2023. 5. 14. 23:14

println()의 단점

출력형식 지정불가 = 변수의 값을 그대로 출력

값을 변환하지 않고는 다른 형식으로 출력할 수 없다

ex. 소수점 둘째자리까지 출력 불가 / 정수를 16진수 혹은 8진수로 출력 불가(10로만 출력 가능)

따라서 prinf()를 사용하면됨

public class practice {
    public static void main(String[] args) {
        System.out.println(10.0 / 3); // 3.3333333333333335
    }
}
public class practice {
    public static void main(String[] args) {
        System.out.printf("%.2f%n", 10.0 / 3); // 3.33
        System.out.printf("%d%n", 0x1A); // 10진수 26
        System.out.printf("%X%n", 0x1A); // 16진수 1A

    }
}

 

printf의 지시자

지시자 설명
%b boolean 형식으로 출력
%d 10진(decimal) 정수의 형석으로 출력
%o 8진(octal) 정수의 형식으로 출력
%x, %X 16진(hexa-decimal) 정수의 형식으로 출력
%f 부동 소수점(floating-point)의 형식으로 출력
%e, %E 지수(exponent) 표현식의 형식으로 출력
%c 문자(character)로 출력
%s 문자열(string)로 출력

 

출력될 값이 차지할 공간을 숫자로 지정하기

public class practice {
    public static void main(String[] args) {
        System.out.printf("[%5d]%n", 10);  // [   10]
        System.out.printf("[%-5d]%n", 10); // [10   ]
        System.out.printf("[%05d]%n", 10); // [00010]

        System.out.printf("[%s]%n", "www.tistory.com"); // [www.tistory.com]
        System.out.printf("[%20s]%n", "www.tistory.com"); // [     www.tistory.com]
        System.out.printf("[%-20s]%n", "www.tistory.com"); // [www.tistory.com     ]
        System.out.printf("[%.8s]%n", "www.tistory.com"); // [www.tist]

        System.out.printf("[%14.10f]%n", 1.23456789); // [  1.2345678900]
        System.out.printf("[%14.6f]%n", 1.23456789); // [      1.234568]
        System.out.printf("[%.6f]%n", 1.23456789); // [1.234568]
    }
}

 

 

8진수, 16진수에 접두사 붙이기

지시자 '%x'와 '%o'에 '#'을 사용하면 접두사 '0x'와 '0'이 각각 붙는다

'%X'는 16진수에 사용되는 접두사와 영문자를 대문자로 출력한다

public class practice {
    public static void main(String[] args) {
        System.out.printf("%x%n", 0xFFFF_FFFF_FFFF_FFFFL);  // ffffffffffffffff
        System.out.printf("%#x%n", 0xFFFF_FFFF_FFFF_FFFFL); // 0xffffffffffffffff
        System.out.printf("%#X%n", 0xFFFF_FFFF_FFFF_FFFFL); // 0XFFFFFFFFFFFFFFFF
    }
}

 

정수를 2진 문자열로 변환해주기

10진수를 2진수로 출력해주는 지시자는 없기 때문에,
정수를 2진 문자열로 변환해주는 Integer.toBinaryString(int i) 을 사용해야 한다
정수를 2진수 변환 -> 문자열 변환  하기 때문에 지시자 %s를 사용해야 한다
public class practice {
    public static void main(String[] args) {
    	System.out.printf("%s", Integer.toBinaryString(8)); // 1000
    }
}

'Java > JAVA1' 카테고리의 다른 글

타입간의 변환방법  (0) 2023.05.15
Scanner 클래스  (0) 2023.05.15
기본형(Primitive type)  (0) 2023.05.14
두 변수의 값 교환  (0) 2023.05.14
변수(variable), 상수(constant), 리터럴(literal)  (0) 2023.05.14