ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ ๋ณํ (type casting)
๋ฐ์ดํฐ์ ํฌ๊ธฐ
byte(1) < short(2), char(2) < int(4) < long(8) < float(4) < double(8)
- float์ 4๋ฐ์ดํธ์ธ๋ฐ long๋ณด๋ค ํฐ ํ์
์ธ ์ด์ ๋ ํํํ ์ ์๋ ๊ฐ์ ๊ฒฝ์ฐ์ ์๊ฐ float์ด ๋ ํฌ๊ธฐ ๋๋ฌธ์ด๋ค.
- ํฌ๊ธฐ๊ฐ ์์ ๋ฐ์ดํฐ ํ์
์ ํฌ๊ธฐ๊ฐ ํฐ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ณํํ ๋๋ ์บ์คํธ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง ์์๋ ์ปดํ์ผ๋ฌ์ ์ํด ์๋์ผ๋ก ํ ๋ณํ์ด ์ผ์ด๋๋ค. (์๋ ํ ๋ณํ: Promotion)
- ํฌ๊ธฐ๊ฐ ํฐ ๋ฐ์ดํฐ ํ์
์ ํฌ๊ธฐ๊ฐ ์์ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ณํํ ๋๋ ๋ฐ๋์ ์บ์คํธ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํ ๋ฐ์ดํฐ ํ์
์ ๋ช
์ํด์ผ ํ๋ค. (๊ฐ์ ํ ๋ณํ: Type Casting). ๊ทธ๋ ์ง ์์ผ๋ฉด ์ปดํ์ผ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์๋ก ๋ค๋ฅธ ํ์
์ ๋ฐ์ดํฐ์ ์ฐ์ฐ์ ์งํํ ๊ฒฝ์ฐ ๋ ๋ฐ์ดํฐ ์ค ํฐ ๋ฐ์ดํฐ ํ์
์ ๊ฐ์ง ์ชฝ์ ๋ง์ถ์ด ์๋ ํ ๋ณํ๋ ํ ์ฐ์ฐ์ ์งํํ๋ค.
- intํ๋ณด๋ค ์์ ๋ฐ์ดํฐํ์
์ ์ฐ์ฐ์ ์งํํ ๊ฒฝ์ฐ ์๋์ผ๋ก intํ์ผ๋ก ํ ๋ณํ์ด ์ด๋ฃจ์ด์ง๋ค.
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
|
public class CastingEx1 {
public static void main(String[] args) {
/*
* <promotion / Upcasting>
* ํฌ๊ธฐ๊ฐ ์์ ๋ฐ์ดํฐ ํ์
์ ๋ณ์๋ฅผ ํฐ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ณํํ ๋๋
* ์๋ฐฉ ๊ฐ์ ๋จธ์ ์ด ํ์
์ ์๋์ผ๋ก ์ด๋ ค์ ๋ณํํด์ค๋ค.
*
*/
byte b = 10;
int i = b; //byte -> int ์๋์ผ๋ก ํ ๋ณํ๋์ด์ ๋์
System.out.println(i);
char c = '๊ฐ';
int j = c; //char -> int ์๋ํ ๋ณํ
System.out.println("๊ฐ์ ์ ๋์ฝ๋ ๊ฐ : " + j);
int k = 500;
double d = k; //int -> double ์๋ํ ๋ณํ
//500์ผ๋ก ๋์ค๋๋ฐ ์ค์๋ถ ๊น์ง ๋์จ๋ค
System.out.println(d);
}
}
|
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
31
32
|
public class CastingEx2 {
public static void main(String[] args) {
/*
* <Downcasting>
* ํฌ๊ธฐ๊ฐ ํฐ ๋ฐ์ดํฐ ํ์
์ ์์ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ณํํ๋ ค๋ฉด
* ๋ฐ๋์ ์บ์คํธ ์ฐ์ฐ์(type)๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํด์ผํ๋ค.
*
* Downcasting์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์์ค์ด ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์
* ๋ช
์์ ํ๋ณํ์ผ๋ก ํ์
๋ณํ์ ํด์ผํจ.
*
* <overflow, underflow>
* ๊ฐ์ ํ์
๋ณํ ์ฌ์ฉ์ ์ฃผ์ํ ์
* ํด๋น ํ์
์ด ๋ฐ์์ ์๋ ๋ฒ์์ ๊ฐ์ด ๋ค์ด์ค๋ฉด ์ฐ๋ ๊ธฐ ๊ฐ์ด ์ ์ฅ๋จ
*
*/
int i = 72;
char c = (char)i; //int -> charํ์ผ๋ก ๊ฐ์ ํ๋ณํ
System.out.println("72์ ๋ฌธ์๊ฐ : " + c);
double d = 4.123;
int j = (int)d;
System.out.println(j);
int k = 1000;
byte b = (byte)k;
System.out.println(b);
//byte๋ฒ์๋ฅผ ๋์๊ธฐ ๋๋ฌธ์ ์๋จ
}
}
|
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
|
public class CastingOper {
public static void main(String[] args) {
char c = 'A';
int i = 2;
char cc = (char)(c + i); //int์ char์ ๊ฒฐํฉ์ด๋ผ ์ต์ข
๊ฒฐ๊ณผ๊ฐ int์ด๋ค.
System.out.println(cc);
int ii = c + i;
System.out.println(ii);
int j = 10;
double d = j + 4; //์ต์ข
๊ฒฐ๊ณผ๊ฐ intํ
System.out.println(d);
int k = 10;
double dd = 4.1;
int jj = (int)(k + dd); //์ต์ข
๊ฒฐ๊ณผ๊ฐ double
System.out.println(jj);
byte b1 = 100;
byte b2 = 70;
byte b3 = (byte)(b1 + b2); //์ต์ข
๊ฒฐ๊ณผ๋ intํ(intํ๋ณด๋ค ์์์ ๋ค byte + byte์ด๊ธฐ ๋๋ฌธ์)
System.out.println(b3); //๋์ณ์ ์ด์ํ ๊ฐ์ด ์ ์ฅ๋๋ค.
}
}
|
'(๊ตฌ)Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
04 Java ๋ฐฐ์ด (0) | 2019.04.29 |
---|---|
03 Java ์ฐ์ฐ์(Operator) (0) | 2019.04.29 |
02 Java ๋ฐ์ดํฐ ํ์ (0) | 2019.04.29 |
02 Java ๋ณ์ (0) | 2019.04.29 |
02 Java ์๋ณ์ (0) | 2019.04.29 |
- Total
- Today
- Yesterday
- ์ดํด๋ฆฝ์ค ์ค์น
- java jdk ์ค์น
- ๊ฒ์๋ฌผ์กฐํ
- tomcat์ค์น
- Algorithm
- ๊ฒ์ํ ์ญ์
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- ๋ณ๋ช ์ฒ๋ฆฌ
- ๊ฒ์๋ฌผ ์ญ์
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- ๊ฒ์ํ ์กฐํ
- ๋ถํธ ์๋์์ฑ
- mysql์ค์น
- ๊ฐ๋ฐ
- ์จ๋ฆฌ์์ค
- java ํ๊ฒฝ๋ณ์
- typeAliases
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ
- ์๋ฃ๊ตฌ์กฐ
- Java
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |