๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Java/Java์˜ ์ •์„

Chapter 03 - ์—ฐ์‚ฐ์ž

Chapter 03 - ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž๋Š” '์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐํ˜ธ'

์—ฐ์‚ฐ์ž์™€ ํ”ผ์—ฐ์‚ฐ์ž

  • ์—ฐ์‚ฐ์ž : ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐํ˜ธ (+, -, *, / ๋“ฑ)
  • ํ”ผ์—ฐ์‚ฐ์ž : ์—ฐ์‚ฐ์ž์˜ ์ž‘์—… ๋Œ€์ƒ (๋ณ€์ˆ˜, ์ƒ์ˆ˜, ๋ฆฌํ„ฐ๋Ÿด, ์ˆ˜์‹)
  • ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋กœ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚˜๋ฉด ํ•ญ์ƒ ๊ฒฐ๊ด๊ฐ’์„ ๋ฐ˜ํ™˜

์‹๊ณผ ๋Œ€์ž… ์—ฐ์‚ฐ์ž

  • ํ”ผ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ์ž๋ฅผ ์กฐํ•ฉํ•œ ๊ฒƒ์ด ์‹
  • ๊ณ„์‚ฐํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๊ฒƒ์„ ์‹์„ ํ‰๊ฐ€ํ•œ๋‹ค.๋ผ๊ณ  ํ•จ
  • ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž
    • +, -, *, /, %, <<, >>
    • ์‚ฌ์น™์—ฐ์‚ฐ๊ณผ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ
  • ๋น„๊ต ์—ฐ์‚ฐ์ž
    • <, >, >=, <=, ==, !=
    • ํฌ๊ณ  ์ž‘์Œ๊ณผ ๊ฐ™๊ณ  ๋‹ค๋ฆ„์„ ๋น„๊ต
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž
    • %%, ||, !, &, |, ^, ~
    • AND, OR์œผ๋กœ ์กฐ๊ฑด์„ ์—ฐ๊ฒฐ
  • ๋Œ€์ž… ์—ฐ์‚ฐ์ž
    • =
    • ์šฐ๋ณ€์˜ ๊ฐ’์„ ์ขŒ๋ณ€์— ์ €์žฅ
  • ๊ธฐํƒ€
    • (type), ?:, instanceof
    • ํ˜•๋ณ€ํ™˜ ์—ฐ์‚ฐ์ž, ์‚ผํ•ญ ์—ฐ์‚ฐ์ž, instanceof ์—ฐ์‚ฐ์ž
  • ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐœ์ˆ˜์— ์˜ํ•œ ๋ถ„๋ฅ˜๋„ ๊ฐ€๋Šฅ
    • ๋‹จํ•ญ ์—ฐ์‚ฐ์ž, ์ดํ•ญ ์—ฐ์‚ฐ์ž, ์‚ผํ•ญ ์—ฐ์‚ฐ์ž
    • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ์˜ค์ง ? : ํ•˜๋‚˜๋ฟ
    • ๋ถ€ํ˜ธ์™€ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋Š” ๋‹จํ•ญ ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž์˜ ์šฐ์„ ์ˆœ์œ„์™€ ๊ฒฐํ•ฉ ๊ทœ์น™

  • ๋‹จํ•ญ ์—ฐ์‚ฐ์ž๊ฐ€ ์ดํ•ญ ์—ฐ์‚ฐ์ž๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์Œ
  • ๊ณฑ์…ˆ๊ณผ ๋‚˜๋ˆ—์…ˆ์ด ๋บ„์…ˆ๊ณผ ๋ง์…ˆ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์Œ
  • ๋น„๊ต์—ฐ์‚ฐ์ž๋ณด๋‹ค ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž๊ฐ€ ๋จผ์ € ์ˆ˜ํ–‰
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ณด๋‹ค ๋น„๊ต ์—ฐ์‚ฐ์ž๊ฐ€ ๋จผ์ € ์ˆ˜ํ–‰
  • ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ์—ฐ์‚ฐ์ž ์ค‘์—์„œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์Œ
  • ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž๋Š” ๋ง์…ˆ ์—ฐ์‚ฐ์ž๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์Œ
    • x << 2 + 1์€ x << (2+1)
  • ๋น„๊ต ์—ฐ์‚ฐ์ž &๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž ==๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์Œ
    • data & 0xFF == 0 ์€ data & (0xFF == 0)
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์ค‘์—์„œ๋Š” AND๋ฅผ ์˜๋ฏธํ•˜๋Š” &, &&๊ฐ€ OR๋ฅผ ์˜๋ฏธํ•˜๋Š” |, || ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์Œ
  • ์—ฐ์‚ฐ์ž์˜ ๊ฒฐํ•ฉ ๊ทœ์น™
    • ์‚ฐ์ˆ  > ๋น„๊ต > ๋…ผ๋ฆฌ > ๋Œ€์ž… ์šฐ์„ ์ˆœ์œ„
    • ๋‹จํ•ญ(1) > ์ดํ•ญ(2) > ์‚ผํ•ญ(3) ์šฐ์„ ์ˆœ์œ„
    • ๋‹จํ•ญ ์—ฐ์‚ฐ์ž์™€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์—ฐ์‚ฐ์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์€ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ

์‚ฐ์ˆ  ๋ณ€ํ™˜

์—ฐ์‚ฐ ์ „์— ํ”ผ์—ฐ์‚ฐ์ž ํƒ€์ž…์˜ ์ผ์น˜๋ฅผ ์œ„ํ•ด ์ž๋™ ํ˜•๋ณ€ํ™˜๋˜๋Š” ๊ฒƒ์„ ์‚ฐ์ˆ  ๋ณ€ํ™˜ ๋˜๋Š” ์ผ๋ฐ˜ ์‚ฐ์ˆ  ๋ณ€ํ™˜์ด๋ผ ๋ถ€๋ฆ„

  • ๋‘ ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์„ ๊ฐ™๊ฒŒ ์ผ์น˜ ์‹œํ‚ด
    • ๋ณด๋‹ค ํฐ ํƒ€์ž…์œผ๋กœ ์ผ์น˜
  • ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์ด int๋ณด๋‹ค ์ž‘์€ ํƒ€์ž…์ด๋ฉด int๋กœ ๋ณ€ํ™˜
  • ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž์™€ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋Š” ์˜ˆ์™ธ

๋‹จํ•ญ ์—ฐ์‚ฐ์ž

์ฆ๊ฐ ์—ฐ์‚ฐ์ž ++ --

  • ์ฆ๊ฐ ์—ฐ์‚ฐ์ž(++) : ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
  • ๊ฐ์†Œ ์—ฐ์‚ฐ์ž(--) : ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚จ๋‹ค.
  • ํƒ€์ž…
    • ์ „์œ„ํ˜• : ๊ฐ’์ด ์ฐธ์กฐ๋˜๊ธฐ ์ „์— ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. (ex: j = ++i;)
    • ํ›„์œ„ํ˜• : ๊ฐ’์ด ์ฐธ์กฐ๋œ ํ›„์— ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. (ex: j = i++;)
    • ์ˆ˜์‹์ด๋‚˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์— ํฌํ•จ๋˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์ธ ํ•˜๋‚˜์˜ ๋ฌธ์žฅ์œผ๋กœ ์“ฐ์ธ ๊ฒฝ์šฐ์—๋Š” ๋‘˜์˜ ์ฐจ์ด๊ฐ€ ์—†์Œ
    • ์‹์— ๋‘ ๋ฒˆ ์ด์ƒ ํฌํ•จ๋œ ๋ณ€์ˆ˜์— ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ”ผํ•  ๊ฒƒ

๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž + -

  • ๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž -๋Š” ๋ถ€ํ˜ธ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋ณ€๊ฒฝํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜
  • ๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž +๋Š” ํ•˜๋Š” ์ผ์ด ์—†์œผ๋ฏ€๋กœ ์“ฐ์ด๋Š” ์ผ์ด ๊ฑฐ์˜ ์—†์Œ
  • ๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž๋Š” booleanํ˜•๊ณผ charํ˜•์„ ์ œ์™ธํ•œ ๊ธฐ๋ณธํ˜•์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

์‚ฌ์น™ ์—ฐ์‚ฐ์ž + - * /

  • ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ, ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž๊ฐ€ ๋ง์…ˆ, ๋บ„์…ˆ ์—ฐ์‚ฐ์ž๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์Œ
  • ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ •์ˆ˜ํ˜•์ธ ๊ฒฝ์šฐ ๋‚˜๋ˆ„๋Š” ์ˆ˜๊ฐ€ 0์ธ ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ
  • ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์ž์˜ ๋‘ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ int ํƒ€์ž…์ธ ๊ฒฝ์šฐ, ์—ฐ์‚ฐ๊ฒฐ๊ณผ ์—ญ์‹œ int ํƒ€์ž…
    • ์‹ค์ œ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ (๋ฐ˜์˜ฌ๋ฆผ ๋ฐœ์ƒ x)
    • ์˜ฌ๋ฐ”๋ฅธ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•œ ์ชฝ์„ ์‹ค์ˆ˜ํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜ (ํ•œ ์ชฝ๋„ ์ž๋™ ํ˜•๋ณ€ํ™˜)
  • ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์ธ 0.0f, 0.0d๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” Infinity(๋ฌดํ•œ๋Œ€)
byte a = 10;
byte b = 20;
// byte c = a + b; ๋Š” ์ปดํŒŒ์ผ ์—๋Ÿฌ -> ์—ฐ์‚ฐ์ž +๋Š” ๋‘ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฌ๋“ค์˜ ์ž๋ฃŒํ˜•์„ int๋กœ ๋ณ€ํ™˜ํ•œ ๋‹ค์Œ ๋ง์…ˆ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ
byte c = (byte) a * b; // ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ
// ํ•˜์ง€๋งŒ c์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด 44
// 300์€ byte์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ, ์ถฉ๋ถ„ํžˆ ํฐ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.
int a = 1_000_000;
int b = 2_000_000;

long c = a * b;
// a * b ๊ฐ€ ์ด๋ฏธ int์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋ฏ€๋กœ ์ž˜ ๋ชป๋œ ๊ฐ’์ด ์ถœ๋ ฅ๋œ ์ดํ›„ ํ˜•๋ณ€ํ™˜๋˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค
// (long)a * b <- ์ด์™€ ๊ฐ™์€ ํ˜•๋ณ€ํ™˜์œผ๋กœ ํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.
int a = 1000000;
int result1 = a * a / a;
int result2 = a / a * a;
// result1 ์€ ์ด๋ฏธ a * a์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฐ’
// result2๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’ ์ถœ๋ ฅ
// ์ด์ฒ˜๋Ÿผ ์—ฐ์‚ฐ์˜ ์ˆœ์„œ๋„ ์ค‘์š”ํ•˜๋‹ค.
  • ์‚ฌ์น™์˜ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ๋ฌธ์ž๋„ ๊ฐ€๋Šฅ
    • ํ•ด๋‹น ๋ฌธ์ž์˜ ์œ ๋‹ˆ์ฝ”๋“œ๋กœ ๋ฐ”๋€Œ์–ด ์ €์žฅ
    • ์ˆซ์ž์˜ ๊ฒฝ์šฐ '0'์„ ๋นผ์ฃผ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ถœ๋ ฅ ๊ฐ€๋Šฅ
char c1 = 'a';
// char c2 = c1 + 1; int๋ณด๋‹ค ์ž‘์€ ํƒ€์ž…์˜ ํ”ผ์—ฐ์‚ฐ์ž๋Š” int๋กœ ์ž๋™ ํ˜•๋ณ€ํ™˜ํ•˜๋ฏ€๋กœ ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒ (char)(c1+1) ์ด ๋งž์Œ
char c2 = 'a' + 1; // ์ƒ์ˆ˜ ๋˜๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ„์˜ ์—ฐ์‚ฐ์€ ์ปดํŒŒ์ผ ์‹œ์— ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋กœ ๋Œ€์ฒดํ•˜๋ฏ€๋กœ ์—๋Ÿฌ X
  • charํ˜•๊ณผ intํ˜• ๊ฐ„์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋Š” intํ˜•์ด๋ฏ€๋กœ charํ˜•์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„  ํ˜•๋ณ€ํ™˜ ํ•„์š”
  • ํ˜•๋ณ€ํ™˜์˜ ์„ฑ์งˆ์„ ์ด์šฉํ•ด์„œ ์†Œ์ˆ˜์  ์…‹์งธ ์ž๋ฆฌ๊นŒ์ง€๋งŒ ๋นผ๋‚ด๋Š” ๋ฐฉ๋ฒ• ์˜ˆ์ œ -> (int)(pi * 1000) / 1000f;
    • ๋ฒ„๋ฆผ์ด ์•„๋‹Œ ๋ฐ˜์˜ฌ๋ฆผ์€ 0.5๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ Math.round() ์‚ฌ์šฉ (Math.round(pi * 1000) / 1000.0)

๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž %

  • ์™ผ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚œ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜
  • ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋กœ 0์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
  • ์ฃผ๋กœ ์ง์ˆ˜, ํ™€์ˆ˜ ๊ฒ€์‚ฌ ๋˜๋Š” ๋ฐฐ์ˆ˜ ๊ฒ€์‚ฌ ๋“ฑ์— ์‚ฌ์šฉ
  • ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ์Œ์ˆ˜๋„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ๋ถ€ํ˜ธ๋Š” ๋ฌด์‹œ๋œ ๊ฒฐ๊ณผ ์ถœ๋ ฅ

๋น„๊ต ์—ฐ์‚ฐ์ž

  • ๋‘ ์—ฐ์‚ฐ์ž๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋Š” boolean
  • ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์ด ์„œ๋กœ ๋‹ค๋ฅผ ์‹œ ์ž๋ฃŒํ˜•์˜ ๋ฒ”์œ„๊ฐ€ ํฐ ์ชฝ์œผ๋กœ ์ž๋™ ํ˜•๋ณ€ํ™˜

๋Œ€์†Œ๋น„๊ต ์—ฐ์‚ฐ์ž < > <= >=

๊ฐ’์ด ํฌ๊ฑฐ๋‚˜ ์ž‘์„ ๋•Œ๋ฅผ ๋น„๊ต, ๋“ฑํ˜ธ๊ฐ€ ๋ถ™์œผ๋ฉด ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด, ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ๋น„๊ต

๋“ฑ๊ฐ€๋น„๊ต ์—ฐ์‚ฐ์ž == !=

  • ๋‘ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์ด ๊ฐ™์€์ง€ ๋‹ค๋ฅธ์ง€๋ฅผ ๋น„๊ต
  • =๋Š” ์ž๋ฐ”์—์„œ๋Š” ๋Œ€์ž…์—ฐ์‚ฐ์ž์ด์ง€ ๋“ฑ๊ฐ€๋น„๊ต ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹˜
  • ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „ ํ˜•๋ณ€ํ™˜์„ ํ†ตํ•ด ๋‘ ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์„ ๋งž์ถ”๊ณ  ๋น„๊ต
  • '10.0==10.0f'๋Š” true, '0.1==0.1f'๋Š” false
    • ์ •์ˆ˜ํ˜•๊ณผ ๋‹ฌ๋ฆฌ ์‹ค์ˆ˜ํ˜•์€ ๊ทผ์‚ฟ๊ฐ’์ด ์ €์žฅ๋˜๋ฏ€๋กœ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
    • float๊ฐ€ double๋กœ ๋ณ€ํ™˜๋œ๋‹ค ํ•ด๋„ ๋นˆ์ž๋ฆฌ๋ฅผ 0์œผ๋กœ ์ฑ„์šธ ๋ฟ ์˜ค์ฐจ๊ฐ€ ์ ์–ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹˜
  • ๋‘ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•  ๋•Œ๋Š” equals() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ
    • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š๊ณ  ์‹ถ์„ ๋• equalsIgnoreCase() ์‚ฌ์šฉ
    • ๋ฌธ์ž์—ด์„ ==๋กœ ๊ฒ€์‚ฌ ์‹œ ๊ฐ์ฒด์˜ ์ฃผ์†Ÿ๊ฐ’์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ด์ง€ ๋‚ด์šฉ์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹˜

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž - &&, ||, !

  • || (OR๊ฒฐํ•ฉ) => ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ์–ด๋Š ํ•œ ์ชฝ๋งŒ true ์ด๋ฉด true๋ฅผ ๊ฒฐ๊ณผ๋กœ ์–ป์Œ
  • && (AND๊ฒฐํ•ฉ) => ํ”ผ์—ฐ์‚ฐ์ž ์–‘์ชฝ ๋ชจ๋‘ true ์ด์—ฌ์•ผ true๋ฅผ ๊ฒฐ๊ณผ๋กœ ์–ป์Œ

ํšจ์œจ์ ์ธ ์—ฐ์‚ฐ

  • OR์—ฐ์‚ฐ์˜ ๊ฒฝ์šฐ ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ์–ด๋Š ํ•œ ์ชฝ๋งŒ ์ฐธ์ด์–ด๋„ ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ด๋ฏ€๋กœ ์ขŒ์ธก ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ฐธ์ด๋ฉด ์šฐ์ธก ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’ ํ‰๊ฐ€ X
    • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ผ ํ™•๋ฅ ์ด ๋†’์€ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์™ผ์ชฝ์œผ๋กœ ๋†“์•„์•ผ ๋น ๋ฅธ ๊ฒฐ๊ณผ
  • AND์—ฐ์‚ฐ์˜ ๊ฒฝ์šฐ ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ์–ด๋Š ํ•œ์ชฝ๋งŒ ๊ฑฐ์ง“์ด์–ด๋„ ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ๊ฑฐ์ง“์ด๋ฏ€๋กœ ์ขŒ์ธก ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๊ฑฐ์ง“์ด๋ฉด ์šฐ์ธก ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’ ํ‰๊ฐ€ X
    • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ๊ฑฐ์ง“์ผ ํ™•๋ฅ ์ด ๋†’์€ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์™ผ์ชฝ์œผ๋กœ ๋†“์•„์•ผ ๋น ๋ฅธ ๊ฒฐ๊ณผ

๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž !

  • true์ด๋ฉด false๋ฅผ false์ด๋ฉด true๋ฅผ ๋ฐ˜ํ™˜
  • ํ† ๊ธ€ ๋ฒ„ํŠผ์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
  • ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์—ฌ ์ดํ•ด๋˜๊ธฐ ์‰ฌ์šด ์‹์„ ๋งŒ๋“ค๋„๋ก ๋…ธ๋ ฅํ•  ๊ฒƒ
  • b๊ฐ€ true ์ผ ๋•Œ !!b์˜ ๊ฒฐ๊ณผ๋Š” true
    • ๋‹จํ•ญ์—ฐ์‚ฐ์ž๋Š” ๊ฒฐํ•ฉ ๋ฐฉํ–ฅ์ด ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์ด๋ฏ€๋กœ !!b -> !false -> true

๋น„ํŠธ ์—ฐ์‚ฐ์ž & | ^ ~ << >>

  • ๋น„ํŠธ ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋น„ํŠธ ๋‹จ์œ„๋กœ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ
  • ํ”ผ์—ฐ์‚ฐ์ž๋กœ ์‹ค์ˆ˜๋ฅผ ํ—ˆ์šฉ X
  • ์ข…๋ฅ˜
    • | (OR์—ฐ์‚ฐ์ž) - ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•œ ์ชฝ์˜ ๊ฐ’์ด 1์ด๋ฉด ๊ฒฐ๊ณผ๋กœ 1, ๊ทธ ์™ธ๋Š” 0
    • & (AND์—ฐ์‚ฐ์ž) - ํ”ผ์—ฐ์‚ฐ์ž ์–‘์ชฝ์ด ๋ชจ๋‘ 1์ด์–ด์•ผ๋งŒ ๊ฒฐ๊ณผ๋กœ 1, ๊ทธ ์™ธ๋Š” 0
    • ^ (XOR์—ฐ์‚ฐ์ž) - ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์ด ์„œ๋กœ ๋‹ค๋ฅผ ๋•Œ๋งŒ ๊ฒฐ๊ณผ๋กœ 1, ๊ฐ™์„ ๋•Œ๋Š” 0
  • ๋น„ํŠธ์—ฐ์‚ฐ์—์„œ๋„ ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์„ ์ผ์น˜์‹œํ‚ค๋Š” ์‚ฐ์ˆ  ๋ณ€ํ™˜์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ

๋น„ํŠธ ์ „ํ™˜ ์—ฐ์‚ฐ์ž ~

  • ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ, 0์€ 1๋กœ, 1์€ 0์œผ๋กœ ๋ฐ”๊ฟˆ
  • ๋…ผ๋ฆฌ๋ถ€์ • ์—ฐ์‚ฐ์ž !์™€ ์œ ์‚ฌ
  • 1์˜ ๋ณด์ˆ˜ ์—ฐ์‚ฐ์ž๋ผ๊ณ ๋„ ๋ถ€๋ฆ„
  • p๊ฐ€ ์žˆ์„ ๋•Œ p์— ๋Œ€ํ•œ ์Œ์˜ ์ •์ˆ˜๋Š” ~p+1
    • ๋ถ€ํ˜ธ์—ฐ์‚ฐ์ž -์™€ ๋™์ผ

์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž << >>

  • ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ ์˜ค๋ฅธ์ชฝ ๋˜๋Š” ์™ผ์ชฝ์œผ๋กœ ์ด๋™
  • ๋นˆ์ž๋ฆฌ๋Š” 0์œผ๋กœ ์ฑ„์›Œ์ง
  • >> ์—ฐ์‚ฐ์ž๋Š” ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜์—์„œ ์‚ฌ์šฉ ์‹œ ์Œ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋นˆ์ž๋ฆฌ๋ฅผ 1๋กœ ์ฑ„์›€, ์–‘์ˆ˜๋Š” 0์œผ๋กœ ์ฑ„์›€
  • ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž์˜ ์šฐ์ธก ํ”ผ์—ฐ์‚ฐ์ž๋Š” ์‚ฐ์ˆ  ๋ณ€ํ™˜์ด ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ ์šฉ X
  • x << n์€ x * 2^n์˜ ๊ฒฐ๊ณผ
  • x >> n์€ x / 2^n์˜ ๊ฒฐ๊ณผ
  • ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž๊ฐ€ ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์ž๋ณด๋‹ค ๋น ๋ฆ„
    • ๊ทธ๋Ÿฌ๋‚˜ ๊ฐœ๋ฐœ ์‹œ ๊ฐ€๋…์„ฑ์„ ๊ณ ๋ คํ•  ๊ฒƒ

๊ทธ ์™ธ์˜ ์—ฐ์‚ฐ์ž

์กฐ๊ฑด ์—ฐ์‚ฐ์ž ? :

  • ์กฐ๊ฑด ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด์‹, ์‹1, ์‹2 ๋ชจ๋‘ ์„ธ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์‚ผํ•ญ ์—ฐ์‚ฐ์ž
  • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด ์—ฐ์‚ฐ์ž ํ•˜๋‚˜๋ฟ
  • ์กฐ๊ฑด์‹ ? ์‹1 : ์‹2
    • ์กฐ๊ฑด์‹์ด true๋ฉด ์‹1์ด, false๋ฉด ์‹2
  • if๋ฌธ ๋Œ€์‹  ์กฐ๊ฑด ์—ฐ์‚ฐ์ž๋กœ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํžˆ ํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋ฏ€๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ํ•œ ๋ฒˆ ์ •๋„๋งŒ ์ค‘์ฒฉํ•  ๊ฒƒ
  • ์‹1, ์‹2 ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ์‚ฐ์ˆ  ๋ณ€ํ™˜ ๋ฐœ์ƒ

๋Œ€์ž… ์—ฐ์‚ฐ์ž = op=

  • ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ์ €์žฅ ๊ณต๊ฐ„์— ๊ฐ’ ๋˜๋Š” ์ˆ˜์‹์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
  • ์ €์žฅ๋œ ๊ฐ’์„ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜
    • ์ €์žฅ ํ›„ ๋ฐ”๋กœ ์ถœ๋ ฅ๋„ ๊ฐ€๋Šฅ
  • ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ์—ฐ์‚ฐ์ž๋“ค ์ค‘ ๊ฐ€์žฅ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„
  • ์—ฐ์‚ฐ ์ง„ํ–‰ ๋ฐฉํ–ฅ์€ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ
  • lvalue์™€ rvalue
    • ๋Œ€์ž… ์—ฐ์‚ฐ์ž์˜ ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ lvalue
    • ๋Œ€์ž… ์—ฐ์‚ฐ์ž์˜ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ rvalue
    • rvalue๋Š” ๋ณ€์ˆ˜, ์‹, ์ƒ์ˆ˜ ๋“ฑ์ด ๋ชจ๋‘ ๊ฐ€๋Šฅ
    • lvalue๋Š” ๋ฐ˜๋“œ์‹œ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์–ด์•ผ ํ•จ (๋ฆฌํ„ฐ๋Ÿด, ์ƒ์ˆ˜ ๋ถˆ๊ฐ€๋Šฅ)
  • ๋ณ€์ˆ˜ ์•ž์— final์„ ๋ถ™์ด๋ฉด ์ƒ์ˆ˜
    • ํ•œ ๋ฒˆ ์ €์žฅ๋œ ๊ฐ’์€ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ
  • ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž
    • ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž(op)์™€ ๊ฒฐํ•ฉํ•˜์—ฌ op=์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ
    • ์ฃผ์˜ํ•  ์ ์€ ๋Œ€์ž…์—ฐ์‚ฐ์ž์˜ ์šฐ๋ณ€์ด ๋‘˜ ์ด์ƒ์˜ ํ•ญ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ (i *= 10 +j๋Š” i = i * (10 +j)์™€ ๊ฐ™์Œ)