Recent Posts
Recent Comments
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
In Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

A Joyful AI Research Journey๐ŸŒณ๐Ÿ˜Š

[24] 230201 Java Ch. 3 ์—ฐ์‚ฐ์ž: 1. ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ์‹, 2. ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 24์ผ] ๋ณธ๋ฌธ

๐ŸŒณBootcamp Revision 2023โœจ/Spring Framework, Java

[24] 230201 Java Ch. 3 ์—ฐ์‚ฐ์ž: 1. ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ์‹, 2. ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 24์ผ]

yjyuwisely 2023. 2. 1. 12:50

230201 Wed 24th class

Ch. 3 ์—ฐ์‚ฐ์ž
์ง„๋„: p. 61 ~ (๊ต์žฌ: ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ž๋ฐ”, ์ €์ž: ์‹ ์šฉ๊ถŒ)

 

ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ž๋ฐ”

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

www.aladin.co.kr

 

์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ ์ค‘ ๊ธฐ์–ตํ•  ๊ฒƒ์„ ์ •๋ฆฌํ–ˆ๋‹ค. 


์ง€๋‚œ ์ˆ˜์—… ๋•Œ ๋ฐฐ์šด ๊ฒƒ ์ค‘ ๋‹ค์‹œ ๊ธฐ์–ตํ•  ๊ฒƒ

2023.01.09 - [1. Revision 2023/Javascript] - [9] 230109 Ch. 8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ(1): ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์†Œ๊ฐœ · ์šฉ๋„ · ์œ„์น˜, ๋ฌธ์žฅ, ๋ณ€์ˆ˜, (์ž๋ฃŒํ˜•), ์—ฐ์‚ฐ์ž

์ฆ๊ฐ ์—ฐ์‚ฐ์ž(increment and decrement operator)

- ํ›„์œ„ํ˜•(post increment): ์„  ์ €์žฅ ํ›„ ์ฆ๊ฐ€ p=x; x=x+1;
x++
 value is incremented after value assign or printed.


- ์ „์œ„ํ˜•(pre increment): ์„  ์ฆ๊ฐ€ ํ›„ ์ €์žฅ x=x+1; p=x;
++x value incremented before the value is printing.


2023.01.25 - [1. Revision 2023/jQuery] - [19] 230125 Ch. 12 jQUERY, Ajax, JSON(1): jQuery, ์ฒซ ๋ฒˆ์งธ jQuery ํ”„๋กœ๊ทธ๋žจ, jQuery ๋ฌธ์žฅ์˜ ๊ตฌ์กฐ, jQuery๋ฅผ ์ด์šฉํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ · ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ

- What is toggle CS?
toggle, in general computing, is a switch between one setting and another. The term implies that it is a switch that has only two outcomes: A or B, or on or off. It is found in almost every aspect of computing when there is an options or preferences list.
 

- ๋ฆฌํ„ฐ๋Ÿด(literal): ์†Œ์Šค ์ฝ”๋“œ ๋‚ด์—์„œ ์ง์ ‘ ์ž…๋ ฅ๋œ ๊ฐ’
(์‚ฌ์‹ค ๋ฆฌํ„ฐ๋Ÿด์€ ์ƒ์ˆ˜์™€ ๊ฐ™์€ ์˜๋ฏธ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ƒ์ˆ˜๋ฅผ "๊ฐ’์„ ํ•œ ๋ฒˆ ์ €์žฅํ•˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ณ€์ˆ˜"๋กœ ์ •์˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด "๋ฆฌํ„ฐ๋Ÿด"์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)

- CONCATENATE(์—ฐ์‡„์‹œํ‚ค๋‹ค) ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฒ”์œ„ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜์˜ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
The concat() method appends (concatenate) a string to the end of another string.

- ๊ธฐ๋ณธ ํƒ€์ž… ๋ณ€์ˆ˜(byte, char, short, int, long, float, double, boolean)์˜ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ์—๋Š” == ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ
์ฐธ์กฐ ํƒ€์ž…์ธ String ๋ณ€์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” equals() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


์ฒ˜์Œ ์•Œ๊ฒŒ ๋œ ๊ฒƒ

p. 122
XOR (๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ exclusive or):
ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํ•˜๋‚˜๋Š” true์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๊ฐ€ false์ผ ๊ฒฝ์šฐ์—๋Š” ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ true
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ.

์—ฐ์‚ฐ์‹ ๊ฒฐ๊ณผ
true ^ true false
true false true
false true true
false false false


NOT (๋…ผ๋ฆฌ ๋ถ€์ •):
ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋…ผ๋ฆฌ๊ฐ’์„ ๋ฐ”๊ฟˆ 

์—ฐ์‚ฐ์‹ ๊ฒฐ๊ณผ
! true false
false true

๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด๋ฌธ๊ณผ ์ œ์–ด๋ฌธ์—์„œ ์กฐ๊ฑด์‹์˜ ๊ฐ’์„ ๋ถ€์ •ํ•˜๋„๋กํ•ด์„œ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
๋˜ํ•œ ๋‘ ๊ฐ€์ง€ ์ƒํƒœ(true/false)๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ๋ฒˆ๊ฒฝํ•˜๋Š” ํ† ๊ธ€(toggle) ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋„ ์‚ฌ์šฉํ•œ๋‹ค. 
ex) ๋ฆฌ๋ชจ์ปจ ์ „์› ๋ฒ„ํŠผ on / off 
์›นํŽ˜์ด์ง€ ํ•˜๋‚˜์˜ ๋ฒ„ํŠผ: ๋กœ๊ทธ์ธ / ๋กœ๊ทธ์•„์›ƒ 


Ch. 3 ์—ฐ์‚ฐ์ž(operator)

์ฑ…์˜ ๋ชฉ์ฐจ
03-1 ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ์‹
03-2 ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

3.1 ์—ฐ์‚ฐ์ž(operator)์™€ ์—ฐ์‚ฐ์‹(expression) p. 102 

์—ฐ์‚ฐ์ž(operator): ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์‹œ๋‚˜ ๊ธฐํ˜ธ

ํ”ผ์—ฐ์‚ฐ์ž(operand): ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์—ฐ์‚ฐ๋˜๋Š” ๋ฐ์ดํ„ฐ

์—ฐ์‚ฐ์‹(expression): ์—ฐ์‚ฐ์ž์™€ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์˜ ๊ณผ์ •์„ ๊ธฐ์ˆ ํ•œ ๊ฒƒ
์˜ˆ์ œ) ์—ฐ์‚ฐ์ž: +, -, *, ==, ํ”ผ์—ฐ์‚ฐ์ž: x, y, z ๋ณ€์ˆ˜

x + y
x - y
x * y + z
x == y

 1) ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ p. 103

์—ฐ์‚ฐ์ž ์ข…๋ฅ˜ ์—ฐ์‚ฐ์ž ํ”ผ์—ฐ์‚ฐ์ž ์ˆ˜ ์‚ฐ์ถœ๊ฐ’ ๊ธฐ๋Šฅ
1.1 ๋ถ€ํ˜ธ +, - ๋‹จํ•ญ ์ˆซ์ž ์Œ์ˆ˜์™€ ์–‘์ˆ˜์˜ ๋ถ€ํ˜ธ
1.2 ์ฆ๊ฐ ++, -- ์ˆซ์ž 1๋งŒํผ ์ฆ๊ฐ€/๊ฐ์†Œ
1.3 ๋…ผ๋ฆฌ !, &, |, &&, || boolean ๋…ผ๋ฆฌ ๋ถ€์ •(!), ๋…ผ๋ฆฌ๊ณฑ(AND), ๋…ผ๋ฆฌํ•ฉ(OR) 
2.1 ์‚ฐ์ˆ  +, -, *, /, % ์ดํ•ญ ์ˆซ์ž ์‚ฌ์น™์—ฐ์‚ฐ ๋ฐ ๋‚˜๋จธ์ง€ ๊ณ„์‚ฐ
2.2 ๋ฌธ์ž์—ด + ๋ฌธ์ž์—ด ๋‘ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐ
2.3 ๋น„๊ต ==, !=, >, <, >=, instanceof boolean ๊ฐ’์„ ๋น„๊ต
2.4 ๋…ผ๋ฆฌ !, &, |, &&, || boolean ๋…ผ๋ฆฌ ๋ถ€์ •(!), ๋…ผ๋ฆฌ๊ณฑ(AND), ๋…ผ๋ฆฌํ•ฉ(OR) 
2.5 ๋Œ€์ž… =, +=, -=, *=, /=, %= ๋‹ค์–‘ ์šฐ๋ณ€์˜ ๊ฐ’์„ ์ขŒ๋ณ€์˜ ๋ณ€์ˆ˜์— ๋Œ€์ž…
3. ์กฐ๊ฑด (์กฐ๊ฑด์‹) ? A : B ์‚ผํ•ญ ๋‹ค์–‘ ์กฐ๊ฑด์‹์— ๋”ฐ๋ผ A ๋˜๋Š” B ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒ

instanceof๋Š” ๊ฐ์ฒด ํƒ€์ž…์„ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ํ˜•๋ณ€ํ™˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋ฉฐ true / false๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์ธ ๋ณ€์ˆ˜์— ์ €์žฅ๋œ๋‹ค.
instanceof ์—ฐ์‚ฐ์ž๋Š” ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์ธ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ์ด๋ฆ„ instanceof ํด๋ž˜์Šค ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„

์˜ˆ์ œ)

class A {}
class B extends A {}
public static void main(String[] args) {
    A a = new A();
    B b = new B();

    System.out.println(a instanceof A); // true
    System.out.println(b instanceof A); // true
    System.out.println(a instanceof B); // false
    System.out.println(b instanceof B); // true
}

2) ์—ฐ์‚ฐ์˜ ๋ฐฉํ–ฅ๊ณผ ์šฐ์„ ์ˆœ์œ„ p. 104

a = b = c = 5;

์ด ์—ฐ์‚ฐ์‹์€ c = 5, b = c, a = b ์ˆœ์„œ๋กœ ์‹คํ–‰๋œ๋‹ค. (๋Œ€์ž…์—ฐ์‚ฐ์ž)
์‹คํ–‰๋˜๊ณ  ๋‚œ ํ›„์—๋Š” a, b, c์˜ ๊ฐ’์ด ๋ชจ๋‘ 5๊ฐ€ ๋œ๋‹ค. 

- ๋‹จํ•ญ, ์ดํ•ญ, ์‚ผํ•ญ ์—ฐ์‚ฐ์ž ์ˆœ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค.
- ์‚ฐ์ˆ , ๋น„๊ต, ๋…ผ๋ฆฌ, ๋Œ€์ž… ์—ฐ์‚ฐ์ž ์ˆœ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค.
- ๋‹จํ•ญ, ๋ถ€ํ˜ธ, ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์—ฐ์‚ฐ์˜ ๋ฐฉํ–ฅ์€ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์ด๋‹ค.(→)
- ๋ณต์žกํ•œ ์—ฐ์‚ฐ์‹์—๋Š” ๊ด„ํ˜ธ ()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•œ๋‹ค. 


๋งˆ๋ฌด๋ฆฌ p. 106

4๊ฐ€์ง€ ํ‚ค์›Œ๋“œ๋กœ ๋๋‚ด๋Š” ํ•ต์‹ฌ ํฌ์ธํŠธ

1) ์—ฐ์‚ฐ์ž(operator): ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜๋ฅผ ๊ฒฐ์ •์ง“๋Š” ๊ธฐํ˜ธ
์‚ฐ์ˆ (+,-,*,/,%), ์ฆ๊ฐ(++,--), ๋น„๊ต(==,!=,...), ๋…ผ๋ฆฌ(&&, ||, ...), ๋Œ€์ž…(=, +=, -=, ...)

2) ํ”ผ์—ฐ์‚ฐ์ž(operand): ์—ฐ์‚ฐ์‹์—์„œ ์—ฐ์‚ฐ๋˜๋Š” ๋ฐ์ดํ„ฐ(๊ฐ’)๋ฅผ ๋งํ•œ๋‹ค. ex) ์—ฐ์‚ฐ์‹ 3 + x์—์„œ x์™€ ๋ณ€์ˆ˜ 

3) ์—ฐ์‚ฐ ๋ฐฉํ–ฅ: ์—ฐ์‚ฐ์‹์—์„œ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉ๋  ๊ฒฝ์šฐ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์—ฐ์‚ฐ๋˜๋Š” ๋ฐฉํ–ฅ์ด ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ์‚ฐ์ž๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์—ฐ์‚ฐ์ด ๋˜์ง€๋งŒ, ์ฆ๊ฐ(++, --)๊ณผ ๋Œ€์ž…(=,+=,-=)์€ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์—ฐ์‚ฐ๋œ๋‹ค.

4) ์—ฐ์‚ฐ ์šฐ์„ ์ˆœ์œ„: ์„œ๋กœ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž๋“ค์ด ๋ณตํ•ฉ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉด ์šฐ์„ ์ ์œผ๋กœ ์—ฐ์‚ฐ๋˜๋Š” ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ด„ํ˜ธ()๋กœ ๊ฐ์‹ผ ์—ฐ์‚ฐ์ด ์ตœ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žกํ•œ ์—ฐ์‚ฐ์‹์—์„œ ์—ฐ์‚ฐ์˜ ์ˆœ์„œ๋ฅผ ์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๊ด„ํ˜ธ ()๋ฅผ ํ™œ์šฉํ•œ๋‹ค.

ํ‘œ๋กœ ์ •๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ํฌ์ธํŠธ

์—ฐ์‚ฐ์ž ์—ฐ์‚ฐ ๋ฐฉํ–ฅ ์šฐ์„  ์ˆœ์œ„
์ฆ๊ฐ(++,--), ๋ถ€ํ˜ธ(+,-), ๋…ผ๋ฆฌ(!)  ๋†’์Œ
์‚ฐ์ˆ (*, /, %)  
์‚ฐ์ˆ (+, -)  
๋น„๊ต(<, >, <=, >=, instanceof)  
๋น„๊ต(==, !=)  
๋…ผ๋ฆฌ(&)  
๋…ผ๋ฆฌ(^)  
๋…ผ๋ฆฌ(|)  
๋…ผ๋ฆฌ(&&)  
๋…ผ๋ฆฌ(||)  
์กฐ๊ฑด(?:)  
๋Œ€์ž…(์ €์žฅ)(=, +=, -=, *=, /=, %=) ๋‚ฎ์Œ

3.2 ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ p. 108

์—ฐ์‚ฐ์ž๋Š” ์‚ฐ์ถœ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ์‚ฐ์ˆ , ๋ถ€ํ˜ธ, ๋ฌธ์ž์—ด, ๋Œ€์ž…, ์ฆ๊ฐ ๋น„๊ต ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
ํ”ผ์—ฐ์‚ฐ์ž ์ˆ˜์— ๋”ฐ๋ผ ๋‹จํ•ญ, ์ดํ•ญ, ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

๋‹จํ•ญ ์—ฐ์‚ฐ์ž: ++x; //ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ˆ˜: 1๊ฐœ
์ดํ•ญ ์—ฐ์‚ฐ์ž: x+y; //ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ˆ˜: 2๊ฐœ
์‚ผํ•ญ ์—ฐ์‚ฐ์ž: (sum > 90) ? "A" : "B"; //ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ˆ˜: 3๊ฐœ

1) ๋‹จํ•ญ ์—ฐ์‚ฐ์ž p. 109

๋‹จํ•ญ ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋‹จ ํ•˜๋‚˜๋ฟ์ธ ์—ฐ์‚ฐ์ž๋ฅผ ๋งํ•œ๋‹ค.

1.1 ๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž(+,-)

์—ฐ์‚ฐ์‹ ์„ค๋ช…
+ ํ”ผ์—ฐ์‚ฐ์ž(x) ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ถ€ํ˜ธ ์œ ์ง€
- ํ”ผ์—ฐ์‚ฐ์ž ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ (์–‘์ˆ˜๋Š” ์Œ์ˆ˜๋กœ, ์Œ์ˆ˜๋Š” ์–‘์ˆ˜๋กœ)

๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž์˜ ๊ฒฐ๊ณผ๋Š” int ํƒ€์ž…์ด๋‹ค.

์˜ˆ์ œ) byte ํƒ€์ž… ๊ฐ’์„ ๋ถ€ํ˜ธ ์—ฐ์‚ฐํ•˜๋ฉด int ํƒ€์ž… ๊ฐ’์œผ๋กœ ๋ฐ”๋€Œ๋ฏ€๋กœ ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

public class P110SignOperatorExample {
	public static void main(String[] args) {
		int x = -100;
		int result1 = +x;
		int result2 = -x;
		System.out.println("result1=" + result1);
		System.out.println("result2=" + result2);
		
		byte b = 100;
		//byte result3 = -b; //int๋ฅผ byteํƒ€์ž…์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค. 
		int result3 = -b;
		System.out.println("result3=" + result3);
	}
}

๊ฒฐ๊ณผ)

result1=-100
result2=100
result3=-100

1.2 ์ฆ๊ฐ ์—ฐ์‚ฐ์ž(++, --) (increment and decrement operator) p. 111 

์—ฐ์‚ฐ์‹ ์„ค๋ช…
++ ํ”ผ์—ฐ์‚ฐ์ž(x) ์ฆ๊ฐ€์—ฐ์‚ฐ์ž: ๋‹ค๋ฅธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
-- ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ์†Œ์—ฐ์‚ฐ์ž: ๋‹ค๋ฅธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚จ๋‹ค.
ํ”ผ์—ฐ์‚ฐ์ž ++ ์ฆ๊ฐ€์—ฐ์‚ฐ์ž: ๋‹ค๋ฅธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
ํ”ผ์—ฐ์‚ฐ์ž -- ๊ฐ์†Œ์—ฐ์‚ฐ์ž: ๋‹ค๋ฅธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚จ๋‹ค.

 

์—ฐ์‚ฐ์‹ ์„ค๋ช…
++x ๋จผ์ € ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚จ ํ›„์— ํ•ด๋‹น ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค.
x++ ๋จผ์ € ํ•ด๋‹น ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚˜์„œ, ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
--x ๋จผ์ € ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚จ ํ›„์— ํ•ด๋‹น ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค.
x-- ๋จผ์ € ํ•ด๋‹น ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚˜์„œ, ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚จ๋‹ค.

์ฆ๊ฐ ์—ฐ์‚ฐ์ž(increment and decrement operator)

- ํ›„์œ„ํ˜•(post increment): ์„  ์ €์žฅ ํ›„ ์ฆ๊ฐ€ p=x; x=x+1;
x++
 value is incremented after value assign or printed.

- ์ „์œ„ํ˜•(pre increment): ์„  ์ฆ๊ฐ€ ํ›„ ์ €์žฅ x=x+1; p=x;
++x value incremented before the value is printing.

์˜ˆ์ œ)
z = ++x ์ฆ‰ z = ++14

x = x + 1; z = x ์ฆ‰ x = 14 + 1 = 15; z = 15

z = y++ ์ฆ‰ z = 8++
z = y; y = y + 1 ์ฆ‰  z = 8; y = 8 + 1 = 9;
z= 15 + 8 = 23

public class P112IncreaseDecreaseOperationExample {
	public static void main(String[] args) {
		int x = 10;
		int y = 10;
		int z;
		
		System.out.println("-----------------------------");
		x++;
		++x;
		System.out.println("x: " + x);
	
		System.out.println("-----------------------------");
		y--;
		--y;
		System.out.println("y: " + y);
		
		System.out.println("-----------------------------");
		z = x++;
		System.out.println("z: " + z);
		System.out.println("x: " + x);
		
		System.out.println("-----------------------------");
		z = ++x;
		System.out.println("z: " + z);
		System.out.println("x: " + x);
		
		System.out.println("-----------------------------");
		z = ++x + y++;
		System.out.println("z: " + z);
		System.out.println("x: " + x);
		System.out.println("y: " + y);
	}
}

๊ฒฐ๊ณผ)

-----------------------------
x: 12
-----------------------------
y: 8
-----------------------------
z: 12
x: 13
-----------------------------
z: 14
x: 14
-----------------------------
z: 23
x: 15
y: 9

1.3 ๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž(!) p. 113

๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋Š” true๋ฅผ false๋กœ, false๋ฅผ true๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์— boolean ํƒ€์ž…์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฐ์‚ฐ์ž ์„ค๋ช…
! ํ”ผ์—ฐ์‚ฐ์ž(x) ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ true์ด๋ฉด false ๊ฐ’์„ ์‚ฐ์ถœ
ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ false์ด๋ฉด true ๊ฐ’์„ ์‚ฐ์ถœ

๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด๋ฌธ๊ณผ ์ œ์–ด๋ฌธ์—์„œ ์กฐ๊ฑด์‹์˜ ๊ฐ’์„ ๋ถ€์ •ํ•˜๋„๋กํ•ด์„œ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
๋˜ํ•œ ๋‘ ๊ฐ€์ง€ ์ƒํƒœ(true/false)๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ๋ฒˆ๊ฒฝํ•˜๋Š” ํ† ๊ธ€(toggle) ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋„ ์‚ฌ์šฉํ•œ๋‹ค. 

ex) ๋ฆฌ๋ชจ์ปจ ์ „์› ๋ฒ„ํŠผ on / off 
์›นํŽ˜์ด์ง€ ํ•˜๋‚˜์˜ ๋ฒ„ํŠผ: ๋กœ๊ทธ์ธ / ๋กœ๊ทธ์•„์›ƒ 

์˜ˆ์ œ)

public class P114DenyLogicOperatorExample {
	public static void main(String[] args) {
		boolean play = true;
		System.out.println(play);
		
		play = !play;
		System.out.println(play);
		
		play = !play;
		System.out.println(play);
		
		play = !play;
		System.out.println(play);
	}
}

๊ฒฐ๊ณผ)

true
false
true
false

2) ์ดํ•ญ ์—ฐ์‚ฐ์ž p. 114

์ดํ•ญ ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 2๊ฐœ์ธ ์—ฐ์‚ฐ์ž๋ฅผ ๋งํ•œ๋‹ค.


2.1 ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž (+,-,*,/,%) p. 114

์—ฐ์‚ฐ์‹ ์„ค๋ช…
ํ”ผ์—ฐ์‚ฐ์ž(x) + ํ”ผ์—ฐ์‚ฐ์ž(y) ๋ง์…ˆ ์—ฐ์‚ฐ
ํ”ผ์—ฐ์‚ฐ์ž - ํ”ผ์—ฐ์‚ฐ์ž ๋บ„์…ˆ ์—ฐ์‚ฐ
ํ”ผ์—ฐ์‚ฐ์ž * ํ”ผ์—ฐ์‚ฐ์ž ๊ณฑ์…ˆ ์—ฐ์‚ฐ
ํ”ผ์—ฐ์‚ฐ์ž / ํ”ผ์—ฐ์‚ฐ์ž ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ 
ํ”ผ์—ฐ์‚ฐ์ž % ํ”ผ์—ฐ์‚ฐ์ž ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ

์˜ˆ์ œ 1) result5์˜ ๊ฒฝ์šฐ v1๋‚˜ v2 ์•ž์— (double)๋ฅผ ์จ์„œ ์‹ค์ˆ˜ ํƒ€์ž…์œผ๋กœ ๋งŒ๋“ ๋‹ค.  

public class P116ArithmeticOperationExample {
	public static void main(String[] args) {
		int v1 = 5;
		int v2 = 2;
		
		int result1 = v1 + v2;
		System.out.println("result1: "+result1);
		
		int result2 = v1 - v2;
		System.out.println("result2: "+result2);
		
		int result3 = v1 * v2;
		System.out.println("result3: "+result3);
		
		int result4 = v1 / v2;
		System.out.println("result4: "+result4);
		
		double result5 = (double) v1 / v2;
		System.out.println("result5: "+result5);
		
		int result6 = v1 % v2; //๋‚˜๋จธ์ง€
		System.out.println("result6: "+result6);
	}
}

๊ฒฐ๊ณผ) 

result1: 7
result2: 3
result3: 10
result4: 2
result5: 2.5
result6: 1

๋ฆฌํ„ฐ๋Ÿด์˜ ์˜ˆ)
๋ฆฌํ„ฐ๋Ÿด(literal): ์†Œ์Šค ์ฝ”๋“œ ๋‚ด์—์„œ ์ง์ ‘ ์ž…๋ ฅ๋œ ๊ฐ’
(์‚ฌ์‹ค ๋ฆฌํ„ฐ๋Ÿด์€ ์ƒ์ˆ˜์™€ ๊ฐ™์€ ์˜๋ฏธ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ƒ์ˆ˜๋ฅผ "๊ฐ’์„ ํ•œ ๋ฒˆ ์ €์žฅํ•˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ณ€์ˆ˜"๋กœ ์ •์˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด "๋ฆฌํ„ฐ๋Ÿด"์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)

int a = 10;
long b = 20L;
float c = 3.14f;
double d = 3.14;

์˜ˆ์ œ 2)

public class P117CharOperationExample {
	public static void main(String[] args) {
		char c1 = 'A' + 1; // char c1=bb;์œผ๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค. 
		char c2 = 'A';
		char c3 = (char)(c2 + 1);//๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜์„ ํ•œ๋‹ค.
		
		//char ํƒ€์ž…์ธ c3์— ์ €์žฅํ•˜๋ฏ€๋กœ ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. char ๋ณ€์ˆ˜๊ฐ€ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์—์„œ ์‚ฌ์šฉ๋˜๋ฉด int ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜๋˜๋ฏ€๋กœ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋Š” int๊ฐ€ ๋œ๋‹ค. 
		//char c3 = c2 + 1; 
		System.out.println("c1: " + c1);
		System.out.println("c2: " + c2);
		System.out.println("c3: " + c3);
	}
}

๊ฒฐ๊ณผ) 

c1: B
c2: A
c3: B

2.2 ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ ์—ฐ์‚ฐ์ž (+) p. 118

๋ฌธ์ž์—ด ๊ฒฐํ•ฉ ์—ฐ์‚ฐ์ž์ธ +๋Š” ๋ฌธ์ž์—ด์„ ์„œ๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. 
๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž๊ฐ€ ํ˜ผํ•ฉ๋œ + ์—ฐ์‚ฐ์‹์€ ์™ผ์ชฝ์—์„œ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋œ๋‹ค. (ex. ๋ฌธ์ž์—ด + ์ˆซ์ž, ์ˆซ์ž (๋จผ์ € ์—ฐ์‚ฐ) + ๋ฌธ์ž์—ด์ด๋‹ค.)

์˜ˆ์ œ)

public class P118StringConcatExample {
	public static void main(String[] args) {
		//				String + double(์ˆซ์ž)
		//				๋ฌธ์ž์—ด + ์ˆซ์ž
		//				JDK6.0
		String str1 = "JDK" + 6.0;
		String str2 = str1 + " ํŠน์ง•";
		System.out.println(str2);
		
		String str3 = "JDK" + 3 + 3.0; //๋ฌธ์ž์—ด + ์ˆซ์ž 
		String str4 = 3 + 3.0 + "JDK"; //์ˆซ์ž(๋จผ์ € ์—ฐ์‚ฐ) + ๋ฌธ์ž์—ด 
		System.out.println(str3);
		System.out.println(str4);
	}
}


๊ฒฐ๊ณผ)

JDK6.0 ํŠน์ง•
JDK33.0
6.0JDK

2.3 ๋น„๊ต ์—ฐ์‚ฐ์ž (<, <=, >, >=, ==, !=) p. 119

๋Œ€์†Œ ์—ฐ์‚ฐ์ž๋Š” boolean์„ ์ œ์™ธํ•œ ๊ธฐ๋ณธ ํƒ€์ž…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋™๋“ฑ ์—ฐ์‚ฐ์ž๋Š” ๋ชจ๋“  ํƒ€์ž…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ํ๋ฆ„ ์ œ์–ด๋ฌธ์ธ ์กฐ๊ฑด๋ฌธ(if), ๋ฐ˜๋ณต๋ฌธ(for, while)์—์„œ ์ฃผ๋กœ ์ด์šฉ๋˜์–ด ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

(num1 != num2) //num1๊ณผ num2๋Š” ๋‹ค๋ฅธ์ง€
(num1 = !num2) //num2๊ฐ€ ๋ถ€์ •๋œ ๊ฒƒ์„ num1์— ์ €์žฅํ•œ๋‹ค.

์˜ˆ์ œ)

public class P119CompareOperatorExample1 {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 10;
		boolean result1 = (num1 == num2);
		boolean result2 = (num1 != num2);
		boolean result3 = (num1 <= num2);
		System.out.println("result1=" + result1);
		System.out.println("result2=" + result2);
		System.out.println("result3=" + result3);
		
		char char1 = 'A';
		char char2 = 'B';
		boolean result4 = (char1 < char2);
		System.out.println("result4=" + result4);
	}
}

๊ฒฐ๊ณผ) 

result1=true
result2=false
result3=true
result4=true

๋น„๊ต ์—ฐ์‚ฐ์ž์—์„œ๋„ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์„ ์ผ์น˜์‹œํ‚จ๋‹ค.

ex) 'A'==65๋Š” 'A'๊ฐ€ int ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด 65 == 65๋ฅผ ๋น„๊ตํ•œ๋‹ค.
3 == 3.0์—์„œ 3์ด double๋กœ ๋ณ€ํ™˜๋˜์–ด 3.0 == 3.0์œผ๋กœ ๋น„๊ตํ•œ๋‹ค.

'A' == 65 -> 65 == 65 -> true
3 == 3.0 -> 3.0 == 3.0 -> true



์˜ˆ์™ธ: 0.1๊ณผ 0.1f๋Š” ๊ฐ™์ง€ ์•Š๋‹ค. 0.1f๋Š” 0.1์˜ ๊ทผ์‚ฟ๊ฐ’(0.1000000149011612)์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. 0.1๋ณด๋‹ค ํฐ ๊ฐ’์ด๋‹ค.

์˜ˆ์ œ)

public class P119CompareOperatorExample2 {
	public static void main(String[] args) {
		int v2 = 1;
		double v3 = 1.0;
		//					int(4) double(8)
		//					double double
		//					1.0		1.0
		System.out.println(v2 == v3); //true
		
		double v4 = 0.1;
		float v5 = 0.1f;
		//				double(8) float(4)
		System.out.printf("%15.14f\n",v4);
		System.out.printf("%15.14f\n",v5);
		System.out.println(v4 == v5); //false
		System.out.println((float)0.4 == v5); //true
	}
}

๊ฒฐ๊ณผ)

true
0.10000000000000
0.10000000149012
false
false

- ๊ธฐ๋ณธ ํƒ€์ž… ๋ณ€์ˆ˜(byte, char, short, int, long, float, double, boolean)์˜ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ์—๋Š” == ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ
์ฐธ์กฐ ํƒ€์ž…์ธ String ๋ณ€์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” equals() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. p. 121, p.97

boolean result = inputData. equals("๋น„๊ต๋ฌธ์ž์—ด");

inputData: ์ €์žฅ๋œ ๋ฌธ์ž์—ด
equals("๋น„๊ต๋ฌธ์ž์—ด"): ๋น„๊ต
result: ๊ฐ™์œผ๋ฉด true, ๋‹ค๋ฅด๋ฉด false

์˜ˆ์ œ) p. 121

String strVar1 = "์‹ ์šฉ๊ถŒ";
String strVar2 = "์‹ ์šฉ๊ถŒ";
System.out.println(strVar1.equals(strVar2)); //true
System.out.println(!strVar1.equals(strVar2)); //false

2.4 ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž (&&, ||, &, |, ^, !) p. 121

&&, & AND (๋…ผ๋ฆฌ๊ณฑ: Logical conjunction): ํ”ผ์—ฐ์‚ฐ์ž ๋ชจ๋‘๊ฐ€ true์ผ ๊ฒฝ์šฐ์—๋งŒ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ true

์—ฐ์‚ฐ์‹ ๊ฒฐ๊ณผ
true(1) &&
๋˜๋Š”
&
true(1) true(1)
true(1) false(0) false(0)
false true false
false false false

|| | OR (๋…ผ๋ฆฌํ•ฉ: Logical disjunction): ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•˜๋‚˜๋งŒ true์ด๋ฉด ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ true

์—ฐ์‚ฐ์‹ ๊ฒฐ๊ณผ
true ||
๋˜๋Š”
|
true true
true false true
false true true
false false false

^ XOR (๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ: exclusive or): ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํ•˜๋‚˜๋Š” true์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๊ฐ€ false์ผ ๊ฒฝ์šฐ์—๋Š” ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ true
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ.

์—ฐ์‚ฐ์‹ ๊ฒฐ๊ณผ
true ^ true false
true false true
false true true
false false false

! NOT (๋…ผ๋ฆฌ ๋ถ€์ •: Sheffer stroke): ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋…ผ๋ฆฌ๊ฐ’์„ ๋ฐ”๊พผ๋‹ค. 

์—ฐ์‚ฐ์‹ ๊ฒฐ๊ณผ
! true false
false true

๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋Š” ์กฐ๊ฑด๋ฌธ๊ณผ ์ œ์–ด๋ฌธ์—์„œ ์กฐ๊ฑด์‹์˜ ๊ฐ’์„ ๋ถ€์ •ํ•˜๋„๋กํ•ด์„œ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
๋˜ํ•œ ๋‘ ๊ฐ€์ง€ ์ƒํƒœ(true/false)๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ๋ฒˆ๊ฒฝํ•˜๋Š” ํ† ๊ธ€(toggle) ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋„ ์‚ฌ์šฉํ•œ๋‹ค. 

&&: ์•ž์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ false๋ผ๋ฉด ๋’ค์˜ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ํ‰๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ false๋ผ๋Š” ์‚ฐ์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ธ๋‹ค. &๋ณด๋‹ค ๋” ํšจ์œจ์ ์ด๋‹ค.
&: ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ๋ชจ๋‘๋ฅผ ํ‰๊ฐ€ํ•ด์„œ ์‚ฐ์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ธ๋‹ค. 
||: ์•ž์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ true๋ผ๋ฉด ๋’ค์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ‰๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ true๋ผ๋Š” ์‚ฐ์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ธ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ•˜๋‚˜๋ผ๋„ true์ด๋ฉด ์ „์ฒด ์—ฐ์‚ฐ์‹์€ true์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. |๋ณด๋‹ค ๋” ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. 
|:  ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ๋ชจ๋‘๋ฅผ ํ‰๊ฐ€ํ•ด์„œ ์‚ฐ์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ธ๋‹ค. 

์˜ˆ์ œ)

public class P123LogicalOperatorExample {

	public static void main(String[] args) {
		int charCode = 'A';
		//'A' == 65, 'Z' == 90
		if((charCode >= 65) & (charCode <= 90)) {
			System.out.println("๋Œ€๋ฌธ์ž๊ตฐ์š”.");
		}
		// 'a' == 97, 'z' == 122
		if((charCode >= 97) & (charCode <= 122)) {
			System.out.println("์†Œ๋ฌธ์ž๊ตฐ์š”.");
		}
		//'0' == 48, '9' == 57
		//		false		&&		true
		//		!false		&&		!true
		//		true		&&		false
		if((charCode < 48) && !(charCode > 57)) {
			System.out.println("0~9 ์ˆซ์ž๊ตฐ์š”.");
		}
		
		int value = 6;
		
		if((value%2==0) & (value%3==0)) {
			System.out.println("2 ๋˜๋Š” 3์˜ ๋ฐฐ์ˆ˜๊ตฐ์š”.");
		}
		
		if((value%2==0) && (value%3==0)) {
			System.out.println("2 ๋˜๋Š” 3์˜ ๋ฐฐ์ˆ˜๊ตฐ์š”.");
		}
	}
}

๊ฒฐ๊ณผ)

๋Œ€๋ฌธ์ž๊ตฐ์š”.
2 ๋˜๋Š” 3์˜ ๋ฐฐ์ˆ˜๊ตฐ์š”.
2 ๋˜๋Š” 3์˜ ๋ฐฐ์ˆ˜๊ตฐ์š”.

2.5 ๋Œ€์ž… ์—ฐ์‚ฐ์ž (=, +=, -=, *-, /=, %=) p. 123

๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์ธ ๋ณ€์ˆ˜์— ์ €์žฅ๋œ๋‹ค.
์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์—๋Š” ๋ฆฌํ„ฐ๋Ÿด ๋ฐ ๋ณ€์ˆ˜, ๋‹ค๋ฅธ ์—ฐ์‚ฐ์‹์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
๋‹จ์ˆœํžˆ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋‹จ์ˆœ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๊ณ ,
์ •ํ•ด์ง„ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋„ ์žˆ๋‹ค.

๊ตฌ๋ถ„ ์—ฐ์‚ฐ์‹ ์„ค๋ช…
๋‹จ์ˆœ ๋Œ€์ž… ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜(result) = ํ”ผ์—ฐ์‚ฐ์ž(10) ์˜ค๋ฅธ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ์™ผ์ชฝ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.
ex) result = 10
๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ += ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ + ํ”ผ์—ฐ์‚ฐ์ž
ex) result = result + 10
๋ณ€์ˆ˜ -= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ - ํ”ผ์—ฐ์‚ฐ์ž
๋ณ€์ˆ˜ *= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ * ํ”ผ์—ฐ์‚ฐ์ž
๋ณ€์ˆ˜ /= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ / ํ”ผ์—ฐ์‚ฐ์ž
๋ณ€์ˆ˜ %= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ % ํ”ผ์—ฐ์‚ฐ์ž
๋ณ€์ˆ˜ &= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ & ํ”ผ์—ฐ์‚ฐ์ž
๋ณ€์ˆ˜ |= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ | ํ”ผ์—ฐ์‚ฐ์ž
๋ณ€์ˆ˜ ^= ํ”ผ์—ฐ์‚ฐ์ž ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ ^ ํ”ผ์—ฐ์‚ฐ์ž

๋Œ€์ž… ์—ฐ์‚ฐ์ž๋Š” ๋ชจ๋“  ์—ฐ์‚ฐ์ž๋“ค ์ค‘์—์„œ ๊ฐ€์žฅ ๋‚ฎ์€ ์—ฐ์‚ฐ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ์ผ ๋งˆ์ง€๋ง‰์— ์ˆ˜ํ–‰๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์—ฐ์‚ฐ์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์ด ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์ด๋‹ค. 

a = b = c = 5;

์ด ์—ฐ์‚ฐ์‹์€ c = 5, b = c, a = b ์ˆœ์„œ๋กœ ์‹คํ–‰๋œ๋‹ค. ์‹คํ–‰๋˜๊ณ  ๋‚œ ํ›„์—๋Š” a, b, c์˜ ๊ฐ’์ด ๋ชจ๋‘ 5๊ฐ€ ๋œ๋‹ค. 

์˜ˆ์ œ)

public class P124AssignmentOperatorExample {
	public static void main(String[] args) {
		int result = 0;
		//result = result + 10
		result += 10;
		System.out.println("result=" + result);
		
		//result = result - 5
		result -= 5;
		System.out.println("result=" + result);
		
		//result = result * 3
		result *= 3;
		System.out.println("result=" + result);
		
		//result = result / 5
		result /= 5;
		System.out.println("result=" + result);
		
		//result = result % 3
		result %= 3;
		System.out.println("result=" + result);
	}
}

๊ฒฐ๊ณผ)

result=10
result=5
result=15
result=3
result=0

3) ์‚ผํ•ญ ์—ฐ์‚ฐ์ž p. 125

์‚ผํ•ญ ์—ฐ์‚ฐ์ž(?:)๋Š” 3๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ? ์•ž์˜ ์กฐ๊ฑด์‹์— ๋”ฐ๋ผ ์ฝœ๋ก (:) ์•ž๋’ค์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์„ ํƒ๋œ๋‹ค๊ณ  ํ•ด์„œ ์กฐ๊ฑด ์—ฐ์‚ฐ์‹์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. 
์กฐ๊ฑด์‹(ํ”ผ์—ฐ์‚ฐ์ž1) ? ๊ฐ’ ๋˜๋Š” ํ”ผ์—ฐ์‚ฐ์‹(ํ”ผ์—ฐ์‚ฐ์ž2) : ๊ฐ’ ๋˜๋Š” ํ”ผ์—ฐ์‚ฐ์‹(ํ”ผ์—ฐ์‚ฐ์ž3)

x > 10 ? "x๊ฐ’์ด ํฝ๋‹ˆ๋‹ค." : "x๊ฐ’์ด ์ž‘์Šต๋‹ˆ๋‹ค."

ํ”ผ์—ฐ์‚ฐ์ž2์™€ ํ”ผ์—ฐ์‚ฐ์ž3์—๋Š” ์ฃผ๋กœ ๊ฐ’์ด ์˜ค์ง€๋งŒ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ ์—ฐ์‚ฐ์‹์ด ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค. 
์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” if๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์ž‘์„ฑํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํ•œ ์ค„์— ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋ ค๋ฉด ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ด๋‹ค. 

์˜ˆ์ œ)

public class P126ConditionOperationExample {
	public static void main(String[] args) {
		int score = 85;
        //์กฐ๊ฑด์‹ ? ์ฐธ : ๊ฑฐ์ง“
		char grade = (score > 90) ? 'A' : ((score > 80) ? 'B' : 'C');
		System.out.println(score + "์ ์€ " + grade + "๋“ฑ๊ธ‰์ž…๋‹ˆ๋‹ค.");
	}
}

๊ฒฐ๊ณผ)

85์ ์€ B๋“ฑ๊ธ‰์ž…๋‹ˆ๋‹ค.

5๊ฐ€์ง€ ํ‚ค์›Œ๋“œ๋กœ ๋๋‚ด๋Š” ํ•ต์‹ฌ ํฌ์ธํŠธ

1) ์ฆ๊ฐ ์—ฐ์‚ฐ์ž: ++, --๋ฅผ ๋งํ•˜๋ฉฐ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ 1์”ฉ ์ฆ๊ฐ€, 1์”ฉ ๊ฐ์†Œ์‹œํ‚จ๋‹ค.

2) ๋น„๊ต ์—ฐ์‚ฐ์ž: ==, != ๋“ฑ์„ ๋งํ•˜๋ฉฐ ๊ฐ’์ด ๊ฐ™์€์ง€, ๋‹ค๋ฅธ์ง€๋ฅผ ๋น„๊ตํ•˜๊ณ  boolean ๊ฐ’์„ ์‚ฐ์ถœํ•œ๋‹ค.

3) ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž: $$, ||, ! ๋“ฑ์„ ๋งํ•˜๋ฉฐ ๋…ผ๋ฆฌ๊ณฑ, ๋…ผ๋ฆฌํ•ฉ, ๋…ผ๋ฆฌ ๋ถ€์ •์„ ์ˆ˜ํ–‰ํ•˜๊ณ  boolean ๊ฐ’์„ ์‚ฐ์ถœํ•œ๋‹ค.

4) ๋Œ€์ž… ์—ฐ์‚ฐ์ž: =, +=, -= ๋“ฑ์„ ๋งํ•˜๋ฉฐ ์˜ค๋ฅธ์ชฝ์˜ ๊ฐ’์„ ์™ผ์ชฝ์— ๋Œ€์ž…ํ•˜๊ฑฐ๋‚˜ ์—ฐ์‚ฐ ํ›„ ๋Œ€์ž…ํ•œ๋‹ค.

5) ์‚ผํ•ญ ์—ฐ์‚ฐ์ž: (์กฐ๊ฑด์‹) ? A : B๋ฅผ ๋งํ•˜๋ฉฐ ์กฐ๊ฑด์ด true์ด๋ฉด A๋ฅผ ์‚ฐ์ถœํ•˜๊ณ , false์ด๋ฉด B๋ฅผ ์‚ฐ์ถœํ•œ๋‹ค.


Q9) ๋‘๋ฒˆ์งธ ์ˆ˜์— 0 ๋˜๋Š” 0.0 ์ž…๋ ฅํ–ˆ์„ ๋•Œ "๊ฒฐ๊ณผ: ๋ฌดํ•œ๋Œ€"๊ฐ€ ์ถœ๋ ฅ๋˜๊ฒŒ ๋งŒ๋“ ๋‹ค. 
๊ต์žฌ์˜ ์ •๋‹ต๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค. 
๊ต์žฌ์˜ ์ •๋‹ต์€ if (num2 != 0.0)์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์‹œ์ž‘ํ•œ๋‹ค.
OR ์“ธ ๋•Œ ๋‘ ๊ฐœ์˜ ์‹์— () ์•ˆ ์“ด๋‹ค. 

//double num1 = Double.parseDouble(scanner.nextLine());
		double num1 = scanner.nextDouble();


์˜ˆ์ œ) 

public class P129Q9 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("์ฒซ ๋ฒˆ์งธ ์ˆ˜: ");
		//double num1 = Double.parseDouble(scanner.nextLine()); ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฐ€๋Šฅํ•˜๋‹ค.
		double num1 = scanner.nextDouble();
		System.out.println("์ฒซ ๋ฒˆ์งธ ์ˆ˜: ");
		
		//double num2 = Double.parseDouble(scanner.nextLine());
		double num2 = scanner.nextDouble();
		
		System.out.println("-------------------------");
		if (num2 == 0.0 || num2 == 0) { //if (num2 != 0.0) ๊ต์žฌ์˜ ์ •๋‹ต
			System.out.println("๊ฒฐ๊ณผ: ๋ฌดํ•œ๋Œ€"); //System.out.println("๊ฒฐ๊ณผ: "+(num1/num2));
		}	
		else {
			System.out.println("๊ฒฐ๊ณผ: "+(num1/num2)); //System.out.println("๊ฒฐ๊ณผ: ๋ฌดํ•œ๋Œ€");
		}
	}
}


๊ฒฐ๊ณผ) 

์ฒซ ๋ฒˆ์งธ ์ˆ˜: 
10
์ฒซ ๋ฒˆ์งธ ์ˆ˜: 
0
-------------------------
๊ฒฐ๊ณผ: ๋ฌดํ•œ๋Œ€

Q10) ๋ฐ˜์ง€๋ฆ„์ด 10์ธ ์›์˜ ๋„“์ด๋ฅผ ๊ตฌํ•˜๋ผ.
๊ต์žฌ ์ •๋‹ต์˜ Double.parseDouble(var2 + "." + var3) ๋Œ€์‹ ์—

๋‚ด๊ฐ€ ์“ด ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. p.130
์˜ˆ์ œ) 

public class P130Q10 {
	public static void main(String[] args) {
		int var1 = 10;
		int var2 = 3;
		int var3 = 14;
        //double var4 = var1 * var1 * Double.parseDouble(var2 + "." + var3); //๊ต์žฌ์˜ ์ •๋‹ต
		double var4 = var1 * var1 * (var2 + ((double)var3/100));
		System.out.println("์›์˜ ๋„“์ด: " + var4);
	}
}

๊ฒฐ๊ณผ)

์›์˜ ๋„“์ด: 314.0

728x90
๋ฐ˜์‘ํ˜•
Comments