728x90
반응형
package chap2;
/*
* 형변환 예제
* 1. 기본자료형과 참조자료형 사이의 형변환 불가 (단, Wrapper 클래스는 제외)
* 2. 기본자료형 중 boolean을 제외한 7가의 자료형은 서로 형변환 가능함.
* 3. 자동형변환 : 형변환 연산자 생략가능
* 작은자료형 변수가 큰자료형 변수로 형변환 될때 형변환 연산자 생략가능
* 명시적형변환 : 형변환 연산자 생략 불가
* 큰자료형 변수가 작은자료형 변수로 형변환 될때 형변환 연산자 생략불가
* -> 자동형변환 <- 명시적형변환
* byte(1)-short(2)-int(4)-long(8)-float(4)-double(8)
* -char (2)
*
* 리터널에 사용되는 접미사
* d,D : double형 리터널
* f,F : float형 리터널
* l,L : long형 리터널
*/
public class VarEx3 {
public static void main(String[] args) {
byte b1 = 10; //정수형 리터널 10 byte형 변수에 저장 가능. -128 ~ 127
short s1 = 100; //정수형 리터널 100
int i1 = (int)1000L; //정수형 리터널 1000
long l1 = 10000; //정수형 리터널 10000
float f1 =(float)10.5; //실수형 리터널 10.5 기본형 double형으로 취급함.
f1 = 10.5f; //10.5f : float형 리터널 10.5
double d1 = 10.5; //실수형 리터널 10.5
//연산하기
// = 오라클 비교연산자. 등가여부
// = 자바 대입연산자. a=10; 10을 a 변수에 저장
int i2 = b1 + i1; //int = byte + int
System.out.println(i2);
long l2 = i1 + l1; //long = int + long
System.out.println(l2);
float f2 = f1 + l1; //float = float + long
System.out.println(f2);
//char의 형변환
char c1 = 'A';
System.out.println(c1 + "=" + (int)c1);
int i3 = c1;
System.out.println(i3);
char c2 = (char)i3;
System.out.println(c2);
//char 연산
char c3 = (char) (c1 + 1); // int = char + int
System.out.println(c3); // 66 = B문자.
//byte 연산 : int형보다 작은자료형 (byte, short, char)사이의 연산의 결과 int형임.
byte b2 = 10;
byte b3 = (byte) (b1 + b2); // int = byte + byte
System.out.println(b3);
int il1 = (int)1000L;
/*
* 1. 1000L : long 리터널
* 2. 1000L값이 int형으로 변환
* 3. il1 변수 1000값 저장
*/
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 1 ~ 5. TEST1 (0) | 2022.03.10 |
---|---|
[Java] 5. 식별자 정의규칙 및 권장사항 (0) | 2022.03.10 |
[Java] 3. 특수문자 '\', 문자객체 저장 (char, String) (0) | 2022.03.10 |
[Java] 2. 변수의 선언 및 초기화 (byte, short, int, long) (0) | 2022.03.10 |
[Java] 1. 자바의 기본, 자바의 자료형 (0) | 2022.03.10 |