형변환

sisun·2023년 3월 31일
0

백엔드

목록 보기
6/12

형변환

자동형변환


char 타입보다 허용 범위가 작은 byte 타입은 char 타입으로 자동 타입 변환될 수 없다. char타입의 허용 범위는 음수를 포함하지 않는데, byte타입은 음수를 포함하기 때문에

캐스트(cast)변환

  • 큰 자료형의 데이터를 작은 자료형 변수에 저장하려고 하는 경우 사용하면 에러 발생 하지 않음
    저장 범위가 지나면 나눠서 담게 돼서

강제형 변환시에는 데이터가 왜곡될 수 있음에 주의한다

(변환하고자 하는 자료형) 변수

  • double 데이터를 int 변수에 저장하는 경우 아래와 같이 하면 캐스트 연산자를 사용
package siseonmi;

import java.util.Scanner;

public class Exam1 {
 public static void main(String[] args) {
	 //형변환에는 자동 형변환과 강제 형변환이 있다.
	 long l;
	 int i2 = 1000;
	 l = i2*i2; //데이터의 범위가 작은 값을 데이터의 범위가 큰 데이터형에 넣으려고 하면 
     자동변환이 일어난다.
	 System.out.println(l);
	byte bi, bj;
	int i = 100, j=300;
	bi = (byte) i; //데이터의 범위가 큰 값을 데이터의 범위가 작은 데이터 형에 넣으려고 하면 
    에러가 나기 때문에 강제로 형 변환하여 대입한다. <=데이터가 왜곡될 수 있음에 주의한다
	System.out.println(bi);
	bj = (byte) j;
	System.out.println(bj); //128+128+44=>300 
	//강제형 변환시에는 데이터가 왜곡될 수 있음에 주의한다
	
	byte b1=10, b2;
	int ii = 5;
	b2 = (byte) (b1+ii);
	System.out.println(b2);
	}
}
//계산식에 리터럴이 포함되어 있는 경우, 
기본적으로 정수 데이터는 int형으로,실수 데이터는 double형으로 간주하여 계산한다.
	byte b3 =5, b4;
    b4 = b3 + 3;

자동 타입 변환

자동으로 타입이 변환 되는 것을 말함
값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생함

강제 타입 변환

강제로 타입을 변환하는 것을 말함
값의 허용 범위가 큰 타입을 허용 범위가 작은 타입으로 쪼개어서 저장하는 것을 말함

문자열 결합 연산

문자열과 + 연산을 하면 다른 피연산자도 문자열로 변환되어 문자열 결합이 일어남.

Integer.parselnt()

문자열을 정수 int 타입으로 변환함

Double.parseDouble()

문자열을 실수 double 타입으로 변환함

String str = String.valueOf(기본타입값);

기본타입을 문자열로 변환 , 기본타입값에 3을 넣으면 문자열 "3"출력

형변환 문제

https://velog.io/@si9138/230331%EC%88%99%EC%A0%9C

profile
풀스택 국비수강중

0개의 댓글