[Day4] Java 4 [8/11]

 

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

1) ์ผ๋ฐ˜๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

    && - ์ผ๋ฐ˜๋…ผ๋ฆฌ AND ์—ฐ์‚ฐ์ž (๋…ผ๋ฆฌ๊ณฑ)

    True && true && false : ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์žˆ๋”๋ผ๋„ ์ขŒ์ธก์—์„œ ์ˆœ์„œ๋Œ€๋กœ ์ฑ„์›Œ๊ฐ€๋ฉฐ ์ฒ˜๋ฆฌ๋จ but ์ดํ•ญ์—ฐ์‚ฐ์ž์ž„

    False๊ฐ€ ๋‚˜์˜ค๋ฉด ๋’ค์— ์—ฐ์‚ฐ ํ•˜์ง€ ์•Š๊ณ  ์ฒ˜๋ฆฌํ•จ!!

 

    || - ์ผ๋ฐ˜๋…ผ๋ฆฌ OR ์—ฐ์‚ฐ์ž (๋…ผ๋ฆฌํ•ฉ)

    True || false -> true ํ•˜๋‚˜๋งŒ ์žˆ๋”๋ผ๋„ true

 

2) ๋น„ํŠธ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

    ~ : ํ‹ธ๋“œ์—ฐ์‚ฐ์ž(๋น„ํŠธ๋ถ€์ •์—ฐ์‚ฐ์ž), ๋‹จํ•ญ์—ฐ์‚ฐ์ž

    System.out.println(~10); //

    0000 1010 -> 10

    1111 0101 -> -11 -> -1 ๋นผ๊ธฐ -> 1111 0100 -> 1์˜ ๋ณด์ˆ˜ -> 0000 1011 = -11

 

&, |, ^ ์ดํ•ญ์—ฐ์‚ฐ์ž

//10: 0000 1010
//3 : 0000 0011

//&   0000 0010 : 2  (AND)
//|   0000 1011 : 11. (OR)
//^   0000 1001 : 9  (XOR, exclusive, ๋‹ค๋ฅด๋ฉด 1 ๊ฐ™์œผ๋ฉด 0)

 

[์•”๊ธฐ]
๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž์˜ ์šฐ์„ ์ˆœ์œ„ : [~  !]   &  ^  |   &&   || (๋น„ํŠธ์—ฐ์‚ฐ์ž > ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž)

 

์‰ฌํ”„ํŠธ์—ฐ์‚ฐ์ž (>> << >>>) – ์ดํ•ญ์—ฐ์‚ฐ์ž

//15 >> 2
// 0000 1111 ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋‘์นธ์”ฉ ์ด๋™

1) ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™์ผ๋•Œ >>

๋ถ€ํ˜ธ๋น„ํŠธ๊ฐ€ 1์ด๋ฉด ๋ชจ๋‘ 1๋กœ ์ฑ„์šฐ๊ณ 

๋ถ€ํ˜ธ๋น„ํŠธ๊ฐ€ 0์ด๋ฉด 0์œผ๋กœ ์ฑ„์›€

 

2) ์™ผ์ชฝ์œผ๋กœ ์ด๋™์ผ๋•Œ <<

๋’ค๋ฅผ ๋ฌด์กฐ๊ฑด 0์œผ๋กœ ์ฑ„์šฐ๊ธฐ

>>> : ์ด๊ฑด ๋ฌด์กฐ๊ฑด ๋ถ€ํ˜ธ๋น„ํŠธ์ชฝ 0์œผ๋กœ ์ฑ„์›€

 

2. 10 -> 2 / 8 / 16์ง„์ˆ˜ ์ถœ๋ ฅ

String binString = Integer.toBinaryString(10) // wrapper class
String binString = Intgeger.toOctalString(10)
String binString = Integer.toHexString(10)

 

 

3. ๊ธฐํƒ€ ์—ฐ์‚ฐ์ž

์ฆ๊ฐ์—ฐ์‚ฐ์ž(์ „์œ„ํ˜• / ํ›„์œ„ํ˜•)

++, --

 

์‚ผํ•ญ์—ฐ์‚ฐ์ž

ํ•ญ1  ?   ํ•ญ2   :  ํ•ญ3

 

4. char - ์ˆซ์ž

Char c = 65.  // -> 65๋กœ ์ €์žฅ
Int j = ‘A’.  // -> 65๋กœ ์ €์žฅ

-> ์˜ค๋ฅ˜ ์—†์Œ./ char์€ ์ •์ˆ˜๊ณ„์—ด์— ํฌํ•จ

 

๋ฌธ์ž ch๋Š” ์ˆซ์ž (0~9)์ด๋‹ค.

Ch >= ‘A’

Ch >= 48

Ch>=’0’ && ch <=’9’

Ch >= 48 && ch <= 57

ch >= 65 && ch <= 90

ch >= 'A' && ch <= 'Z'

( ch >= 'A' && ch <= 'Z' )  ||  (ch >= 'a' && ch <= 'z')

 

// 'x'  -> 'X' ๋ณ€ํ™˜
// ch =  (char) (ch - 32);
   ch = 'x' - 32;

5. String ๋น„๊ต

๋‘ ๋ฌธ์ž์—ด(String)์„ ๋น„๊ตํ•  ๋•Œ๋Š” == ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ X

String.equals() ํ•จ์ˆ˜  ๋‘ ๋ฌธ์ž์—ด ๋น„๊ตํ•œ๋‹ค.  -> true / false ๋ฐ˜ํ™˜

 

6. Scanner

Scanner scanner = new Scanner( System.in );
System.out.print("> ์ด๋ฆ„ ์ž…๋ ฅ : ");
name = scanner.next();  // String
kor = scanner.nextInt(); // String์œผ๋กœ ๋ฐ›์€๊ฑฐ -> int๋กœ

 

 

7. ๋ฐฐ์—ด

1. ๋ฐฐ์—ด(Array) 

      ใ„ฑ. ์ •์˜ ? [๋™์ผํ•œ ์ž๋ฃŒํ˜•]์„ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— [์—ฐ์†์ ]์œผ๋กœ ๋†“์ด๊ฒŒ ํ•œ ๊ฒƒ.

      ใ„ด. ๊ธฐ๋ณธํ˜• - ์Šคํƒ(Stack)์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น์ด ๋œ๋‹ค. 

            ์ฐธ์กฐํ˜• - [ ๋ฐฐ์—ด ], ํด๋ž˜์Šค , ์ธํ„ฐํŽ˜์ด์Šค 

                      - new ์—ฐ์‚ฐ์ž์˜ ์˜ํ•ด์„œ  ์‹ค์ œ๊ธฐ์–ต๊ณต๊ฐ„์„  ๋™์ ์˜์—ญ(Heap)์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น์ด๋œ๋‹ค. 

      ใ„ท. ๋ฐฐ์—ด ์„ ์–ธ ํ˜•์‹

          ์ž๋ฃŒํ˜• [] ๋ฐฐ์—ด๋ช… = new ์ž๋ฃŒํ˜•[๋ฐฐ์—ดํฌ๊ธฐ];   // ๋ณ€์ˆ˜, ์ฐธ์กฐ๋ณ€์ˆ˜,๋ฐฐ์—ด๋ช…    

int [] kors = new int[5];

ํž™ ์˜์—ญ : ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์—ฐ์†์ ์œผ๋กœ ๋†“์ž„. 4๋ฐ”์ดํŠธ์”ฉ ์ด 20๋ฐ”์ดํŠธ ์ €์žฅ

์‹œ์ž‘์ฃผ์†Œ๊ฐ’ : 100๋ฒˆ์ง€ -> 104๋ฒˆ์ง€ -> 108๋ฒˆ์ง€

 

์Šคํƒ ์˜์—ญ : int 4๋ฐ”์ดํŠธํ• ๋‹น -> ํž™์˜์—ญ ์ฃผ์†Œ ๊ฐ’์„ ์ฐธ์กฐํ•˜๋„๋กํ•˜๋Š” ๊ณต๊ฐ„ (์‹œ์ž‘์ฃผ์†Œ ์ €์žฅ)

 

์ฒจ์ž๊ฐ’ (์ธ๋ฑ์Šค) ์‚ฌ์šฉํ•ด์„œ ๊ฐ ๊ธฐ์–ต๊ณต๊ฐ„ ์ ‘๊ทผ๊ฐ€๋Šฅ

-       ์ฒจ์ž๊ฐ’ ๊ฐ€์žฅ ์ž‘์€ ์ฒจ์ž๊ฐ’ : ์•„๋žซ ์ฒจ์ž๊ฐ’ (lowerbound)  0

-       ์ฒจ์ž๊ฐ’ ๊ฐ€์žฅ ํฐ ์ฒจ์ž๊ฐ’ : ์œ— ์ฒจ์ž๊ฐ’ (upperbound) ๋ฐฐ์—ด ํฌ๊ธฐ – 1

 

์ฃผ์†Œ๋Œ€์‹  null ์ฃผ๋ฉด ๊ด€๊ฒŒ๊ฐ€ ๋Š์–ด์ง -> ๋– ๋‹ค๋””๋Š” ๋ฐฐ์—ด = garbage -> gc๊ฐ€ ์ฒ˜๋ฆฌ (๋ฉ”๋ชจ๋ฆฌ๊ด€๋ฆฌ ์ž๋™)

8. ์ œ์–ด๋ฌธ

1. ์ œ์–ด๋ฌธ ?

      ์ฝ”๋“œ์˜ ์‹คํ–‰ ํ๋ฆ„์€ ๋ฌด์กฐ๊ฑด ์œ„์—์„œ ์•„๋ž˜๋กœ ํ•œ ๋ฌธ์žฅ์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰.

      ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ ์–ด๋–ค ํŠน์ • ๋ฌธ์žฅ์€ ๊ฑด๋„ˆ๋„๊ธฐ๋„,

            "                       "            ๋ฐ˜๋ณตํ•ด์„œ ์ฒ˜๋ฆฌ.              

      ์ด์ฒ˜๋Ÿผ  ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„  ๋ฐ”๊พธ์–ด ์ฃผ๋Š” ๋ฌธ

  2. ์ œ์–ด๋ฌธ ์ข…๋ฅ˜

      1) ์กฐ๊ฑด๋ฌธ : if

      2) ๋ถ„๊ธฐ๋ฌธ : switch

      3) ๋ฐ˜๋ณต๋ฌธ : for, foreach(ํ™•์žฅfor)

      4) ์กฐ๊ฑด๋ฐ˜๋ณต๋ฌธ :  while,   do~ while

      5) ๊ธฐํƒ€   : break, continue  

  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ