Developer/JAVA

JAVA, 진수와 Interger 메서드 , String 메서드

단님 2024. 7. 21. 23:09
728x90
2, 8, 16 진수의 표기 및 출력.

 

1. 2진수(Binary number)

- 2진수는 0b 로 시작한다.

int bin = 0b1111;
System.out.println("2진수 0b1111 :" + bin);
// 출력: 2진수 0b1111 : 15 (2진수 1111은 10진수로 15)

 

2. 8진수(Octal number)

-8진수는 0으로 시작한다.

int oct = 017;
System.out.println("8진수 017 :" + oct);
// 출력: 8진수 017 : 15 (8진수 17은 10진수로 15)

 

 

3. 16진수(Hexadecimal number)

- 16진수는 0x 로 시작한다.

int hex = 0xf;
System.out.println("16진수 0xf :" + hex);
// 출력: 16진수 0xf : 15 (16진수 F는 10진수로 15)

 

 

printf를 통한 출력

 

%d: 10진수 출력 
%o: 8진수 출력 
%x: 16진수 출력 
%#o, %#x: 접두사를 포함한 8진수, 16진수 출력
System.out.printf("(printf이용)2진수 bin :%d , 8진수 oct :%d , 16진수 hex:%d \\n", bin, oct, hex);
System.out.printf("(printf이용)2진수 bin :%s , 8진수 oct :%#o , 16진수 hex:%#x \\n", Integer.toBinaryString(bin), oct, hex);

 

 

Interger 클래스의 메서드를 이용한 진법 변환

int 형의 클래스인 Interger 메서드를 이용하여 10진수를 2진수,8진수,16진수 문자열로 변환할 수 있다.

Interger.toBinaryString : 2진수 문자열로 변환.
Interger.toOctalString : 8진수 문자열로 변환.
Interger.toHexString : 16진수 문자열로 변환.

 

System.out.printf("(toBinaryString 이용) Integer.toBinaryString(12345):%s \\n", Integer.toBinaryString(12345));
System.out.printf("(toOctalString 이용) Integer.toOctalString(12345):%s \\n", Integer.toOctalString(12345));
System.out.printf("(toHexString 이용) Integer.toHexString(12345):%s \\n", Integer.toHexString(12345));

 

숫자형 -> 문자열로 변환
문자열 -> 숫자형으로 변환

 

숫자를 문자열로 변환 : String.valueOf () 또는 문자열과 결합 연산.
문자열을 숫자로 변환 : Interger.parsInt() 또는 Interger.valueOf()

 

-숫자를 문자열로 변환 

	//int to string
	System.out.printf("(printf이용)2진수 bin :%d , 8진수 oct :%d , 16진수 hex:%d \\n",bin,oct,hex);
	System.out.println("int to stirng 1: +bin+oct+hex : "+bin+oct+hex);
	System.out.println("int to stirng 2 : +(bin+oct+hex): "+(bin+oct+hex));
	System.out.println("int to stirng 3: (String.valueOf(bin))+100) : "+(String.valueOf(bin))+100);

 

 

-문자열을 int형으로 변환

	//string to int
	String s = "123";
	System.out.println("string s :"+s);
	System.out.println("string to int 1:+(s+100): "+(s+100));
	System.out.println("string to int 2:+(Integer.parseInt(s)+100): "+(Integer.parseInt(s)+100));
	System.out.println("string to int 3:+(Integer.valueOf(s)+100)): "+(Integer.valueOf(s)+100));

 

 

-문자열을 double형으로 변환

	//string to double
	s = "123.456";
	System.out.println("string s :"+s);
	System.out.println("string to double 1:+(s+100): "+(s+100));
	System.out.println("string to duuble 2:+(Double.parseDouble(s)+100): "+(Double.parseDouble(s)+100));