[JAVA] 산술 변환(usual arithmetic conversion) [피연산자 타입 일치를 위한 자동 형변환]
·
◎ Java/Java☕
1. 산술 변환(usual arithmetic conversion) 이항 연산자는 두 피연산자의 타입이 일치해야 연산이 가능하기에, 피연산자의 타입이 서로 다르면 연산 전에 형 변환 연산자로 타입을 일치시켜야 한다. 이를 '산술 변환(usual arithmetic conversion)'이라고 한다. 산술 변환(usual arithmetic conversion) : 두 피연산자의 타입 중 더 큰 타입으로 일치시키는 것 int i = 10; float f = 20.0f; float result = f + (float)i; // 형변환으로 두 피연산자의 타입을 일치 float result = f + i; // 산술변환으로 형변환 연산자 생략 가능 2. 산술 변환의 규칙 1. 두 피연산자의 타입을 일치시킨다.(..
[JAVA] 정수형과 실수형 간의 형 변환 [정수형을 실수형으로, 자동 형변환]
·
◎ Java/Java☕
1. 정수형과 실수형 간의 형 변환 정수형과 실수형은 저장 형식이 완전 다르기 때문에 정수형 간의 변환처럼 간단히 값을 변환할 수 없다. int : 1+31=32 (4byte) S(1) 31bit float : 1+8+23=32 (4byte) S(1) E(8) M(23) 정수형을 실수형으로 변환 정수는 소수점 이하의 값이 없으므로 비교적 변환이 간단하다. 2진수로 변환한 다음 정규화를 거쳐 실수의 저장 형식으로 저장한다. 정규화 링크 추가 실수형은 정수형보다 훨씬 큰 저장 범위를 갖기 때문에, 정수형을 실수형으로 변환하는 것은 별 무리가 없다. 단, 실수형의 정밀도의 제한으로 인한 오차가 발생할 수 있다. 91234567 ─ (float) ─> 91234568.0 ─ (int) ─> 91234568 91..
[JAVA] 정수형 간의 형 변환 [형 변환의 정의(casting), 값 손실(loss of data)]
·
◎ Java/Java☕
1. 형 변환(casting)이란? 서로 다른 타입 간의 연산을 수행할 때, 수행하기 전에 타입을 일치시켜야 한다. 이때 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 '형 변환(casting)'이라 한다. 형 변환(casting)이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 예를 들어, int 타입의 값과 float 타입의 값을 더하는 경우, 두 값을 같은 타입(float)으로 변환한 다음에 더해야 한다. 2. 형 변환 방법 형 변환은 형 변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여주면 된다. (타입) 피연산자 * 여기에 사용되는 괄호'( )'는 '형 변환 연산자'라고 한다. double d = 85.4; int score = (int)d;// dou..
[JAVA] 변수의 타입(2) [정수형 타입 byte, short, int, long, 오버플로우]
·
◎ Java/Java☕
1. 정수형 - byte, short, int, long 정수형에는 모두 4개의 자료형이 있으며, 크기순으로 나열하면 다음과 같다. byte(1byte) → short(2byte) → int(4byte) → long(8byte) * 정수형의 기본 자료형(default data type)은 'int'이다. 2. 정수형의 표현 형식과 범위 모든 정수형은 부호 있는 정수이므로 왼쪽의 첫 번째 비트를 '부호 비트(sign bit)'로 사용하고, 나머지는 값을 표현하는데 사용한다. S n-1bit * S: 부호비트, n : 타입의 크기(단위: bit) n비트로 표현할 수 있는 정수의 개수 : 2^n개 (=2^n-1개+2^n-1개) n비트로 표현할 수 있는 부호 있는 정수의 범위 : -2^n-1 ~ 2^n-1-1 ..
[JAVA] 상수와 리터럴(constant & literal) [상수와 리터럴의 정의, 리터럴의 타입과 접미사]
·
◎ Java/Java☕
1. 상수(constant) 상수(constant)는 변수처럼 '값을 저장할 수 있는 공간'이지만, 변수와 달리 값을 저장하면 다른 값으로 변경할 수 없다. 상수를 사용함에 있어 몇 가지 조건이 필요한데 다음과 같다. 1. 선언하는 방법은 변수의 타입 앞에 'final'을 붙여주면 된다. 2. 상수는 반드시 선언과 동시에 초기화해야 한다. 3. 초기화 이후, 상수의 값은 변경할 수 없다. ex) final int MAX_SPEED; // 에러. 상수는 선언과 동시에 초기화해야함 final int MAX_SPEED = 10; // 상수 MAX_SPEED를 선언 & 초기화 MAX_SPEED = 20; // 에러. 상수의 값은 변경할 수 없음 * 상수의 이름은 모두 대문자로 하는 것이 암묵적인 관례이며, 여러..