์๋ฐ์์ ํ ๋ณํ์ ๋ฐ์ดํฐ์ ํ์ ์ ๋ณํํ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค. ์ด๋ ํ๋ก๊ทธ๋๋ฐ์์ ์ค์ํ ๊ฐ๋ ์ค ํ๋์ด๋ฉฐ, ์๋ฐ์์๋ ์๋ ํ ๋ณํ๊ณผ ๊ฐ์ ํ ๋ณํ ๋ ๊ฐ์ง ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
โฃ ๋ชฉ์ฐจ
1. ์๋ ํ ๋ณํ๐ฑ๐
์๋ ํ ๋ณํ์ ์์ ๋ฐ์ดํฐ ํ์ ์์ ํฐ ๋ฐ์ดํฐ ํ์ ์ผ๋ก์ ๋ณํ์ ์๋์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, int์์ double๋ก์ ๋ณํ์ ์๋์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ ์์ค์ด ์๋ ์์ ํ ๋ณํ์ด๋ฉฐ, ์ปดํ์ผ๋ฌ๊ฐ ์์์ ํ ๋ณํ์ ํด์ค๋๋ค. ์ฃผ๋ก ์์ ๋ฒ์์ ๋ฐ์ดํฐ ํ์ ์ด ํฐ ๋ฒ์์ ๋ฐ์ดํฐ ํ์ ์ ๋์ ๋ ๋ ๋ฐ์ํ๋ฉฐ, ๋ฐ์ดํฐ ์์ค ๊ฐ๋ฅ์ฑ์ด ๋ฎ๊ฑฐ๋ ์๋ ๊ฒฝ์ฐ์ ํด๋น๋ฉ๋๋ค.
๋ค์์ ์๋ ํ ๋ณํ์ ๋ํ์ ์ธ ํ์ฉ ๋ฒ์ ์์์
๋๋ค: byte < short, char < int < long < float < double
(๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ float์ด long๋ณด๋ค ๋ ์์ง๋ง ๊ฐ์ ํ์ฉ ๋ฒ์๊ฐ ๋ ์ปค์ ์ด๋ ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.)
์ด๋ฌํ ํ ๋ณํ์ ๋ฐ์ดํฐ ์์ค์ ์ต์ํํ๊ธฐ ์ํด ๋ฒ์๊ฐ ๋์ ์๋ฃํ์ ๋ฒ์๊ฐ ์ข์ ์๋ฃํ์ด ๋์
๋ ๋ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
// int ํ์
์ด byte ํ์
๋ณด๋ค ํ์ฉ ๋ฒ์๊ฐ ๋ ํฌ๊ธฐ ๋๋ฌธ์ ๋ค์ ์ฝ๋๋ ์๋ ํ์
๋ณํ์ด ๋ฉ๋๋ค.
byte byteNum = 10;
int intNum = byteNum;
// ์ ์ํ์
์ด ์ค์ํ์
์ผ๋ก ๋์
๋ ๊ฒฝ์ฐ์๋ ๋ฌด์กฐ๊ฑด ์๋ ํ์
๋ณํ์ด ๋ฉ๋๋ค.
int intVal = 100;
double doubleVal = intVal;
// char ํ์
์ ๊ฒฝ์ฐ int ํ์
์ผ๋ก ์๋ ๋ณํ๋๋ฉด ์ ๋์ฝ๋ ๊ฐ์ด int ํ์
์ ๋์
๋ฉ๋๋ค.
char charVal = 'A';
int intChar = charVal;
// byte ํ์
์ char ํ์
์ผ๋ก ์๋ ๋ณํ๋ ์ ์์ต๋๋ค.
// ์ด๋ char ํ์
์ ํ์ฉ ๋ฒ์๊ฐ ์์๋ฅผ ํฌํจํ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
// byte byteValue = 65;
// char charValue = byteValue; // ์ปดํ์ผ ์๋ฌ ๋ฐ์
// int ํ์
์ด long์ผ๋ก ์๋ ๋ณํ๋๋ ์์
int intValue = 100; // int ํ์
์ ๋ณ์ ์ ์ธ๊ณผ ์ด๊ธฐํ
long longValue = intValue; // int๊ฐ long์ผ๋ก ์๋ํ๋ณํ๋์ด ๋์
๋จ
// float ํ์
์ด double๋ก ์๋ ๋ณํ๋๋ ์์
float floatValue = 3.14f; // float ํ์
์ ๋ณ์ ์ ์ธ๊ณผ ์ด๊ธฐํ
double doubleValue = floatValue; // float๊ฐ double๋ก ์๋ํ๋ณํ๋์ด ๋์
๋จ
์๋ํ์
๋ณํ์๋ ์์ธ๊ฐ ์์ต๋๋ค. ์ ์์ ์์ byte ํ์
์ธ byteValue ๋ณ์๋ฅผ char ํ์
์ธ charValue ๋ณ์์ ๋์
ํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฌ๋ byte ํ์
์ ์์๋ฅผ ํฌํจํ ์ ์์ง๋ง, char ํ์
์ ์์๋ง์ ํํํ ์ ์์ต๋๋ค. ์ฆ, byte ํ์
์ ํ์ฉ ๋ฒ์์ char ํ์
์ ํ์ฉ ๋ฒ์๊ฐ ์ผ์นํ์ง ์์ต๋๋ค. ๋๋ฌธ์ ์ปดํ์ผ๋ฌ๋ byte ํ์
์์ char ํ์
์ผ๋ก์ ์๋ ๋ณํ์ ํ์ฉํ์ง ์๊ณ ๋ค์๊ณผ ๊ฐ์ด ์๋ฌ๋ฅผ ๋ฐ์์ํต๋๋ค.
โ ๏ธErrorโ ๏ธType mismatch: cannot convert from byte to char (์ ํ ๋ถ์ผ์น: byte์์ char๋ก ๋ณํํ ์ ์์ต๋๋ค.)
2. ๊ฐ์ ํ ๋ณํ๐ฑ๐ค
์๋ฃํ์ ํ์ฉ ๋ฒ์๊ฐ ํฐ ํ์ ์ ์์ ํ์ ์ผ๋ก ์๋ ๋ณํ๋ ์ ์์ต๋๋ค. ํ์ง๋ง ํฐ ๊ฐ์์ ์์ ๊ฐ์ผ๋ก ๋ณํํ๋ ๊ฒ์ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฅผ ๊ฐ์ ํ ๋ณํ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ฐ์ ํ ๋ณํ์ ์บ์คํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฃจ์ด์ง๋ฉฐ, ์ด๋ ๊ดํธ ์์ ๋ค์ด๊ฐ๋ ํ์ ์ ์์ ํ์ ์ผ๋ก ์ชผ๊ฐ์ด ์ ์ฅ๋ ๋จ์๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ฐ์ ํ์ ๋ณํ์ ๋ชฉ์ ์ ์๋ ๊ฐ์ด ์ ์ง๋๋ฉด์ ํ์ ๋ง ๋ฐ๊พธ๋ ๊ฒ์ด๋ฉฐ, ์์ ๋ฒ์์ ์๋ฃํ์ ์ ์ฅ๋ ์ ์๋ ๊ฐ์ ๊ฐ์ง๊ณ ๊ฐ์ ํ์ ๋ณํ์ ํด์ผ ํฉ๋๋ค. ๊ฐ์ ํ ๋ณํ์ ์ดํดํ๊ธฐ ์ํด ๊ฐ ์๋ฃํ์ ํ์ฉ ๋ฒ์๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.
1. int : ์ฝ 2,147,483,648 ~ 2,147,483,647
2. short : ์ฝ -32,768 ~ 32,767
3. byte : ์ฝ -128๋ถํฐ 127
๋ฐ๋ผ์, ์๋ฃํ ๋ณํ ์์๋ ๋ณํ๋๋ ๊ฐ์ด ๋ณํ๋ ์๋ฃํ์ ํ์ฉ ๋ฒ์ ๋ด์ ์๋์ง ๋จผ์ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํนํ ๊ฐ์ ํ ๋ณํ์ ์ฌ์ฉํ ๋๋ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ๋ณํ ์ ์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ๋น๊ตํ์ฌ ๋ฒ์๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก int ํ์
์ short ํ์
๋ณด๋ค ๋ ํฐ ๋ฒ์๋ฅผ, short ํ์
์ byte ํ์
๋ณด๋ค ๋ ํฐ ๋ฒ์๋ฅผ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ ํ ๋ณํ์ ์์ ๋ฒ์์ ์๋ฃํ์ ํฐ ๊ฐ์ ๋ฃ์ผ๋ ค๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ณํ๋ ์๋ฃํ์ ํ์ฉ ๋ฒ์๋ฅผ ์ด๊ณผํ๋ ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ณํ ์ ์๋ ํญ์ ๋ฒ์๋ฅผ ํ์ธํ๋ ์ต๊ด์ ๊ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค.
int var1 = 10;
byte var2 = (byte) var1; // int๋ฅผ byte๋ก ๊ฐ์ ํ ๋ณํ
System.out.println(var2); // ๊ฒฐ๊ณผ: 10 (๊ฐ์ ํ์
๋ณํ ํ์๋ ๊ฐ ์ ์ง)
long var3 = 300;
int var4 = (int) var3; // long์ int๋ก ๊ฐ์ ํ ๋ณํ
System.out.println(var4); // ๊ฒฐ๊ณผ: 300 (๊ฐ์ ํ์
๋ณํ ํ์๋ ๊ฐ ์ ์ง)
int var5 = 65;
char var6 = (char) var5; // int๋ฅผ char๋ก ๊ฐ์ ํ ๋ณํ
System.out.println(var6); // ๊ฒฐ๊ณผ: 'A' (์ ๋์ฝ๋ ๊ฐ์ ํด๋นํ๋ ๋ฌธ์ ์ถ๋ ฅ)
double var7 = 3.14;
int var8 = (int) var7; // ์ค์๋ฅผ ์ ์๋ก ๊ฐ์ ํ ๋ณํ
System.out.println(var8); // ๊ฒฐ๊ณผ: 3 (์ ์ ๋ถ๋ถ๋ง ๋จ๊น)
3. ์ฐ์ฐ์์์์ ํ ๋ณํ๐
์๋ฐ๋ ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ์คํ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ๋ฌ ์ต์ ํ ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์ด ์ค ํ๋๋ ์ ์ ๋ฆฌํฐ๋ด์ ์ง์ ์ฐ์ฐํ ๋ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์ ๋ฆฌํฐ๋ด 10๊ณผ 20์ ๋ง์ ์ฐ์ฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ byte ํ์ ๋ณ์์ ์ ์ฅํ๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
// ์ ์ ๋ฆฌํฐ๋ด์ ์ง์ ๋ง์
ํ์ฌ ๊ฒฐ๊ณผ๋ฅผ byte ํ์
๋ณ์์ ์ ์ฅํ๋ ์ฝ๋
byte result = 10 + 20;
์ด ๊ฒฝ์ฐ, ์๋ฐ ์ปดํ์ผ๋ฌ๋ ์ปดํ์ผ ๋จ๊ณ์์ 10๊ณผ 20์ ๋ฏธ๋ฆฌ ์ฐ์ฐํ์ฌ ๊ฒฐ๊ด๊ฐ์ธ 30์ ๋ง๋ค๊ณ , ์ด ๊ฐ์ byte ํ์
๋ณ์์ ์ ์ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋์ ์คํ ์์๋ ๋ง์
์ฐ์ฐ์ด ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก ์คํ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ง์ฝ ์ ์ ๋ฆฌํฐ๋ด ๋์ ๋ณ์๊ฐ ํผ์ฐ์ฐ์๋ก ์ฌ์ฉ๋๋ค๋ฉด ์คํ ์์๋ ์ฐ์ฐ์ ์ํํด์ผ ํฉ๋๋ค. ํนํ, ์ ์ ํ์ ๋ณ์๊ฐ ์ฐ์ ์ฐ์ฐ์์์ ํผ์ฐ์ฐ์๋ก ์ฌ์ฉ๋๋ฉด, byte๋ short ํ์ ์ ๋ณ์๋ int ํ์ ์ผ๋ก ์๋ ๋ณํ๋์ด ์ฐ์ฐ์ด ์ํ๋ฉ๋๋ค.
byte x = 10;
byte y = 20;
// byte ๋ณ์๊ฐ ํผ์ฐ์ฐ์๋ก ์ฌ์ฉ๋ ๋ ์ปดํ์ผ ์๋ฌ ๋ฐ์
// byte result = x + y;
// byte ๋ณ์๋ฅผ int ํ์
์ผ๋ก ์๋ ๋ณํํ์ฌ ์ฐ์ฐ์ ์ํ
int result = x + y;
int x = 10;
int y = 20;
// ์ ์ ํ์
๋ณ์๊ฐ ์ฐ์ ์ฐ์ฐ์์์ ์ฌ์ฉ๋ ๋๋ int ํ์
์ผ๋ก ์ ์ธํ๋ ๊ฒ์ด ์ผ๋ฐ์
int result = x + y;
์ค์ ์ฐ์ฐ์์๋ ํผ์ฐ์ฐ์์ ํ์
์ ๋ฐ๋ผ ์ฐ์ฐ์ด ์ํ๋ฉ๋๋ค. ๋ชจ๋ ํผ์ฐ์ฐ์๊ฐ ๋์ผํ ์ค์ ํ์
์ผ ๊ฒฝ์ฐ ํด๋น ํ์
์ผ๋ก ์ฐ์ฐ์ด ์ํ๋๊ณ , ๊ฒฐ๊ณผ๋ ํด๋น ํ์
์ด ๋ฉ๋๋ค.
// ํผ์ฐ์ฐ์๊ฐ ๋ชจ๋ float ํ์
์ผ ๊ฒฝ์ฐ, float ํ์
์ผ๋ก ์ฐ์ฐ ๋ฐ ๊ฒฐ๊ณผ ์ ์ฅ
float result = 1.2f + 3.4f;
๊ทธ๋ฌ๋ ํผ์ฐ์ฐ์ ์ค ํ๋๊ฐ double ํ์
์ผ ๊ฒฝ์ฐ, ๋ค๋ฅธ ํผ์ฐ์ฐ์๋ double ํ์
์ผ๋ก ๋ณํ๋์ด ์ฐ์ฐ์ด ์ํ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ double ํ์
์ด ๋ฉ๋๋ค.
int intValue = 10;
double doubleValue = 5.5;
// int ํ์
ํผ์ฐ์ฐ์๊ฐ double ํ์
์ผ๋ก ๋ณํ๋์ด ์ฐ์ฐ์ด ์ํ๋จ
double result = intValue + doubleValue;
์ ์ ํ์
๊ณผ double ํ์
์ ์ฐ์ฐํ ๋, ํผ์ฐ์ฐ์ ์ค ํ๋๊ฐ double ํ์
์ด๋ฉด ๋ค๋ฅธ ํผ์ฐ์ฐ์๋ double ํ์
์ผ๋ก ๋ณํ๋์ด ์ฐ์ฐ๋๊ณ , ์ฐ์ฐ ๊ฒฐ๊ณผ๋ double ํ์
์ด ๋ฉ๋๋ค. ์ด ๋ int ํ์
ํผ์ฐ์ฐ์๊ฐ double ํ์
์ผ๋ก ์๋ ๋ณํ๋์ด ์ฐ์ฐ์ ์ํํฉ๋๋ค. ๋ง์ฝ int ํ์
์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ํ์ํ๋ค๋ฉด, double ํ์
ํผ์ฐ์ฐ์๋ฅผ int ํ์
์ผ๋ก ๊ฐ์ ๋ณํํ์ฌ ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค.
// ์ ์ ํ์
๊ณผ double ํ์
์ ์ฐ์ฐํ ๋ ์๋ ํ์
๋ณํ์ ๊ดํ ์์
int intValue = 10;
double doubleValue = 5.5;
// double ํ์
ํผ์ฐ์ฐ์๊ฐ ํฌํจ๋ ์ฐ์ฐ์ ๋ค๋ฅธ ํผ์ฐ์ฐ์๋ double ํ์
์ผ๋ก ๋ณํ๋จ
double result1 = intValue + doubleValue; // intValue๊ฐ double๋ก ์๋ ๋ณํ๋์ด 10.0 + 5.5๊ฐ ๋์ด ๊ฒฐ๊ณผ๋ 15.5๊ฐ ๋จ
// ๋ง์ฝ int ํ์
๊ฒฐ๊ณผ๊ฐ ํ์ํ๋ค๋ฉด double ํ์
์ int ํ์
์ผ๋ก ๊ฐ์ ๋ณํํ์ฌ ์ฐ์ฐ
double result2 = intValue + (int)doubleValue; // doubleValue๊ฐ ๊ฐ์ ๋ก int๋ก ๋ณํ๋์ด 10 + 5๊ฐ ๋์ด ๊ฒฐ๊ณผ๋ 15๊ฐ ๋จ
public class OperationPromotionExample {
public static void main(String[] args) {
byte result1 = 10 + 20; // ์ปดํ์ผ ๋จ๊ณ์์ ์ฐ์ฐ
System.out.println("result1: " + result1);
byte v1 = 10;
byte v2 = 20;
int result2 = v1 + v2; // int ํ์
์ผ๋ก ๋ณํ ํ ์ฐ์ฐ
System.out.println("result2 : " + result2);
byte v3 = 10;
int v4 = 100;
long v5 = 1000L;
long result3 = v3 + v4 + v5; // long ํ์
์ผ๋ก ๋ณํ ํ ์ฐ์ฐ
System.out.println("result3: " + result3);
char v6 = 'A';
char v7 = 1;
int result4 = v6 + v7; // int ํ์
์ผ๋ก ๋ณํ ํ ์ฐ์ฐ
System.out.println("result4: " + result4);
int v8 = 10;
int result5 = v8 / 4; // ์ ์ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ ์ ์
System.out.println("result5: " + result5);
int v9 = 10;
double result6 = v9 / 4.0; // double ํ์
์ผ๋ก ๋ณํ ํ ์ฐ์ฐ
System.out.println("result6: " + result6);
int v10 = 1;
int v11 = 2;
double result7 = (double) v10 / v11; // double ํ์
์ผ๋ก ๋ณํ ํ ์ฐ์ฐ
System.out.println("result7: " + result7);
}
}
์๋ฐ์์ + ์ฐ์ฐ์๋ ๋ ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
1. ํผ ์ฐ์ฐ์๊ฐ ๋ชจ๋ ์ซ์์ผ ๊ฒฝ์ฐ์๋ ๋ง์ ์ฐ์ฐ์ ์ํํฉ๋๋ค.
2. ํผ์ฐ์ฐ์ ์ค ํ๋๊ฐ ๋ฌธ์์ด์ผ ๊ฒฝ์ฐ์๋ ๋๋จธ์ง ํผ์ฐ์ฐ์๋ ๋ฌธ์์ด๋ก ์๋ ๋ณํ๋์ด ๋ฌธ์๋ก ๊ฒฐํฉ ์ฐ์ฐ์ ์ํํฉ๋๋ค.
์ฐ์ฐ์์์ + ์ฐ์ฐ์๊ฐ ์ฐ์ด์ด ๋์ค๋ฉด ์์์๋ถํฐ ์์ฐจ์ ์ผ๋ก ์ฐ์ฐ์ ์ํํฉ๋๋ค. ๋จผ์ ์ํ๋ ์ฐ์ฐ์์ด ๋ง์
์ด๋ผ๋ฉด ๋ง์
๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ๊ทธ๋ค์ + ์ฐ์ฐ์ ์ํํ๊ณ , ๋ง์ฝ ๋จผ์ ์ํ๋ ์ฐ์ฐ์ด ๋ฌธ์์ด ๊ฒฐํฉ์ด๋ผ๋ฉด ์ดํ + ์ฐ์ฐ์ ๊ฒฐํฉ ์ฐ์ฐ์ด ๋ฉ๋๋ค.
์์์๋ถํฐ ์์ฐจ์ ์ผ๋ก + ์ฐ์ฐ์ ์ํํ์ง ์๊ณ ํน์ ๋ถ๋ถ์ ์ฐ์ ์ฐ์ฐํ๊ณ ์ถ๋ค๋ฉด ํด๋น ๋ถ๋ถ์ ๊ดํธ๋ก ๊ฐ์ธ๋ฉด ๋๋ฉฐ, ๊ดํธ๋ ํญ์ ์ต์ฐ์ ์ผ๋ก ์ฐ์ฐ์ ์ํํฉ๋๋ค.
// ๋ฌธ์์ด๊ณผ ์ซ์๋ฅผ ๊ฒฐํฉํ๋ ์์
int number = 10;
String text = "Hello";
String result = text + number; // "Hello" + 10์ ๋ฌธ์์ด๋ก ๊ฒฐํฉํ์ฌ "Hello10"์ด ๋๋ค.
// ์ฐ์ด์ด ๋์ค๋ + ์ฐ์ฐ์์ ๋์ ์์
int a = 5;
int b = 3;
int c = 2;
int d = 1;
int calculation = a + b + c + d; // ์์ฐจ์ ์ผ๋ก ๋ง์
์ฐ์ฐ์ ์ํํ์ฌ ๊ฒฐ๊ณผ๋ 11์ด ๋๋ค.
// ํน์ ๋ถ๋ถ์ ์ฐ์ ์ฐ์ฐํ๋ ์์
int x = 2;
int y = 3;
int z = 4;
int priorityCalculation = (x + y) * z; // x + y๋ฅผ ๋จผ์ ์ํํ ํ z์ ๊ณฑ์
์ฐ์ฐ์ ์ํํ์ฌ ๊ฒฐ๊ณผ๋ 20์ด ๋๋ค.
public class StringConcatExample {
public static void main(String[] args) {
// ์ซ์ ์ฐ์ฐ
int result1 = 10 + 2 + 8;
System.out.println("result1: " + result1);
// ๊ฒฐํฉ ์ฐ์ฐ
String result2 = 10 + 2 + "8";
System.out.println("result2: " + result2);
String result3 = 10 + "2" + 8;
System.out.println("result3: " + result3);
String result4 = "10" + 2 + 8;
System.out.println("result4: " + result4);
String result5 = "10" + (2 + 8);
System.out.println("result5: " + result5);
}
}
4. ๋ฌธ์์ด์ ๊ธฐ๋ณธ ํ์ ์ผ๋ก ๋ณํ๐
ํ๋ก๊ทธ๋จ์์ ๋ฌธ์์ด์ ์ซ์ ํ์ ์ผ๋ก ๋ณํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด '22'์ '1.8'์ ์ ์ ๋ฐ ์ค์ ํ์ ์ผ๋ก ๋ณํํด์ ์ซ์ ์ฐ์ฐ์ ํ๋ ๊ฒฝ์ฐ์ ๋๋ค. ์๋ฐ์์ ๋ฌธ์์ด์ ๊ธฐ๋ณธ ํ์ ์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ณํ ํ์ | ์์ |
String -> byte | String str = "10"; byte value = Byte.parseByte(str); |
String -> short | String str = "100"; short value = Short.parseShort(str); |
String -> int | String str = "1000"; int value = Integer.parseInt(str) |
String -> long | String str = "10000"; long value = Long.parseLong(str); |
String -> float | String str = "3.14"; float value = Float.parseFloat(str); |
String -> double | String str = "3.14"; double value = Double.parseDouble(str); |
String -> boolean | String str = "true"; boolean value = Boolean.parseBoolean(str); |
๋ฐ๋๋ก ๊ธฐ๋ณธ ํ์
์ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
String.valueOf() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ String str = String.valueOf(๊ธฐ๋ณธํ์
๊ฐ); ํํ๋ก ํํํด ์ค๋๋ค.
// ๊ธฐ๋ณธ ํ์
์ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
int intValue = 10;
String str = String.valueOf(intValue);
public class PrimitiveAndstringConversionExample {
public static void main(String[] args) {
// ๋ฌธ์์ด์ ์ ์๋ก ๋ณํ
int value1 = Integer.parseInt("10");
int value0 = Integer.parseInt("20");
// ๋ฌธ์์ด์ ์ค์๋ก ๋ณํ
double value2 = Double.parseDouble("3.14");
// ๋ฌธ์์ด์ boolean์ผ๋ก ๋ณํ
boolean value3 = Boolean.parseBoolean("true");
System.out.println("value1: " + value1);
System.out.println("value2: " + value2);
System.out.println("value3: " + value3);
// ๊ธฐ๋ณธ ํ์
๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํ
String str1 = String.valueOf(10);
String str2 = String.valueOf(3.14);
String str3 = String.valueOf(true);
System.out.println("str1: " + str1);
System.out.println("str2: " + str2);
System.out.println("str3: " + str3);
}
}
5. ํต์ฌ ๋ด์ฉ๐
'Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java]์๋ฐ ์ฐ์ ์ฐ์ฐ์ (0) | 2024.04.27 |
---|---|
[Java]์๋ฐ ๋ถํธ ๋ฐ ์ฆ๊ฐ ์ฐ์ฐ์ ํ์ฉ (0) | 2024.04.26 |
[Java]์๋ฐ ๋ ผ๋ฆฌ ํ์ (0) | 2024.04.23 |
[Java]์๋ฐ ๋ฌธ์ ํ์ : ๋ฌธ์์ด ์ฒ๋ฆฌ์ ํต์ฌ๊ณผ String vs. char ํ์ ๋น๊ต (0) | 2024.04.22 |
[Java]์๋ฐ ์ค์ ํ์ (0) | 2024.04.21 |