- ๋นํธ(bit) : ์ปดํจํฐ๊ฐ ๋ํ๋ด๋ ๋ฐ์ดํฐ์ ์ต์ ์ ์ฅ ๋จ์, 2์ง์ ๊ฐ ํ๋๋ฅผ ์ ์ฅ ๊ฐ๋ฅ
- ๋ฐ์ดํธ(byte) : ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋๋ ๋ฌธ์์ ์ต์ ๋จ์, 8๊ฐ์ ๋นํธ๊ฐ ๋ชจ์ฌ ํ๋์ ๋ฐ์ดํธ๊ฐ ๋จ
โข ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ(๊ฐ)๋ฅผ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ ํ ๋นํ๋ ๊ฒ
โข ๋ณ์ ๊ฐ ๋์
: ๋ณ์์ ๊ฐ์ ๋ฃ๋ ๊ฒ
: ์์) int iNum;, iNum = 3; / int iNum = 3;
: ๋ณ์๋ ์ ์ธ๊ณผ ๋์์ ๊ฐ์ ์ด๊ธฐํ ์ํฌ ์ ์๊ณ , ์ ์ธ ํ ๋์ค์ ๊ฐ์ ์ด๊ธฐํ ์ํฌ ์ ๋ ์๋ค.
โข ๋ฆฌํฐ๋ด : ๋ณ์์ ๋์ ๋๊ฑฐ๋ ์์ฑ ๋์ด์ง๋ ๊ฐ ์์ฒด
โข ๋ฆฌํฐ๋ด์ ์๋ฃํ์ ๋ฐ๋ผ ํ๊ธฐ๋ฒ์ด ๋ค๋ฆ
โข long ์๋ฃํ
: longNumber = 10000000000L;
: ๋ฆฌํฐ๋ด ๋ค์ l/L์ ๋ถ์ด์ง์์ผ๋ฉด, ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ธ
: "the literal 10000000000 of type int is out of range"
-> 100์ต์ด๋ผ๋ ๊ฐ์ int์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ๋ค๋ ๋ป์ด๋ฉฐ,
๋ฆฌํฐ๋ด ๋ค์ l/L์ ๋ถ์ด์ง ์์ผ๋ฉด ์ ์์ ๊ธฐ๋ณธ ์๋ฃํ์ธ int๊ฐ์ผ๋ก ์ธ์ํจ
: ๋ฆฌํฐ๋ด ๋ค์ l/L์ ๋ถ์ฌ์ค์ผ๋ก์จ long ์๋ฃํ์ธ ๊ฒ์ ๋ํ๋ด์ผํจ.
โข float ์๋ฃํ
floatNumber = 1.2345f;
: ๋ฆฌํฐ๋ด์ 1.2345๊น์ง๋ง ์ฐ๋ฉด ์ค์ํ ๊ธฐ๋ณธ์๋ฃํ์ธ double๋ก ์ธ์ํ์ฌ ์๋ฌ ๋ฐ์.
: ๋ฆฌํฐ๋ด ๋ค์ f/F๋ฅผ ๋ถ์ฌ flaot ์๋ฃํ์ธ ๊ฒ์ ๋ํ๋ด์ผํจ.
โข char ๋ฌธ์ํ
: ํ๋ฐ์ดํ('') ์์ ๋ฌธ์ ํ๋๋ง ์์ฑํ๋ค.
: ์ปดํจํฐ์๋ ๋ฌธ์ํ๊ฐ ์กด์ฌํ๊ณ , ์ซ์์ ๋ฐ๋ผ ์ง์ ๋ ๋ฌธ์ ๋ชจ์์ด ๋งคํ๋์ด์์(์ ๋์ฝ๋)
: 'B'๋ฌธ์ ๊ทธ๋๋ก๊ฐ ch์ ๋์ ๋๋ฉด ๋ณ์์ '์ซ์ 66'์ผ๋ก ๋ณํ๋์ด ์ ์ฅ๋จ
-> ๊ฒฐ๊ตญ, ๋ณ์์ ์ ์ด์ 66์ด๋ผ๋ ์ซ์๋ฅผ ์ ์ฅํ๋ ๊ฒ์
boolean booleanData; // ๋ณ์ ์ ์ธ
// ๋ฉ๋ชจ๋ฆฌ์ ๋
ผ๋ฆฌ ๊ฐ(T/F)์ ์ ์ฅํ ๊ณต๊ฐ์ 1byte ํ ๋นํ๊ณ
// ํ ๋น ๋ ๊ณต๊ฐ์ blooleanData๋ก ์ ํ๊ฒ ๋ค ๋ผ๋ ๋ป์ด๋ค.
booleanData = true; // ๋ณ์ ๊ฐ ๋์
//blooleanData ๋ณ์์ true ๊ฐ์ ๋ฃ์๋ค.
System.out.println("booleanData : " + booleanData);
System.out.println("---------------------------");
byte byteNumber = 127; // 128 ๋ฃ์ผ๋ฉด ์๋ฌ > int๋ก ์ฌ์ฉํด์ผํจ
// ๋ฉ๋ชจ๋ฆฌ์ ์ ์ ๊ฐ์ ์ ์ฅํ ๊ณต๊ฐ์ 1byte ํ ๋นํ๊ณ
// ํ ๋น๋ ๊ณต๊ฐ์ byteNumber๋ผ๊ณ ์ ํ๊ฒ ๋ค.
// ๊ทธ๋ฆฌ๊ณ ์ ์ธ๋ byteNumber์ 127์ ๊ฐ์ผ๋ก ์ด๊ธฐํ ํ๊ฒ ๋ค.
// -> ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
System.out.println("byteNumber : " + byteNumber);
System.out.println("---------------------------");
short shortNumber = 32767; // 32768 ๋ฃ์ผ๋ฉด ์๋ฌ > int ์ฌ์ฉํด์ผํจ
// -> ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
int intNumber = 2147483647; //์ ์ ์๋ฃํ์ ๊ธฐ๋ณธํ!
// -> ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
// short, byte๋ ์๋ ์ฝ๋์ ์์ฌ๋ก, ์ ์ฌ์ฉํ์ง์์
long longNumber = 10000000000L;
// ๋ฆฌํฐ๋ด ๋ค์ L์ ๋ถ์ด์ง ์์ผ๋ฉด int(์ ์ ๊ธฐ๋ณธํ)๊ฐ์ผ๋ก ์ธ์ํจ
// -> ๋ค์ L์ ๋ถ์ฌ์ค์ผ๋ก์จ long ์๋ฃํ์ธ ๊ฒ์ ๋ํ๋.
float floatNumber = 1.2345f;
// 1.2345๊น์ง๋ง ์ฐ๋ฉด ์๋ฌ๋จ. ์ค์ํ ๊ธฐ๋ณธ์๋ฃํ์ธ double๋ก ์ธ์
// ๋ฆฌํฐ๋ด ๋ค์ f๋ฅผ ๋ถ์ฌ์ค์ผํจ.
double doubleNumber = 3.141592; // ์ค์ ์๋ฃํ์ ๊ธฐ๋ณธํ!
// ๋ฆฌํฐ๋ด ํ๊ธฐ๋ฒ์ด ์๋ ์ค์๋ double(๊ธฐ๋ณธํ)๋ก ์ธ์ํ๋ค.
// ๋ฆฌํฐ๋ด ๋ค์ d๋ฅผ ์ธ์๋ ์์ผ๋, ์ค์ํ์ float, double 2๊ฐ์ง์ด๋ฏ๋ก
// ์๋ฐ๋ double์ ๋ฆฌํฐ๋ดํ๊ธฐ๋ฒ ์๋ถ์ด๊ณ ์ฌ์ฉํ๋ ์๋ฃํ์ผ๋ก ์ ํจ.
System.out.println("-------๋ฌธ์ํ ๋ฆฌํฐ๋ด ํ๊ธฐ๋ฒ-------");
char ch = 'A';
char ch2 = 66;
System.out.println("ch : "+ch); // ch : A
System.out.println("ch2 : "+ch2); // ch2 : B
// ๋ณ์์ผ ๋
int number = 10;
System.out.println("number : "+ number); // 10
number = 20;
System.out.println("number : "+ number); // 20
//์์์ผ ๋
final double PI_VALUE = 3.14;
System.out.println("PI_VALUE : "+ PI_VALUE); // 3.14
// PI_VALUE = 2.14; -> ์๋ฌ! ์ฌ๋์
๋ถ๊ฐ
์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๊ฐ์ ๋ฒ์๊ฐ ์์ ์๋ฃํ>๊ฐ์ ๋ฒ์๊ฐ ํฐ ์๋ฃํ์ผ๋ก ๋ณํํด์ค๋ค.
์ฐ์ตํด๋ณด๊ธฐ
int num1 = 10;
double num2 = 3.5;
System.out.println("์๋ ํ๋ณํ ๊ฒฐ๊ณผ : "+ (num1 + num2));
// ์๋ฃํ์ด ๋ค๋ฅด๋ฏ๋ก ์๋ ์๋ฌ๊ฐ ๋ฐ์ํด์ผ ํ์ง๋ง,
// '์๋ ํ๋ณํ'๋๋ถ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง์๋๋ค.
int i1 = 3;
double d1 = i1;
System.out.println("i1 : "+ i1); // 3
System.out.println("d1 : "+ d1); // 3.0
// double์ ์ค์๋ง ์ ์ฅํ ์ ์๋ ์๋ฃํ
// ์ ์๊ฐ ๋์
๋๋ ์ฐ์ฐ์ด ์ํ๋๋ฉด, ์ค์๋ก ์๋ ํ๋ณํ ํด์ค๋ค.
System.out.println(d1+num2);
System.out.println("-----------------------");
// int > long ํ๋ณํ
int i2 = 2_100_000_000; // 21์ต
long l2 = 10_000_000_000L; //100์ต
long result2 = i2 + l2;
// int + long > long + long = long
System.out.println("result2 : " + result2);
System.out.println("-----------------------");
/* char ์๋ฃํ์ ๋ฌธ์ํ์ด์ง๋ง,
* ์ค์ ์ ์ฅํ๋ ๊ฐ์
* 0๋ถํฐ 6๋ง5์ฒ๋ฒ ์ฌ์ด์ ์๋ ์ซ์๋ก ์ ์ฅ๋จ
*/
// char > int ํ๋ณํ
char ch3 = 'V';
int i3 = ch3;
System.out.println(i3);
char ch4 = '์กฐ';
int i4 = ch4;
System.out.println(i4);
double temp = 3.14;
int num = (int) temp;
System.out.println("temp : " + temp); //temp : 3.14
System.out.println("num : " + num); // num : 3
// ์ค์ > ์ ์ํ์ผ๋ก ๋ณํ ์ ๋ฐ์ดํฐ ์์ค ๋ฐ์(์์์ ์๋ ๋ฒ๋ฆผ์ฒ๋ฆฌ)
//int > byte ๊ฐ์ ํ๋ณํ
int iNum = 290;
byte bNum = (byte) iNum;
System.out.println("iNum : " + iNum); // iNum : 290
System.out.println("bNum : " + bNum); // bNum : 34
// ๊ฐ์ ์ ์ํ ๋ผ๋ฆฌ์ ๋ณํ ์์๋ ๊ฐ์ ๋ฒ์ ์ฐจ์ด ๋๋ฌธ์ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์
// char > int ๊ฐ์ ํ๋ณํ
char ch = 'A'; // 65
int iNum2 = ch; // ์๋ ํ๋ฒํ
System.out.println(iNum2); // 65
System.out.println( (int) ch ); // ๊ฐ์ ํ๋ณํ > 65
// int > char ๊ฐ์ ํ๋ณํ
int iNum3 = 44033;
System.out.println(iNum3 + "๋ฒ์งธ ๋ฌธ์ : " + (char) iNum3);
int i6 = 2147483647; //int์ ์ต๋๊ฐ
int result6 = i6 + 1;
System.out.println(result6); // -2147483648์ผ๋ก ๋์๊ฐ
package edu.kh.variable.practice;
public class CastingPractice1 {
public static void main(String[] args) {
int iNum1 = 10;
int iNum2 = 4;
float fNum = 3.0f;
double dNum = 2.5;
char ch = 'A';
//-----------------------------------------------//
System.out.println(iNum1 / iNum2); // 2
int iNum3 = (int) dNum;
System.out.println(iNum3); // 2
System.out.println(iNum2 * dNum); // 10.0
double dNum1 = (double) iNum1;
System.out.println(dNum1); // 10.0
double dNum2 = (double) iNum1;
double dNum3 = (double) iNum2;
System.out.println(dNum2 / dNum3); // 2.5
System.out.println(dNum); // 2.5
int iNum4 = (int) fNum;
System.out.println(iNum4); // 3
System.out.println(iNum1 / iNum4); // 3
float fNum1 = (float) iNum1;
System.out.println(fNum1 / fNum);// 3.3333333
double dNum4 = (double) iNum1;
System.out.println(dNum4 / fNum); // 3.3333333333333335
System.out.println(ch); // 'A'
System.out.println( (int)ch ); // 65
System.out.println( (int)ch + iNum1 ); // 75
char ch1 = 'K';
System.out.println( (int)ch1 ); // 75
System.out.println( (char) ((int)(ch+iNum1)) ); // 'K'
//----------------------๊น๋ํ ํ๋ณํ๋ฒ (๋ค์์ฐ์ต)-----------------------//
System.out.println( iNum1 / iNum2 ); // 2
System.out.println( (int)dNum ); // 2
System.out.println( (double)iNum2 * dNum ); // 10.0
System.out.println( (double)iNum1 ); // 10.0
System.out.println( (double)iNum1 / (double)iNum2); // 2.5
System.out.println( dNum ); // 2.5
System.out.println( (int)fNum ); // 3
System.out.println( iNum1 / (int)fNum ); // 3
System.out.println( iNum1 / fNum );// 3.3333333
System.out.print ln( iNum1 / (double)fNum ); // 3.3333333333333335
System.out.println( "'" + ch + "'" ); // 'A'
System.out.println( (int)ch ); // 65
System.out.println( ch+iNum1 ); // 75
System.out.println( "'" + (char)(ch+iNum1) + "'"); // 'K'
// ch ์ iNum1 ๋ํ๊ธฐ > int๋ก ์๋ ํ๋ณํ๋จ
// int๋ก ๋ณํ๋ ์ซ์๋ฅผ ๋ค์ char๋ก ๊ฐ์ ํ๋ณํ ํด์ค
}
}
```java
System.out.println("ํ
์คํธ1");
System.out.println("ํ
์คํธ2");
//syso์์ฑ ctrl + space ๋๋ฅด๋ฉด ์๋ ์์ฑ
System.out.print("ํ
์คํธ3");
System.out.println(); //๋ด์ฉ์๋ println์ ๋จ์ ์ค๋ฐ๊ฟ์ด๋ค
System.out.print("ํ
์คํธ4");
```
int iNum1 = 10;
int iNum2 = 5;
System.out.println(iNum1 + " + " + iNum2 + " = " + (iNum1+iNum2));
// "10+5=15"์ถ๋ ฅ์ ์ํ ๋ println ์ฌ์ฉ ์ ๋ณต์กํ๊ณ ๊ท์ฐฎ์
// printf๋ฅผ ์ฌ์ฉํด๋ณด์
System.out.printf("%d + %d = %d\n", iNum1, iNum2, iNum1+iNum2);
System.out.printf("%d + %d = %d\n", 10,5,15);
// printf์์๋ ์ค๋ฐ๊ฟํ๋ ค๋ฉด '\n'๋ฅผ ๋ถ์ฌ์ค์ผํ๋ค.
// 10 + 10 * 5 / 2 = 35๋ฅผ printf๋ก ์ถ๋ ฅํด๋ณด์
System.out.printf("%d + %d * %d / 2 = %d\n", iNum1, iNum1, iNum2, 2, iNum1+iNum1*iNum2/2);
// ๋ฌธ์, ๋ฌธ์์ด, bloolean
boolean isTrue = false;
char ch = '์กฐ';
String str = "์๋
ํ์ธ์"; // ์ฐธ์กฐํ
System.out.printf("%b / %c / %s\n", isTrue, ch, str);
// false / ์กฐ / ์๋
ํ์ธ์ ์ถ๋ ฅ
// ์ ๋ ฌ ์ฐ์ต
int iNum3 = 3;
System.out.printf("%d\n", iNum3); // ์ถ๋ ฅ๋ด์ฉ ๋ค์ ์ค๋ฐ๊ฟ
System.out.printf("%5d\n", iNum3); // 5์นธ ๊ณต๊ฐ ํ๋ณด ํ ์ค๋ฅธ์ชฝ ์ ๋ ฌํ์ฌ ์ถ๋ ฅ
System.out.printf("%-5d\n", iNum3); // 5์นธ ๊ณต๊ฐ ํ๋ณด ํ ์ผ์ชฝ ์ ๋ ฌํ์ฌ ์ถ๋ ฅ
// ์์์ ์๋ฆฌ ์ ์ด
System.out.printf("%f\n", 10 / 4.0); // 2.500000, ์ค์(์์์ ์๋ 6์๋ฆฌ)
System.out.printf("%.2f\n", 10 / 4.0); // 2.50, ์์์ ์๋ 2์๋ฆฌ๊น์ง
System.out.printf("%.0f\n", 10 / 4.0); // 3 > ์์์ ์๋ 0์๋ฆฌ๊น์ง(๋จ, ๋ฐ์ฌ๋ฆผ ๋จ)
: ์ผ๋ฐ๋ฌธ์๊ฐ์๋ ํน์๋ฌธ์ ํํ
// ํน์๋ฌธ์ ์ฌ์ฉ ์ \๋ฅผ ๋ฃ๊ณ ๋ค์ ํน์๋ฌธ์๋ฅผ ๋ฃ์ด์ผํจ.
System.out.println("\\"); // \ ์ผ๋ก ์ถ๋ ฅ๋จ
System.out.println("\\0/"); // \0/ ์ผ๋ก ์ถ๋ ฅ๋จ
// tab : \t
System.out.println("a\tb\tc\td\t"); //'a b c d '์ผ๋ก ์ถ๋ ฅ
// ์ค๋ฐ๊ฟ : \n
// ์ ๋์ฝ๋
System.out.println("\u0041"); // A
// ์ ๋์ฝ๋๋ 16์ง์์ด๋ค.
// A๋ 65์ด๊ณ , 65๋ฅผ 16์ง์๋ก ํํํ๋ฉด
// 65/16 : ๋ชซ 4, ๋๋จธ์ง 1์ด๋ผ 0041๋ก ํํํ ์ ์๋ค.
์ค๋์ ์์ตํ๋ ๋ด์ฉ๋ณด๋ค ์๋ก์ด ๋ด์ฉ๋ค์ด ๋ง์๋ค.
์ค๋ ๋ฐฐ์ด ๋ด์ฉ์ ๋ณต์ต์ ๋ ํ ๊ฒ!
ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์ค ๊ฐ๋จํ ์ฐ์ฐ์ ์ ๋๋ง ํ์ด๋ณด์๋ค.
return์ ์ด๋ป๊ฒ ์ฌ์ฉํด์ผํ๋์ง ๋ชฐ๋ผ์ ํค๋งธ์ง๋ง, ํ์๋ค~!
์ผ๋ฅธ ๋ค๋ฅธ ๊ฒ๋ค๋ ๋ฐฐ์์ ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋ง์ด ํ์์๊ธธ ๊ธฐ๋!