티스토리 뷰
728x90
반응형
SMALL
사칙 연산자
덧셈(+) 뺄셈(-) 곱셈() 나눗셈(/)*
class Operator4_1 {
public static void main(String[] args) {
int a = 10, b = 4;
// 덧셈
System.out.print("a + b = ");
System.out.println(a + b);
// 뺄셈
System.out.print("a - b = ");
System.out.println(a - b);
// 곱셈
System.out.print("a * b = ");
System.out.println(a * b);
// 나눗셈
// 소수점 이하는 버려진다.
System.out.print("a / b = ");
System.out.println(a / b);
// 10 / 4.0f -> 10.0f / 4.0f -> 2.5
System.out.print("a / (float)b = ");
System.out.println(a / (float)b);
}
}
산술변환
연산 전에 피연산자의 타입을 일치시키는 것을 의미한다.
1. 두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 일치)
long + int -> long + long => long
float + int -> float + float => float
double + float -> double + double => double
2. 피연산자의 타입이 int 보다 작은 타입 이면 int 로 변환된다.
byte + short -> int + int => int
char + short -> int + int => int
int 보다 작은 타입이 계산을 통해 쉽게 범위가 넘어갈 수 있기 때문에 오버플로우가 발생해 정확한 계산값을 가져오지 못할 수 있어서 미리 큰 범위인 int 타입으로 변환시킨 후 계산하는 것이다.
class Operator4_2 {
public static void main(String[] args) {
char ch = '2';
// 문자 '2' 는 숫자로 50, '0' 은 48
// 따라서 int 타입으로 자동으로 변하기 때문에 50 - 48 = 2
System.out.print("ch - '0' = ");
System.out.println(ch - '0');
int a = 1_000_000; // 1백만
int b = 2_000_000; // 2백만
// a * b = 2_000_000_000_000 -> 10^12
// long 에 저장하려는 것은 맞지만 a * b 의 결과 타입이 int
// 따라서 이미 계산을 할 때 오버플로우 발생! -> 따라서 계산을 할 때 형변환 필요!
// long l = a * b; // -1454759936
long l = (long)a * b;
// long * int -> long * long => 1_000_000L * 2_000_000 -> 1_000_000L * 2_000_000L
System.out.println("l = " + l);
}
}
728x90
반응형
LIST
'개발 > JAVA' 카테고리의 다른 글
비교 연산자와 문자열의 비교 (0) | 2023.01.18 |
---|---|
Math 클래스와 나머지 연산자 (0) | 2023.01.18 |
형변환 연산자와 자동 형변환 (0) | 2023.01.18 |
증감 연산자와 부호 연산자 (0) | 2023.01.18 |
연산자 (0) | 2023.01.18 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 웹개발종합반
- (여자)아이들
- 항해
- 공부하기
- Til
- 스파르타코딩
- 팬방명록만들기
- 유형검사
- PyCharm
- 항해99
- 현재기온
- 보험
- aihtnyc_h
- 사전스터디
- 웹개발3주차
- 웹개발
- 4주차
- 12기
- 현재기온넣기
- HTML
- visualstudiocode
- 지니차트만들기
- 스파르타
- 아이들팬명록만들기
- python
- 아이들팬명록
- ajax
- 2주차
- 초보개발자
- 12기 1주차 숙제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함