- 정수 타입 변수가 산술 연산식에서 피 연산자로 사용되면 int 타입보다 작은 byte , short 타입의 변수는 int 타압으로 자동 타입 변환되어 연산을 수행한다.
- 타입변환이 줄면 프로그램의 성능은 향상된다.
- 자바는 실행 성능을 향상시키기 위해 컴파일 단계에서 연산을 수행할 수 있다.
package exam06;
public class exam07 {
public static void main(String[] args) {
// TODO Auto-generated method stu
byte result1 = 10 + 20;
System.out.println(result1);
byte x = 10;
byte y = 20;
int result = x+ y;
System.out.println(result);
}
}
- 정수 연산식에서 모든 변수가 int 타입으로 변환되는것은 아니며 두 피연산자 중 허용 범위가 큰 타입으로 변환되어 연산을 수행한다.
package exam06;
public class exam08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
byte value1 = 10;
int value2 = 100;
long value3 = 1000L;
long result = value1 + value2 + value3;
System.out.println(result);
}
}
- 실수타입 변수가 산술 연산식에서 피 연산자로 사용될 경우 두 피연산자가 동일한 타입이라면 해당 타입으로 연산되지만 피 연산자중 하나가 double 타입이라면 다른 피 연산자도 double 타입으로 자동 타입 변환되어 연산을 수행한다. int 타입도 마찬가지의 과정을 거치며 꼭 int 타입으로 연산을 해야한다면 double 타입을 int 타입으로 강제 변환후에 연산을 수행하면 된다.
- 자바에서는 소문자 f 또는 대문자 F가 없는 실수 리터럴을 double 타입으로 해석하며 그렇기 때문에 연산 결과는 double 타입 변수에 저장해야한다 float 타입에 꼭 저장하고 싶다면 실수 리터럴 뒤에 소문자 f나 대문자 f를 붙여 컴파일러가 float 타입임을 알도록 해야한다.
package exam06;
public class exam09 {
public static void main(String[] args) {
// TODO Auto-generated method stub
byte byteValue1 = 10;
byte byteValue2 = 20;
int intValue1 = byteValue1 + byteValue2;
System.out.println(intValue1);
char charValue1 = 'A';
char charValue2 = 1;
int intValue2 = charValue1 + charValue2 ;
System.out.println("유니코드="+intValue2);
System.out.println("출력문자="+(char)intValue2);
int intValue3 = 10;
int intValue4 = intValue3/4;
System.out.println(intValue4);
int intValue5 = 10;
double doubleValue = intValue5 / 4.0;
System.out.println(doubleValue);
int x = 1;
int y = 2;
double result = (double) x/y;
System.out.println(result);
}
}
'프로그래밍 이야기 > JAVA 공부' 카테고리의 다른 글
자바키값저장 자바변수값저장 자바값입력자바값 출력 (1) | 2023.10.02 |
---|---|
자바플러스연산자자동타입변환/문자열기본타입변환 (0) | 2023.09.18 |
자바실수타입(float,double)/자바타입변환-강제타입변환,자동타입변환 (0) | 2023.09.17 |
자바의 변수와 타입 공부 (2) | 2023.09.03 |
자바 -변수선언 정의 변수의 정의공부 (1) | 2023.09.02 |