자료형 (Data Type)
package ex1;
public class Ex2_Valuetype {
public static void main(String[] args) {
//논리형
//true or false
boolean b = true;
System.out.println("b의 값 : "+b);
//boolean b1 = 1; 자료형의 값이 올바르지 않음
//문자형 ''안에 들어있는 한글자
char ch = 'A';
System.out.println("ch의 값 : "+ch);
char ch1 = 65; //정수가 문자형 변수에 들어갈 수 있는가
System.out.println("ch1의 값 : "+ch1); //아스키 코드에 대응되는 글자가 출력
//정수형
byte by = 127;
short s = 32767;
int n = 550;
System.out.println("by의 값 : "+by);
System.out.println("s의 값 : "+s);
System.out.println("n의 값 : "+n);
//실수형(소수)
float f = 3.14f;
//자바는 기본적으로 double을 실수자료형으로 채택함
}
}
형변환 (Casting)
package ex1_casting;
public class Ex1_Promotion {
public static void main(String[] args) {
//형변환(Casting)
//하나의 자료형에서 다른 자료형으로 타입을 바꾸는 것
//자동형변환(Promotion) - 묵시적 형변환
//크기가 작은 자료형의 데이터를 크기가 큰 자료형으로 변환
//강제형변환(Demotion)- 명시적 형변환
//크기가 큰 자료형의 데이터를 크기가 작은 자료형으로 변환
double d = 100.5; //8byte
int n = 200; //4byte
d=n;
System.out.println(d);
char c='A'; //2byte
int i = 100; //4byte
i=c;
System.out.println(i);
}
}
package ex1_casting;
public class Ex2_Demotion {
public static void main(String[] args) {
//큰 자료형을 작은 자료형에 대입
//(자료형)변수or데이터
char c='B';//2byte
int n = c+1;//자동형변환
c=(char)n;//c는 2byte, n은 4byte 오류 발생
System.out.println("c : "+c);
float f = 5.5f;
int n1 = 0;
//f = n1;
n1 = (int)f; //같은 크기라도 자료형이 다르면 캐스팅을 하는게 원칙
System.out.println("n1 : "+n1); //실수에서 정수로 형변환시 소수점 이하는 유실되기 때문에 주의
byte b1 = 100;
byte b2 = 20;
byte b3 = (byte)(b1+b2);
//byte의 연산이 수행될 때 int형으로 값을 받도록 만들었다.
System.out.println("b3 : "+b3);
String str1="abcd";
System.out.println(str1);
}
}