TIL(Today I Learned)_230713

Aspyn Choiยท2023๋…„ 7์›” 13์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
2/37

โ˜๐Ÿป์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ

1. ๋ฐ์ดํ„ฐ ์ €์žฅ ๋‹จ์œ„

  • ๋น„ํŠธ(bit) : ์ปดํ“จํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ์˜ ์ตœ์†Œ ์ €์žฅ ๋‹จ์œ„, 2์ง„์ˆ˜ ๊ฐ’ ํ•˜๋‚˜๋ฅผ ์ €์žฅ ๊ฐ€๋Šฅ
  • ๋ฐ”์ดํŠธ(byte) : ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋˜๋Š” ๋ฌธ์ž์˜ ์ตœ์†Œ ๋‹จ์œ„, 8๊ฐœ์˜ ๋น„ํŠธ๊ฐ€ ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ๋ฐ”์ดํŠธ๊ฐ€ ๋จ

2. ๋ณ€์ˆ˜๋ฅผ ๋” ์ž์„ธํ•˜๊ฒŒ ๋ฐฐ์›Œ๋ณด์ž

- ๋ณ€์ˆ˜์˜ ์„ ์–ธ

โ€ข ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ(๊ฐ’)๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ
โ€ข ๋ณ€์ˆ˜ ๊ฐ’ ๋Œ€์ž…
: ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ๋Š” ๊ฒƒ
: ์˜ˆ์‹œ) int iNum;, iNum = 3; / int iNum = 3;
: ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์— ๊ฐ’์„ ์ดˆ๊ธฐํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ณ , ์„ ์–ธ ํ›„ ๋‚˜์ค‘์— ๊ฐ’์„ ์ดˆ๊ธฐํ™” ์‹œํ‚ฌ ์ˆ˜ ๋„ ์žˆ๋‹ค.
โ€ข ๋ฆฌํ„ฐ๋Ÿด : ๋ณ€์ˆ˜์— ๋Œ€์ž…๋˜๊ฑฐ๋‚˜ ์ž‘์„ฑ ๋˜์–ด์ง€๋Š” ๊ฐ’ ์ž์ฒด
โ€ข ๋ฆฌํ„ฐ๋Ÿด์€ ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ํ‘œ๊ธฐ๋ฒ•์ด ๋‹ค๋ฆ„

- ๋ณ€์ˆ˜์˜ ๋ช…๋ช… ๊ทœ์น™

  1. ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฉฐ, ๊ธธ์ด์ œํ•œ์€ ์—†๋‹ค.
    : int abcdefghijklmnop123456;
    : int abcdefghijklmnoP123456;
    : p/P๊ฐ€ ๋‹ค๋ฅด๋ฉฐ, ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋กœ ์ธ์‹ํ•œ๋‹ค.
  2. ์˜ˆ์•ฝ์–ด(์ž๋ฐ”์—์„œ ์ •ํ•œ ์ž๋ฃŒํ˜• ๋“ฑ)๋Š” ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
    : double double; (x)
  3. ๋ณ€์ˆ˜๋Š” ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค.
    : char 1abc; (x)
    : char abc1; (o)
  4. ํŠน์ˆ˜๋ฌธ์ž๋Š” $ ๋˜๋Š” '์–ธ๋”๋ฐ”'๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ•˜์ง€๋งŒ, ๊ด€๋ก€์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    : int $intNumber; -> ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์“ฐ์ง€ ์•Š๋Š”๋‹ค
    : int int(์–ธ๋”๋ฐ”)Number; -> ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ intNumber๋กœ ์‚ฌ์šฉ
    : ์–ธ๋”๋ฐ” ํ‘œ๊ธฐ๋Š” DB์—์„œ ์‚ฌ์šฉ -> MEMBER_NAME
  5. ๋ณ€์ˆ˜๋ช…์€ ์นด๋ฉœ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
    : ๋ณ€์ˆ˜๋ช…์„ ์—ฌ๋Ÿฌ ๋‹จ์–ด๋ฅผ ์ด์–ด์„œ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ, ๋‹จ์–ด๋ฅผ ๋„์›Œ์“ฐ์ง€์•Š๊ณ  ํ›„์† ๋‹จ์–ด ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•œ๋‹ค.
    : char hellWorlddAppleBananaTomato;
  6. ๋ณ€์ˆ˜๋ช…์€ ์–ธ์–ด๋ฅผ ๊ฐ€๋ฆฌ์ง€์•Š์•„ ํ•œ๊ธ€๋กœ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ด€๋ก€์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    : int ์ •์ˆ˜1๋ฒˆ;
    : double ์‹ค์ˆ˜2๋ฒˆ = 3.14;
    : System.out.println(์‹ค์ˆ˜2๋ฒˆ);

- Java ์ž๋ฃŒํ˜•(Type)์˜ ์ข…๋ฅ˜ 8๊ฐ€์ง€

  1. ๋…ผ๋ฆฌํ˜• : bloolean(1byte)
  2. ์ •์ˆ˜ํ˜• : byte(1byte), short(2byte), int(4byte), long(8byte)
  3. ์‹ค์ˆ˜ํ˜• : float(4byte), double(8byte)
  4. ๋ฌธ์žํ˜• : char(2byte, ์œ ๋‹ˆ์ฝ”๋“œ)

- ์ž๋ฃŒํ˜•์— ๋”ฐ๋ฅธ ๋ฆฌํ„ฐ๋Ÿด ํ‘œ๊ธฐ๋ฒ•

โ€ข 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

3. ์ƒ์ˆ˜

- ์ƒ์ˆ˜ (ํ•ญ์ƒ ๊ฐ™์€ ์ˆ˜)

  1. ๋ณ€์ˆ˜์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค.
  2. ํ•œ ๋ฒˆ ๊ฐ’์ด ๋Œ€์ž…๋˜๋ฉด ๋‹ค๋ฅธ ๊ฐ’์„ ์žฌ๋Œ€์ž…ํ•  ์ˆ˜ ์—†๋‹ค.
  3. ์ž๋ฃŒํ˜• ์•ž์— final์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.
  4. ์ƒ์ˆ˜์˜ ๋ช…๋ช… ๊ทœ์น™
    : ๋ฆฌํ„ฐ๋Ÿด์€ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ, ์—ฌ๋Ÿฌ๋‹จ์–ด ์ž‘์„ฑ์‹œ ์–ธ๋”๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์–ด๋“ค์„ ์ž‡๋Š”๋‹ค
  5. ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
    : ๋ณ€ํ•˜๋ฉด ์•ˆ๋˜๋Š” ๊ณ ์ •๋œ ๊ฐ’์„ ์ €์žฅํ•  ๋•Œ
    : ํŠน์ •ํ•œ ๊ฐ’์— ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•  ๋•Œ (๊ฒŒ์ž„์—์„œ 'final int LEFT_MOVE = -1;' ๋“ฑ)
  6. ์˜ˆ์‹œ
		// ๋ณ€์ˆ˜์ผ ๋•Œ
		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; -> ์—๋Ÿฌ! ์žฌ๋Œ€์ž… ๋ถˆ๊ฐ€

4. ํ˜• ๋ณ€ํ™˜

- ํ˜•๋ณ€ํ™˜

  1. ํ˜•๋ณ€ํ™˜(Casting) : ๊ฐ’์˜ ์ž๋ฃŒํ˜•์„ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ (๋‹จ, bloolean ์ œ์™ธ)
  2. ํ˜•๋ณ€ํ™˜์€ ์™œ ํ•„์š”ํ• ๊นŒ?
    : ์ปดํ“จํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ™์€ ์ž๋ฃŒํ˜•๋ผ๋ฆฌ๋งŒ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    : ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๊ณผ ์—ฐ์‚ฐ ์‹œ์—๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋Ÿฐ ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๊ธฐ์ˆ ์ด ํ˜•๋ณ€ํ™˜์ด๋‹ค.
  3. ํ˜•๋ณ€ํ™˜์—๋Š” ์ž๋™/๊ฐ•์ œ ํ˜•๋ณ€ํ™˜์ด ์กด์žฌํ•œ๋‹ค.

- ์ž๋™ ํ˜•๋ณ€ํ™˜

  1. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ์ž‘์€ ์ž๋ฃŒํ˜•>๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ํฐ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

  2. ์—ฐ์Šตํ•ด๋ณด๊ธฐ

		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);	

- ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜

  1. ๊ธฐ์กด ์ž๋ฃŒํ˜•์„ ์›ํ•˜๋Š” ์ž๋ฃŒํ˜•์œผ๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ๊ฒƒ
  2. ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ํฐ ์ž๋ฃŒํ˜• -> ์ž‘์€ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ
  3. ์ถœ๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ‘œ๊ธฐ๋ฒ•์„ ๋ณ€ํ™˜์‹œํ‚ค๊ณ  ์‹ถ์„ ๋•Œ
  4. ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜ ๋ฐฉ๋ฒ•
    : ์ž๋ฃŒํ˜•์„ ๋ณ€ํ™˜์‹œํ‚ค๊ณ  ์‹ถ์€ ๊ฐ’ ๋˜๋Š” ๋ณ€์ˆ˜ ์•ž์— '(์ž๋ฃŒํ˜•)'์„ ์ž‘์„ฑ
  5. ์—ฐ์Šตํ•ด๋ณด๊ธฐ
		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);

- ๋ฐ์ดํ„ฐ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ํ˜„์ƒ

  1. ํ—ˆ์šฉ๋œ ๋ฒ”์œ„ ์ด์ƒ์˜ ๋น„ํŠธ๋ฅผ ์นจ๋ฒ”ํ•˜๊ฒŒ๋˜์–ด ์—ญ์œผ๋กœ ์ˆซ์ž๊ฐ€ ์‹œ์ž‘๋จ.
    ์ด๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์–ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜ˆ์ธกํ•ด์•ผํ•จ.
		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๋กœ ๊ฐ•์ œํ˜•๋ณ€ํ™˜ ํ•ด์คŒ
        
	}
}

5. ์ถœ๋ ฅ๋ฉ”์†Œ๋“œ

  • System.out.print()
    : ๋‹จ์ˆœ ์ถœ๋ ฅ (์ถœ๋ ฅ ํ›„ ์ค„๋ฐ”๊ฟˆ x)
  • System.out.println()
    : ํ•œ ์ค„ ์ถœ๋ ฅ (์ถœ๋ ฅ ํ›„ ์ค„๋ฐ”๊ฟˆ ์ˆ˜ํ–‰)
    print / println์€ ์ค„๋ฐ”๊ฟˆ์ด๋ผ๋Š” ์ฐจ์ด์ ์€ ์žˆ์ง€๋งŒ ๊ด„ํ˜ธ์•ˆ์˜ ๋‚ด์šฉ์ด ๊ทธ๋Œ€๋กœ ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์€ ๊ฐ™์Œ
    ```java
    	System.out.println("ํ…Œ์ŠคํŠธ1");
    	System.out.println("ํ…Œ์ŠคํŠธ2");
    	//syso์ž‘์„ฑ ctrl + space ๋ˆ„๋ฅด๋ฉด ์ž๋™ ์™„์„ฑ
    	
    	System.out.print("ํ…Œ์ŠคํŠธ3");
    	System.out.println(); //๋‚ด์šฉ์—†๋Š” println์€ ๋‹จ์ˆœ ์ค„๋ฐ”๊ฟˆ์ด๋‹ค
    	System.out.print("ํ…Œ์ŠคํŠธ4");
    ```
  • System.out.printf()
    : ์ถœ๋ ฅ๋  ๋‚ด์šฉ์„ ์ •ํ•ด์ ธ์žˆ๋Š” ํ˜•์‹(ํŒจํ„ด)์— ๋งž์ถฐ์„œ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ (์ถœ๋ ฅ ํ›„ ์ค„๋ฐ”๊ฟˆ x)
    : ํ˜•์‹ - System.out.printf("ํŒจํ„ด", ํŒจํ„ด์— ๋“ค์–ด๊ฐˆ ๊ฐ’);
    : ํŒจํ„ด์˜ ์ข…๋ฅ˜
    โ€ข %d : ์ •์ˆ˜ํ˜•, %0 : 8์ง„์ˆ˜, %x : 16์ง„์ˆ˜
    โ€ข %c : ๋ฌธ์ž, %s : ๋ฌธ์ž์—ด
    โ€ข %f : ์‹ค์ˆ˜(์†Œ์ˆ˜์  ์•„๋ž˜ 6์ž๋ฆฌ), %e : ์ง€์ˆ˜ํ˜•ํƒœ ํ‘œํ˜„, %g : ๋Œ€์ž…๊ฐ’๊ทธ๋Œ€๋กœ
    โ€ข %A : 16์ง„์ˆ˜ ์‹ค์ˆ˜
    โ€ข %b : ๋…ผ๋ฆฌํ˜•
    : ์ •๋ ฌ ์ข…๋ฅ˜
    โ€ข %5d : 5์นธ์„ ํ™•๋ณดํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ
    โ€ข %-5d : 5์นธ์„ ํ™•๋ณดํ•˜๊ณ  ์™ผ์ชฝ ์ •๋ ฌ
    โ€ข %.2f : ์†Œ์ˆ˜์  ์•„๋ž˜ 2์ž๋ฆฌ๊นŒ์ง€๋งŒ ํ‘œ์‹œ
    โ€ข %.0f : ์†Œ์ˆ˜์  ์•„๋ž˜ 0์ž๋ฆฌ๊นŒ์ง€๋งŒ ํ‘œ์‹œ(๋ฐ˜์˜ฌ๋ฆผ๋˜์–ด ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚จ)
		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์ž๋ฆฌ๊นŒ์ง€(๋‹จ, ๋ฐ˜์˜ฌ๋ฆผ ๋จ)

6. escape ๋ฌธ์ž

: ์ผ๋ฐ˜๋ฌธ์ž๊ฐ€์•„๋‹Œ ํŠน์ˆ˜๋ฌธ์ž ํ‘œํ˜„

		// ํŠน์ˆ˜๋ฌธ์ž ์‚ฌ์šฉ ์‹œ \๋ฅผ ๋„ฃ๊ณ  ๋’ค์— ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋„ฃ์–ด์•ผํ•จ.
		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์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€ ๋ชฐ๋ผ์„œ ํ—ค๋งธ์ง€๋งŒ, ํ’€์—ˆ๋‹ค~!

๐Ÿ‘Œ๐Ÿป์•ž์œผ๋กœ๋Š”?

์–ผ๋ฅธ ๋‹ค๋ฅธ ๊ฒƒ๋“ค๋„ ๋ฐฐ์›Œ์„œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ ๋งŽ์ด ํ’€์ˆ˜์žˆ๊ธธ ๊ธฐ๋Œ€!

0๊ฐœ์˜ ๋Œ“๊ธ€