[JAVA.03] printf ์™€ ํ˜•๋ณ€ํ™˜(type conversion) ๐Ÿ“ฃ

Kama_Codeยท2023๋…„ 6์›” 17์ผ
1

JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
8/20
post-thumbnail
post-custom-banner

<Step.1> ๋ฌธ์ž์—ด์„ ์กฐํ•ฉํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” printf

  • ์šฐ๋ฆฌ๋Š” ์ด์ „์— ์ž๋ฐ”(JAVA)์—์„œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋”ฉ์„ ๋ฐฐ์› ๋‹ค.
    ๋ฐ”๋กœ println๊ณผ print์ด๋‹ค.
  • println(); : ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•œ ํ›„ ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    'sysou' -> ์ปจํŠธ๋กค+์ŠคํŽ˜์ด์Šค<์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ>
    ๋ฌธ์ž์—ด์„ "(๋”๋ธ”์ฟผํ…Œ์ด์…˜)์œผ๋กœ ๊ฐ์‹ธ์„œ ํ‘œํ˜„ํ•œ๋‹ค.
  • print(); : ์ถœ๋ ฅ ํ›„ ์ค„๋ฐ”๊ฟˆ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    ๋งŒ์•ฝ ์ค„๋ฐ”๊ฟˆ์ด ํ•„์š”ํ•˜๋ฉด \n์„ ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค.

์ด ์™ธ์—๋„ ์›น์ด๋‚˜ ์•ฑ์—์„œ ์ •๋ง ๋งŽ์ด ์“ฐ๋Š” ํ”„๋ฆฐํŠธ ์ถœ๋ ฅ๋ฌธ์ด ์žˆ๋‹ค.
๋ฐ”๋กœ printf !
์ฐจ์ด๋Š” ๋ฌธ์ž์—ด์„ ์กฐํ•ฉํ•˜์—ฌ ์ถœ๋ ฅ์„ ํ•œ๋‹ค.

> + ์ž์ฃผ์“ฐ๋Š” 4๊ฐ€์ง€๋งŒ ๊ผญ ๊ธฐ์–ตํ•˜์ž!โœจ

  • %d : 10์ง„์ˆ˜ ์ •์ˆ˜
  • %f : ์‹ค์ˆ˜
  • %s : ๋ฌธ์ž์—ด
  • %c : ๋ฌธ์ž

> + ์‘์šฉ ํ‘œํ˜„โœจ

  • %4d : ์ž๋ฆฌ์ˆ˜๋ฅผ 4์ž๋ฆฌ๋กœ ์ง€์ •ํ•˜๊ณ  ๋‚จ์€ ๋ถ€๋ถ„์€ ๊ณต๋ฐฑ์œผ๋กœ ์ถœ๋ ฅ + <์šฐ์ธก ์ •๋ ฌ:์–‘์ˆ˜>
  • %-4d : ์ž๋ฆฌ์ˆ˜๋ฅผ 4์ž๋ฆฌ๋กœ ์ง€์ •ํ•˜๊ณ  ๋‚จ์€ ๋ถ€๋ถ„์€ ๊ณต๋ฐฑ์œผ๋กœ ์ถœ๋ ฅ + <์ขŒ์ธก ์ •๋ ฌ:์Œ์ˆ˜>
  • %04d : ์ž๋ฆฌ์ˆ˜๋ฅผ 4์ž๋ฆฌ๋กœ ์ง€์ •ํ•˜๊ณ  ๋‚จ์€ ๋ถ€๋ถ„์€ 0์œผ๋กœ ์ถœ๋ ฅ + <์šฐ์ธก ์ •๋ ฌ:์–‘์ˆ˜>
  • %6.2f : ์‹ค์ˆ˜ ์ถœ๋ ฅ์‹œ ์ž๋ฆฌ์ˆ˜๋Š” 6์ž๋ฆฌ๊นŒ์ง€ ๋‚จ์€ ๋ถ€๋ถ„์€ ๊ณต๋ฐฑ์œผ๋กœ, ์†Œ์ˆ˜๋Š” 2์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ
  • %.2f : ์ •๋ ฌ์ด ์—†์ด ์ „์ฒด ์ถœ๋ ฅ, ์†Œ์ˆ˜์  ์•„๋ž˜๋Š” 2์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ
  • %s : ๋ฌธ์ž์—ด ์ถœ๋ ฅ
  • %c : ๋ฌธ์ž ์ถœ๋ ฅ

> + ๊ธฐํƒ€ ๋‹จ์ถ•ํ‚คโœจ

  • tab : ์ŠคํŽ˜์ด์Šค 4์นธ
  • shift + tab : ์—ญ์ŠคํŽ˜์ด์Šค 4์นธ
  • โ˜…โ˜† ์ฃผ์„ : // -> ์ค„ ๋‹จ์œ„์˜ ์ฃผ์„์ฒ˜๋ฆฌ(์ปจํŠธ๋กค+/) : ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.
  • /'๋ณ„' ๋‚ด์šฉ '๋ณ„'/ -> ์—ฌ๋Ÿฌ์ค„ ๋‹จ์œ„์˜ ์ฃผ์„ํ‘œํ˜„
    ใ„ด์ฝ”๋“œ๊ฐ€ ๋ฌด์Šจ ๋œป์ธ์ง€ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•จ์œผ๋กœ ์ž์ฃผ ์“ด๋‹ค.
  • ; (์„ธ๋ฏธ์ฝœ๋ก ) : ๋ฌธ์žฅ์˜ ๋œป์„ ์˜๋ฏธํ•œ๋‹ค.
  • โ˜…โ˜† ์ปจํŠธ๋กค + ์•ŒํŠธ + (ํ™”์‚ดํ‘œ ์œ„ ์•„๋ž˜) : ์œ„ ์•„๋ž˜๋กœ ํ•ด๋‹น ๋ฌธ์žฅ์„ ๋ณต์‚ฌํ•œ๋‹ค.
  • โ˜…โ˜† ์•ŒํŠธ + (ํ™”์‚ดํ‘œ ์œ„ ์•„๋ž˜) : ํ•ด๋‹น ๋ฌธ์žฅ์„ ์œ„์•„๋ž˜๋กœ ์ด๋™ํ•œ๋‹ค.

> + ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šคโœจ

ใ„ดํŠน๋ณ„ํ•œ ์˜๋ฏธ๋กœ ํ•ด์„๋˜๋Š” ๋ฌธ์ž
<\t ํƒญ๊ณผ, \n ์ค„๋ฐ”๊ฟˆ>๋งŒ ๋งŽ์ด ์“ฐ์ž„

<Step.2> ์ž๋ฃŒํ˜• ํ˜•๋ณ€ํ™˜

1. ์ž๋™ ํ˜•๋ณ€ํ™˜(Implicit Conversion)

์ž‘์€ ์ƒ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํฐ ์ƒ์ž์— ๋„ฃ์„๋•Œ๋Š” ์ž๋™ ํ˜•๋ณ€ํ™˜๋˜๋ฉฐ
์ž๋ฃŒ์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

โ€ป ์ฃผ์˜ : ๋ฌธ์žํ˜• char๊ณผ short๋Š” ๋˜‘๊ฐ™์ด 2๋ฐ”์ดํŠธ์ง€๋งŒ ์ด๋Š” ๋ฌธ์ž์™€ ์ˆซ์ž ํ˜•์œผ๋กœ
์œ ํ˜•์ด ๋‹ค๋ฅธ ํ˜•ํƒœ์ด๋‹ค. ์ ˆ๋Œ€ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋ง์ž!

  • ๊ทœ์น™1 : ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ๊ฐ€ ํฐ ๋ฐฉํ–ฅ์œผ๋กœ ํ˜• ๋ณ€ํ™˜์ด ์ผ์–ด๋‚œ๋‹ค.
    ex) (short) ํ˜•๊ณผ (int) ํ˜•์ด ์—ฐ์‚ฐ์„ ํ•˜๋ฉด ๊ฒฐ๊ณผ๋Š” intํ˜•์ด ๋œ๋‹ค.
  • ๊ทœ์น™2 : ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ์— ์ƒ๊ด€์—†์ด ์ •์ˆ˜ ์ž๋ฃŒํ˜•๋ณด๋‹ค โ˜…์‹ค์ˆ˜ ์ž๋ฃŒํ˜•โ˜…์„ ์šฐ์„ ํ•œ๋‹ค.
    -> ์‹ค์ˆ˜๋Š” ์ •์ˆ˜๋ณด๋‹ค ํฌ๊ธฐ ๋•Œ๋ฌธ์—
    -> ์‹ค์ˆ˜๋Š” 1๊ณผ 2์‚ฌ์ด๋งŒ ํ•ด๋„ ๋ฌด์ˆ˜ํ•œ ์‹ค์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค.
    ex) double num1 = 30;
    ex) System.out.println(59L + 34.5); // long๊ณผ double์˜ ์—ฐ์‚ฐ์‹œ double์„ ๋”ฐ๋ผ๊ฐ

๐Ÿ˜ ์ž‘์€ ๋†ˆ๊ณผ ํฐ ๋†ˆ์ด ๋ถ™์œผ๋ฉด ํฐ ๋†ˆ์„ ๋”ฐ๋ผ๊ฐ„๋‹ค๋ผ๊ณ  ์ดํ•ด๐Ÿ’Ž

2. ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜(๊ฐ•์ œ ํ˜•๋ณ€ํ™˜)

ํฐ ์ƒ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์€ ์ƒ์ž์— ๋„ฃ์–ด์•ผ ํ•  ๋•Œ ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜์„ ํ•ด์•ผ ํ•œ๋‹ค.
๋‹จ, ์ž๋ฃŒ์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜์„ ์œ„ํ•ด์„œ ์บ์ŠคํŒ… ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์˜ˆ์‹œ: ํฐ longํ˜•์„ ์ž‘์€ intํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ• ๋•Œ (int)๋ฅผ ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

		long num1 = 2147483648L;
		int num02 = (int)num1;

๊ฒฐ๋ก ์€ CPU๋Š” int, doubleํ˜• ๊ณ„์‚ฐ๊ธฐ ๋ฐ–์— ์—†๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ํŽธํ•˜๋‹ค.

<Step.3> ๋ฐœ์ „์„ ์œ„ํ•œ ๋ฌธ์ œํ’€์ด (kama_code ์ถœ์ œ)

  1. ํ˜„์ด๊ฐ€ ํ‚ค์šฐ๊ณ  ์žˆ๋Š” ๊ฒŒ์ž„ ์„ธ ์ง์—…์˜ ์บ๋ฆญํ„ฐ
    ์ „์‚ฌ(War)์˜ ๋‹ค์Œ ๋ ˆ๋ฒจ๊นŒ์ง€ ๋‚จ์€ ๊ฒฝํ—˜์น˜: 70000.159286
    ๋งˆ๋ฒ•์‚ฌ(Wiz)์˜ ๋‹ค์Œ ๋ ˆ๋ฒจ๊นŒ์ง€ ๋‚จ์€ ๊ฒฝํ—˜์น˜ : 5525.7777
    ๋„์ (thi)์˜ ๋‹ค์Œ ๋ ˆ๋ฒจ๊นŒ์ง€ ๋‚จ์€ ๊ฒฝํ—˜์น˜ 69527์„
    printf๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์‚ฌ๋Š” ์ž๋ฆฌ์ˆ˜ -30์ž๋ฆฌ๋กœ, ์†Œ์ˆ˜์ ์€ 3์ž๋ฆฌ๊นŒ์ง€๋งŒ
    ๋งˆ๋ฒ•์‚ฌ๋Š” ์†Œ์ˆ˜์  2์ž๋ฆฌ๊นŒ์ง€๋งŒ
    ๋„์ ์€ ์ •์ˆ˜ ์ž๋ฆฌ์ˆ˜๋ฅผ 10์œผ๋กœ ์ถœ๋ ฅํ•˜์‹œ์˜ค.*/
  2. ์ฒ ์ˆ˜(cs)๋Š” shortํ˜• 75์ , ์˜ํฌ(yh)๋Š” byteํ˜• 55์ ์ธ๋ฐ
    ์ฒ ์ˆ˜๊ฐ€ ์˜ํฌ์—๊ฒŒ ๋ˆ์„ ์ฃผ๊ณ  ์‹œํ—˜์ง€๋ฅผ ๋ฐ”๊ฟ”์น˜๊ธฐ ํ–ˆ๋‹ค.
    ์‹œํ—˜์ง€๋ฅผ ๋ฐ”๊ฟ”์น˜๊ธฐ ํ•œ ์ดํ›„์˜ ์ ์ˆ˜ ์„ ์–ธ์„ ํ•˜๊ณ 
    ์˜ํฌ์˜ ์ ์ˆ˜๋ฅผ ์ฒ ์ˆ˜ํ•œํ…Œ ์ง‘์–ด๋„ฃ์–ด printf๋ฅผ ํ†ตํ•ด ๋‘˜์˜ ์‹œํ—˜์ ์ˆ˜๊ฐ€ ๊ฐ™๊ฒŒ ์ถœ๋ ฅํ•˜์‹œ์˜ค
  3. doubleํ˜• 3.141592๋ฅผ pi๋ผ๋Š” ๋ณ€์ˆ˜์— ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ณ 
    int ๋ณ€์ˆ˜ chan์„ ์„ ์–ธํ•˜์—ฌ pi๋ฅผ ์ง‘์–ด๋„ฃ์–ด printf๋กœ chan์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค

โ–ฒโ–ณ ํ•œ๋ฒˆ ์ง์ ‘ ํ’€์–ด๋ณด์„ธ์š” โ–ฒโ–ณ

โ˜… ์ •๋‹ต ๋ฐ ํ•ด์„ค โ˜†

  • ์ „์‚ฌ๋Š” 159 ์†Œ์ˆ˜์  3๊ฐ€์ง€๊นŒ์ง€ ์ถœ๋ ฅ๋จ๊ณผ ๋™์‹œ์— -30์ž๋ฆฌ์ˆ˜๋กœ ๊ณต๋ฐฑ์ด ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›Œ์ง„๋‹ค.
  • ๋งˆ๋ฒ•์‚ฌ๋Š” ์†Œ์ˆ˜์  2์ž๋ฆฌ๊นŒ์ง€
  • ๋„์ ์€ 10์ž๋ฆฌ์ˆ˜๋กœ ๊ณต๋ฐฑ์ด ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›Œ์ง„๋‹ค.

[2๋ฒˆ ๋ฌธ์ œ]

  • ์ž๋™ํ˜•๋ณ€ํ™˜๊ณผ printf๋ฅผ ์œตํ•ฉํ•œ ๋ฌธ์ œ

[3๋ฒˆ ๋ฌธ์ œ]

  • ๊ฐ•์ œํ˜•๋ณ€ํ™˜๊ณผ printf๋ฅผ ์œตํ•ฉํ•œ ๋ฌธ์ œ

โ˜… ์›๋ฆฌ ์ดํ•ด โ˜†

byte : 0000 0000
short : 0000 0000 0000 0000
์ด๋Ÿฐ ์‹์œผ๋กœ ๊ณต๊ฐ„์ด ์žˆ๋‹ค.
byteํ˜•์˜ ๊ฐ’์„ shortํ˜•์œผ๋กœ ๋„ฃ์„ ๋•Œ๋Š” shortํ˜•์ด ๊ณต๊ฐ„์ด ๋” ํฌ๋ฏ€๋กœ

  • ์ž๋™ํ˜•๋ณ€ํ™˜ํ•˜์—ฌ ๋“ค์–ด๊ฐ„๋‹ค

ํ•˜์ง€๋งŒ, shortํ˜•์˜ ๊ฐ’์„ byte๋กœ ๋„ฃ์„ ๋•Œ๋Š” 0000 0000์„ ์ž๋ฅด๊ณ  ๋„ฃ์–ด์•ผ ๋“ค์–ด๊ฐ€์ง„๋‹ค.

  • ๊ทธ๋ž˜์„œ ๊ฐ•์ œํ˜•๋ณ€ํ™˜์ด๋ผ๊ณ  ํ•˜๋ฉฐ ๊ทธ ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

ex) 3๋ฒˆ ๋ฌธ์ œ : doubleํ˜•์ธ 3.14๋ฅผ ๋” ์ž‘์€ int๋กœ ๊ฐ•์ œํ˜•๋ณ€ํ™˜ํ•˜๋‹ˆ๊นŒ
์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ 0.14๋ผ๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ฐœ์ƒ๋จ.

ํ˜•๋ณ€ํ™˜์€ ์—„์ฒญ ์ค‘์š”ํ•˜๋‹ค. ์ง€๊ธˆ์€ ์ž๋ฃŒํ˜• ๊ฐ€์ง€๊ณ  ํ˜•๋ณ€ํ™˜์„ ํ•˜์ง€๋งŒ

๋‚˜์ค‘์—๋Š” ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ๋„ ํ˜•๋ณ€ํ™˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ๊ฒƒ์„ ํ•œ๋‹ค.

๊ผญ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ž! ํŒŒ์ดํŒ…! ๐Ÿ’–

profile
[Java SQL HTML CSS JS Studying] ๋ฐœ์ „์„ ๊ฟˆ๊พธ๋ฉฐ ์ด์ƒ์„ ์‹คํ˜„ํ•ฉ๋‹ˆ๋‹ค
post-custom-banner

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