728x90
Binary Text 실습
//Q. 69를 10진수, 2진수, 8진수 , 16진수로 출력해보자
int decimal = 69;
System.out.println("decimal = " + decimal);
int binary = 0b01000101; //2진수에는 0b를 붙여준다.
System.out.println("binary = " + binary);
int octal = 0105; //8진수에는 0을 붙여준다
System.out.println("octal = " + octal);
int hexa = 0x45; //16진수에는 0x를 붙여준다.
System.out.println("hexa = " + hexa);
API의 도움을 받아서 숫자를 변환해볼 수 있다.
toBinaryString(data) → 해당 메서드를 사용하면 int 값을 2진수로 변경해준다. 이후 변경된 값을 String binary에 담아 출력해보았다. toOctalString → 8진수로 변환해주는 메서드 toHexString → 16진수로 변환해주는 메서드
charTest / 아스키 코드에 대해서 이해해보자
아스키 코드에서 몇가지 숫자만 외워두고 앞뒤로 더해서 기억하면 된다
‘0’ = 48 / ‘a’ = 97 / ‘A’ = 65
public static void main(String[] args) {
//Q. '가'라는 한글 한 문자를 변수에 저장하고 출력하시오.
char a = 'A';
System.out.println("a = " + a);
int a1 = 'A';
System.out.println("a1 = " + a1);
System.out.println("a1 = " + (char)a1);
//char 자료형은 2byte로써 4byte인 int 자료형에는 담길 수 있다.
//단 아스키코드표에 있는 숫자형으로 변경되어 저장된다.
//char 자료형을 문자 그대로 출력하고 싶을 땐 변수 앞에 (char)를 기입하여 형변환을 진행해준다.
//Q. 대문자 'A'를 문자 'a'로 변환하여 출력하시오 (아스키코드참고)
char upper = 'A';
char change = (char) (upper + 32); //'a'
//알파벳 대문자 아스키코드의 숫자와 소문자에 해당하는 숫자의 차이가 32이기 때문에,
//대문자 아스키코드 숫자에서 +32를 하면 소문자가 / 소문자의 숫자에 -32를 하면 대문자로 바꿀 수 있다.
System.out.println("upper = " + upper);
System.out.println("change = " + change);
//Q. '1' + '2' = 3이 나오도록 프로그래밍 해보자
int z = '1'; //49
int x = '2'; //50
int sum = (z-48) + (x-48);
System.out.println("sum = " + sum);
}
형 변환 (Casting) - 값의 타입(DataType)을 다른 타입으로 변환하는 것
(변환할 DataType)변수; → 해당 문법과 같이 작성한다.
자동 형변환 (묵시적) : 작은 type이 큰 type에 저장되는 경우 (예 : byte → int) 강제 형변환 (명시적) : 큰 type이 작은 type에 저장되는 경우(예 : int → byte, 손실발생) / 타입을 강제로 맞춰야하는 것이 강제 형변환 ** boolean type은 형변환이 안된다.
ex) int(4byte) → char(2byte) 형변환 = (char)65 → ‘A’
ex) float(4byte) → int(4byte) 형변환 = (int)2.6f → ‘A’ 여기서 float는 2.6 소수점이 있지만 int는정수형으로서 소수점 아래는 잘려서 출력된다. 이 때, 2(손실)의 값 손실이 발생하게 된다.
public class CatstingTest {
public static void main(String[] args) {
float f1 =.10f; // 0.10
System.out.println("f1 = " + f1);
float f2 = 15f; // 15.0
System.out.println("f2 = " + f2);
float f3 = 3.14f;
System.out.println("f3 = " + f3);
double d1 = 123.4567;
System.out.println("d1 = " + d1);
float x = 15.6f;
int y = (int)x;
실수형 데이터가 정수형 데이터에 저장하려면 (int)로 강제형변환을 진행해야 함
강제 형변환 시 값 손실이 발생한다.
System.out.println("y = " + y);
char c = 'A';
int cc = c;
System.out.println("cc = " + cc);
c는 2byte, cc는 4byte로 수치형 자료로 서로 호환이 가능하기 때문에,
자동형변환이 가능하며, 값 손실이 발생하지 않는다.
}
}
728x90
반응형
'[ BACKEND] > JAVA_Basic' 카테고리의 다른 글
[JAVA] Java의 조건문 (If / else / else if) (0) | 2023.06.08 |
---|---|
[JAVA] JAVA에서 쓰이는 연산자 (0) | 2023.06.07 |
[JAVA] 데이터를 이동해보자 ( 배열 : Array) (0) | 2023.06.05 |
[JAVA] 프로그래밍 3대 요소 (0) | 2023.06.01 |
[JAVA] JAVA란 무엇인가 ? (0) | 2023.05.31 |