๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1. Java ์ž๋ฐ”/1_0. ์ฑ…, ๊ฐ•์˜

[๋ช…ํ’ˆ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ] 2์žฅ ์š”์•ฝ & ์ •๋ฆฌ

by ๋น„์†Œ์•ผ 2022. 5. 18.
728x90

[๋ช…ํ’ˆ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ] 2์žฅ ์š”์•ฝ & ์ •๋ฆฌ

2์žฅ ์ž๋ฐ” ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

1. ์ž๋ฐ”์™€ C++

 

ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ์›ํŒ

C++์€ main() ํ•จ์ˆ˜๊ฐ€ ํด๋ž˜์Šค์— ๋“ค์–ด๊ฐ€ ์žˆ์ง€ ์•Š๋‹ค. // 98% ๊ฐ์ฒด์ง€ํ–ฅ
์ž๋ฐ”๋Š” C++๊ณผ ๋‹ค๋ฅด๊ฒŒ main() ๋ฉ”์†Œ๋“œ๋„ ํด๋ž˜์Šค ์•ˆ์— ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.

์ฆ‰, ์ž๋ฐ”๋Š” ๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ ํด๋ž˜์Šค ์•ˆ์— ๋“ค์–ด์žˆ๋‹ค. // 100% ๊ฐ์ฒด์ง€ํ–ฅ์ธ ์ด์œ 

์ž๋ฐ”๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ์ฒด๋กœ ๋ณด๊ธฐ ๋•Œ๋ฌธ์— ์งˆ๋ฌธ OOO์ด ๊ฐ์ฒด์ž…๋‹ˆ๊นŒ? ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์€ ํ•ญ์ƒ O

์ž๋ฐ”์—์„œ ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๋ฉค๋ฒ„ํ•จ์ˆ˜๋ผ๋Š” ์šฉ์–ด ๋Œ€์‹  ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋ผ๊ณ  ํ•œ๋‹ค.

2. ์ž๋ฐ” ๊ธฐ๋ณธ๊ตฌ์กฐ

 

public class Hello{} // Hello ๋ผ๋Š” ์ด๋ฆ„์˜ ํด๋ž˜์Šค ์ •์˜
ใ„ด ์•„๋ฌด๋‚˜ ๋‹ค ์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
{ // ํด๋ž˜์Šค ์ •์˜ ์‹œ์ž‘
} // ํด๋ž˜์Šค ์ •์˜ ๋

// ํ•œ ์ค„ ์ฃผ์„
/* */ ์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„

; // ๋ฌธ์žฅ์˜ ๋

๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•œ ๋ฌธ์žฅ์ด ๋ฐ˜๋“œ์‹œ ํ•œ ์ค„์— ์ž‘์„ฑ๋  ํ•„์š”๋Š” ์—†์Œ

์˜ˆ๋ฅผ ๋“ค์–ด, s = sum(i, 20);์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด๋„ ์ •์ƒ์ ์ธ ๋ฌธ์žฅ์œผ๋กœ ์ธ์‹

System.out.println(); // ํ‘œ์ค€ ์ถœ๋ ฅ ๋ฉ”์†Œ๋“œ, ํ˜•์‹์ง€์ •์ž ์ง€์ •ํ•˜์ง€ ์•Š์Œ

๋ฉ”์ธ ๋ฉ”์†Œ๋“œ๋Š” public static void main(String[] args){} ํ˜•์‹์œผ๋กœ ์“ด๋‹ค.


๋ฉ”์ธ ๋ฉ”์†Œ๋“œ์—์„œ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋œ๋‹ค.

 

์ž๋ฐ”์—์„œ ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ฝ”๋“œ๋Š” ํด๋ž˜์Šค ๋ฐ–์— ์ž‘์„ฑํ•  ์ˆ˜ ์—†๋‹ค.

3. ์‹๋ณ„์ž

 

์‹๋ณ„์ž indentifier // C/C++๊ณผ ๋™์ผ
์‹๋ณ„์ž๋Š” ์ด๋ฆ„์ด๋‹ค.

๋ฌธ๋ฒ•
ํŠน์ˆ˜ ๋ฌธ์ž, ํƒญ, ๊ณต๋ฐฑ ์‚ฌ์šฉ๋ถˆ๊ฐ€ // ์˜ˆ์™ธ์ ์œผ๋กœ _์™€ $์€ ์‚ฌ์šฉ๊ฐ€๋Šฅ
์ˆซ์ž๋กœ ์‹œ์ž‘ ๋ถˆ๊ฐ€ // _์™€ $์œผ๋กœ ์‹œ์ž‘ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์Œ
์˜ˆ์•ฝ์–ด(ํ‚ค์›Œ๋“œ) ์‚ฌ์šฉ๋ถˆ๊ฐ€
์œ ๋‹ˆ์ฝ”๋“œ, ํ•œ๊ธ€ ์‚ฌ์šฉ๊ฐ€๋Šฅ
๊ธธ์ด ์ œํ•œ ์—†์Œ
์˜์–ด ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„
 
๊ด€์Šต
๋ชฉ์ ์„ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด๋Š” ์ด๋ฆ„ s vs sum
ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘
ํ•„๋“œ, ๋ฉ”์†Œ๋“œ ์ด๋ฆ„์€ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘
์ดํ›„ ๊ฐ ๋‹จ์–ด์˜ ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž๋งŒ ๋Œ€๋ฌธ์ž // camel case๋กœ ์ž‘์„ฑํ•จ, _์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” snake case๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š์Œ
์ƒ์ˆ˜ ์ด๋ฆ„์€ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž

4. ์ž๋ฃŒํ˜•

 

์ž๋ฐ”์—์„œ ์ž๋ฃŒํ˜• data type
๊ธฐ๋ณธํ˜•์€ 8๊ฐœ // ๊ธฐ๋ณธ ํƒ€์ž…
boolean(1), char(2), byte(1), short(2), int(4), long(8), float(4), double(8)
C์–ธ์–ด์— ์—†๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ boolean(1๋ฐ”์ดํŠธ)๊ณผ byte(1๋ฐ”์ดํŠธ)์ด๋‹ค.
char๋Š” C์—์„œ 1๋ฐ”์ดํŠธ, ์ž๋ฐ”์—์„œ 2๋ฐ”์ดํŠธ์ด๋‹ค. // ์œ ๋‹ˆ์ฝ”๋“œ ํ‘œํ˜„์„ ์œ„ํ•ด 2๋ฐ”์ดํŠธ(16๋น„ํŠธ)์ด๋‹ค.

 

์ฐธ์กฐํ˜•์€ 1๊ฐœ // ๋ ˆํผ๋Ÿฐ์Šค ํƒ€์ž… 
๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค
ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค
์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค

String์€ ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์ด ์•„๋‹ˆ๊ณ , ํด๋ž˜์Šค์˜ ์ด๋ฆ„์ด๋‹ค. // ๊ฐ์ฒด์ด๋‹ค.

C/C++์—์„œ๋Š” ์˜์–ด๋Š” 1๋ฐ”์ดํŠธ๋กœ ํ•œ๊ธ€์€ 2๋ฐ”์ดํŠธ๋กœ ํ‘œํ˜„๋˜๋ฏ€๋กœ, ํ•œ๊ธ€๊ณผ ์˜์–ด๊ฐ€ ์„ž์—ฌ ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋‚˜ ํŒŒ์ผ์„ ๋‹ค๋ฃจ๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ์€ ๋งค์šฐ ๊นŒ๋‹ค๋กญ๋‹ค.

 

์ž๋ฐ”๋Š” ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ธ ์–ธ์–ด์ด๋ฏ€๋กœ CPU์˜ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด๋‚˜ ์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋‹ฌ๋ฆฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ํฌ๊ธฐ๊ฐ€ ํ•ญ์ƒ ์ผ์ •ํ•˜๋‹ค.

5. ๋ฆฌํ„ฐ๋Ÿด

 

๋ฆฌํ„ฐ๋Ÿด // ํ”„๋กœ๊ทธ๋žจ์— ์ง์ ‘ ์ž‘์„ฑํ•œ ๊ฐ’
์ •์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด์€ ๊ธฐ๋ณธ์ ์œผ๋กœ intํ˜•์œผ๋กœ ์ปดํŒŒ์ผ

// 10์ง„์ˆ˜, 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” 8์ง„์ˆ˜, 0x๋กœ ์‹œ์ž‘ํ•˜๋Š” 16์ง„์ˆ˜, 0b๋กœ ์‹œ์ž‘ํ•˜๋Š” 2์ง„์ˆ˜

// long ํƒ€์ž… ๋ฆฌํ„ฐ๋Ÿด์€ ์ˆซ์ž ๋’ค์— L ๋˜๋Š” l ํ‘œ๊ธฐ
์‹ค์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด์€ ๊ธฐ๋ณธ์ ์œผ๋กœ doubleํ˜•์œผ๋กœ ์ปดํŒŒ์ผ

// ์†Œ์ˆ˜์  ํ˜•ํƒœ๋‚˜ ์ง€์ˆ˜ ํ˜•ํƒœ

// float ํƒ€์ž… ๋ฆฌํ„ฐ๋Ÿด์€ ์ˆซ์ž ๋’ค์— f ๋˜๋Š” Fํ‘œ๊ธฐ, double ํƒ€์ž… ๋ฆฌํ„ฐ๋Ÿด์€ ์ˆซ์ž ๋’ค์— d ๋˜๋Š” D ํ‘œ๊ธฐ
๋ฌธ์ž ๋ฆฌํ„ฐ๋Ÿด

// ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๋‘˜๋Ÿฌ์Œˆ ๋˜๋Š” \u ๋’ค์— ์œ ๋‹ˆ์ฝ”๋“œ ex) ‘๊ธ€’ ๋˜๋Š” \u0041

// ํŠน์ˆ˜ ๋ฌธ์ž ๋ฆฌํ„ฐ๋Ÿด(์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค)์€ \๋กœ ์‹œ์ž‘
๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด

// ํฐ ๋”ฐ์˜ดํ‘œ๋กœ ๋‘˜๋Ÿฌ์Œˆ ex) “๊ธ€”
๋…ผ๋ฆฌ ๋ฆฌํ„ฐ๋Ÿด

// true, false 2๊ฐœ๋ฟ 

// boolean c = 1; C/C++์™€ ๋‹ฌ๋ฆฌ ์ž๋ฐ”์—์„œ ์ˆซ์ž๋ฅผ ์ฐธ, ๊ฑฐ์ง“์œผ๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€

// while(true) { // ์ž๋ฐ”์—์„œ ๋ฌดํ•œ ๋ฃจํ”„, while(1)๋กœ ํ•˜๋ฉด ์•ˆ๋จ
}
null ๋ฆฌํ„ฐ๋Ÿด

// ์•„๋ฌด๊ฒƒ๋„ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š์„ ๋•Œ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜์—ฌ ์‚ฌ์šฉ ex) String str = null;

_๋Š” ๋ฆฌํ„ฐ๋Ÿด์— ์‚ฌ์šฉ์‹œ ๋ฐ˜๋“œ์‹œ ์ˆซ์ž์‚ฌ์ด์—๋งŒ ๊ฐ€๋Šฅ
20,000์„ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ, 20_000๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” _ ๋นผ๊ณ  ์ฒ˜๋ฆฌํ•˜์—ฌ 20000์œผ๋กœ ์ธ์‹
2__________5 ๋„ ๊ฐ€๋Šฅ

 

var ํ‚ค์›Œ๋“œ
๋ณ€์ˆ˜ ํƒ€์ž… ์„ ์–ธ ์ƒ๋žต, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ณ€์ˆ˜ ํƒ€์ž… ์ถ”๋ก 
์„ ์–ธ ์‹œ ์ดˆ๊ธฐํ™” ํ•„์š”
์ง€์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ์—๋งŒ ์‚ฌ์šฉ // ์ง€์—ญ๋ณ€์ˆ˜๋ž€? ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜
var price = 200; // intํ˜• 

6. ๋ณ€์ˆ˜, ์ƒ์ˆ˜

 

๋ณ€์ˆ˜

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋™์•ˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

int a = 3, b = 3, c= 3; // ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™” ์ฝค๋งˆ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•œ ์ค„๋กœ ์ž‘์„ฑ ๊ฐ€๋Šฅ

 

์ƒ์ˆ˜

final ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ
์„ ์–ธ ์‹œ ์ดˆ๊ธฐํ™” ํ•„์š”

์‹คํ–‰ ์ค‘ ๊ฐ’ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€
final double PI = 3.141592;

7. ํ˜•๋ณ€ํ™˜

 

์ž๋™ํƒ€์ž…๋ณ€ํ™˜(์•”์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜) // ์ž‘์€ ํƒ€์ž… -> ํฐ ํƒ€์ž…, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•ด์ค€๋‹ค.
๊ฐ•์ œํƒ€์ž…๋ณ€ํ™˜(๋ช…์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜) // ํฐ ํƒ€์ž… -> ์ž‘์€ ํƒ€์ž…, ( ) ์•ˆ์— ๋ณ€ํ™˜ํ•  ํƒ€์ž… ์ง€์ •ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž ํ•œ๋‹ค, ๊ฐ’ ์†์‹ค ์ฃผ์˜


์—ฐ์‚ฐ์€ ์›์น™์ ์œผ๋กœ ๊ฐ™์€ ํƒ€์ž…๋ผ๋ฆฌ๋งŒ ๊ฐ€๋Šฅ

ํฐ ํƒ€์ž…์˜ ๊ฐ’์„ ์ž‘์€ ํƒ€์ž…์˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•  ๋•Œ, ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ž๋™ ํƒ€์ž… ๋ณ€ํ™˜ ๋Œ€์‹  ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ

3.14*10 // double * int ์ด๋ฏ€๋กœ int์ธ 10์ด double์ธ 10.0์œผ๋กœ ์ž๋™ํƒ€์ž…๋ณ€ํ™˜

8. ํ‚ค์ž…๋ ฅ(System.in, Scanner)

 

System.in // ํ‘œ์ค€ ์ž…๋ ฅ
ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ์ฝ๋Š” ์ž๋ฐ”์˜ ํ‘œ์ค€ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ
ํ‚ค ๊ฐ’์„ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ฆฌํ„ด // 1byte์ด๋ฏ€๋กœ ๋ฌธ์ž ์•„๋‹˜
๊ทธ๋Ÿฌ๋ฏ€๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌธ์ž ์ •๋ณด๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์Œ

Scanner ํด๋ž˜์Šค
System.in์—๊ฒŒ ํ‚ค๋ฅผ ์ฝ๊ฒŒ ํ•˜๊ณ , ๋‹ค์–‘ํ•œ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฆฌํ„ด
import java.util.Scanner; // ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์žˆ๋Š” ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๋ฏ€๋กœ import๋ฌธ ์„ ์–ธ ํ•„์š”, import๋ฌธ์ด ์—†์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ Scanner ํด๋ž˜์Šค๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์ฐพ์„ ์ˆ˜ ์—†์Œ
Scanner scanner = new Scanner(System.in); // scanner ๊ฐ์ฒด ์ƒ์„ฑ
์ž…๋ ฅ๋œ ํ‚ค ๊ฐ’์„ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜๋Š” ํ† ํฐ ๋‹จ์œ„๋กœ ์ฝ์Œ // ‘\t’, ‘\f’, ‘\r’, ‘ ‘, ‘\n’
next() // ๋‹ค์Œ ํ† ํฐ์„ ๋ฌธ์ž์—ด๋กœ ๋ฆฌํ„ด
nextLine() // \n์„ ํฌํ•จํ•˜๋Š” ํ•œ ์ค„์„ ์ฝ์–ด๋“ค์ธ ๋’ค, \n์„ ์ œ์™ธํ•œ ๋ฌธ์ž์—ด ๋ฆฌํ„ด, ์—”ํ„ฐํ‚ค ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
nextInt() // ๋‹ค์Œ ํ† ํฐ์„ intํ˜•์œผ๋กœ ๋ฆฌํ„ด
close() // ์‚ฌ์šฉ ์ข…๋ฃŒ

hasNext() // ํ˜„์žฌ ์ž…๋ ฅ๋œ ํ† ํฐ์ด ์žˆ์œผ๋ฉด true๋ฅผ ๋ฆฌํ„ด, ์•„๋‹ˆ๋ฉด ๋ฌดํ•œ์ • ๋Œ€๊ธฐ, ctrl+z ํ‚ค๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์ž…๋ ฅ ๋์ด๋ฏ€๋กœ false ๋ฆฌํ„ด

 

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— scanner๋ฅผ ๋‹ซ๋Š” ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ์ปดํŒŒ์ผ์‹œ์— ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ, ์‹คํ–‰ํ•˜๋Š” ๋ฐ๋Š” ํŠน๋ณ„ํžˆ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋‹ซํžŒ๋‹ค.

๊ฐœ๋ฐœ์ž๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์— Scanner ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค. Scanner ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑํ•ด๋„ ์ด๋“ค์€ ๋ชจ๋‘ ํ•˜๋‚˜๋ฟ์ธ System.in์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ ํ•œ ๊ตฐ๋ฐ์„œ close()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ Scanner ๊ฐ์ฒด๋ฅผ ๋‹ซ์•„๋ฒ„๋ฆฌ๋ฉด System.in๋„ ๋‹ซํ˜€๋ฒ„๋ ค ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋‚ด ๋‹ค๋ฅธ Scanner ๊ฐ์ฒด์—์„œ ํ‚ค ์ž…๋ ฅ์„ ๋ฐ›์„ ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

 

scanner.close();
scanner = new Scanner(System.in);

9. ์‹๊ณผ ์—ฐ์‚ฐ์ž

 

์‹ // ํ”ผ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ์ž๋กœ ์ด๋ฃจ์–ด์ง
์—ฐ์‚ฐ // ์ฃผ์–ด์ง„ ์‹์„ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด๋‚ด๋Š” ๊ณผ์ •
์—ฐ์‚ฐ์ž์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ์ƒ์‹์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋จ
๋‹จํ•ญ, ์ดํ•ญ, ์‚ผํ•ญ ์—ฐ์‚ฐ์ž์ˆœ
๋Œ€์ž…์—ฐ์‚ฐ์ž๊ฐ€ ๊ฐ€์žฅ ๋‚˜์ค‘
๊ด„ํ˜ธ๋Š” ์ตœ์šฐ์„ ์ˆœ์œ„
์ผ๋ฐ˜์ ์œผ๋กœ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์—ฐ์‚ฐ

์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋™์ผํ•˜๋ฉด ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ, ์˜ˆ์™ธ์ ์œผ๋กœ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ฐ์‚ฐ์ž๋„ ์žˆ์Œ


์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž
์˜ค์น™ ์—ฐ์‚ฐ(+, -, *, /, %), %๋Š” ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž

 

์ž๋ฐ”์—์„œ๋Š” ๋ฌธ์ž์—ด๊ณผ ๊ธฐ๋ณธ ํƒ€์ž…์˜ + ์—ฐ์‚ฐ์ด ์‹คํ–‰๋˜๋ฉด, ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด๋กœ ๋ฐ”๋€Œ๊ณ , ๋‘ ๋ฌธ์ž์—ด์ด ์—ฐ๊ฒฐ๋œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์ด ์ƒ์„ฑ๋จ

์ฆ๊ฐ ์—ฐ์‚ฐ์ž
1 ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ์‹œํ‚ค๋Š” ์—ฐ์‚ฐ์ž
์ „์œ„, ํ›„์œ„ ์—ฐ์‚ฐ์ž์— ๋”ฐ๋ผ ์—ฐ์‚ฐ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค. // ++a;๋Š” +1 ๋จผ์ €, a++;์€ +1 ๋‚˜์ค‘

๋Œ€์ž… ์—ฐ์‚ฐ์ž // ์˜ค๋ฅธ์ชฝ ๊ฐ’์„ ์™ผ์ชฝ์— ๋Œ€์ž…
๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž // ์˜ค๋ฅธ์ชฝ์— ๋Œ€์ž… ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๋‹ค. ex) +=
๋Œ€์ž… ์—ฐ์‚ฐ์ž, ์ฆ๊ฐ์—ฐ์‚ฐ์ž์˜ ์‚ฌ์šฉ -> ํ—ท๊ฐˆ๋ฆผ // ๋ฐ˜๋“œ์‹œ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค์„œ ์ƒ๊ฐํ•ด๋ณด๊ธฐ


๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž 
! not // true์ด๋ฉด false
&& and // ๋‘˜๋‹ค true์—ฌ์•ผ true
|| or // ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ true์—ฌ๋„ true
^ xor //  ์„œ๋กœ ๋‹ฌ๋ผ์•ผ true

 

๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ์ขŒํ•ญ์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ์Œ
๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์˜ ๋ณตํ•ฉ์‚ฌ๋ก€์—์„œ ์ˆ˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ // ๋ฌธ๋ฒ• ์˜ค๋ฅ˜

์กฐ๊ฑด ์—ฐ์‚ฐ์ž // ํ•จ์ถ•์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์€ ์ฝ”๋“œ

๋น„ํŠธ ์—ฐ์‚ฐ์ž // ๋น„ํŠธ ๋‹จ์œ„๋กœ ์—ฐ์‚ฐ, ๋น„ํŠธ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ๊ณผ ๋น„ํŠธ ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์ด ์žˆ์Œ
๋น„ํŠธ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž &, |, ~, ^ // ์—ฐ์‚ฐ์ž 1๊ฐœ๋งŒ ์”€

๋น„ํŠธ ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์ž  >>, >>>, << // a >> 2 ์˜ค๋ฅธ์ชฝ์œผ๋กœ 2๊ฐœ ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์ด๋ฉด ์˜ค๋ฅธ์ชฝ 2๊ฐœ์˜ ๋น„ํŠธ๋ฅผ ์—†์•ค๋‹ค.

๋น„ํŠธ ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋Š” byte, short, int, long, char ํƒ€์ž…๋งŒ ๊ฐ€๋Šฅํ•˜๊ณ , float, double, boolean์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

<< ์—ฐ์‚ฐ์ž์˜ ๊ฒฝ์šฐ ์Œ์ˆ˜(์ตœ์ƒ์œ„ ๋น„ํŠธ๊ฐ€ 1)๋ฅผ ์‹œํ”„ํŠธํ•˜์—ฌ ์ตœ์ƒ์œ„ ๋น„ํŠธ๊ฐ€ 0์ธ ์–‘์ˆ˜๊ฐ€ ๋˜๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜

 

byte, short, char ํƒ€์ž…์— ๋Œ€ํ•ด์„œ๋Š” ์‹œํ”„ํŠธ ์‹œ intํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ์—ฐ์‚ฐ์ด ์ผ์–ด๋‚˜๋ฏ€๋กœ ์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ

10. ์กฐ๊ฑด๋ฌธ

 

๋‹จ์ˆœ if๋ฌธ // if(์กฐ๊ฑด์‹) {์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ์‹คํ–‰๋  ๋ฌธ์žฅ}
if-else๋ฌธ // if() {} else {}
๋‹ค์ค‘ if-else๋ฌธ // if() {} else if() {} else {}
์ค‘์ฒฉ if-else๋ฌธ // if() { if() {} else {} } else {}
if๋ฌธ์—์„œ ๋ธ”๋ก{}์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ๊ณผ ๊ด€๋ จ๋˜์–ด ์‹คํ–‰๋จ

 

๋‹ค์ค‘ if-else๋ฌธ์€ switch๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์ข‹์Œ // ๋œ ํ—ท๊ฐˆ๋ฆผ

 

switch๋ฌธ //

switch(์‹){
  case ๊ฐ’1:
    ์‹คํ–‰๋ฌธ์žฅ1;
    break;
  case ๊ฐ’2:
    ์‹คํ–‰๋ฌธ์žฅ2;
    break;

  default:
    ์‹คํ–‰๋ฌธ์žฅn;
}

 

default๋ฌธ์€ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์‹คํ–‰ ๋ฌธ์žฅ์€ { }๋กœ ๋‘˜๋Ÿฌ์‹ธ์ง€ ์•Š๋Š”๋‹ค.

case ๊ฐ’์„ ํ•œ๋ฒˆ๋งŒ ๊ฒ€์‚ฌํ•˜๋ฏ€๋กœ break;๋ฌธ์ด ์—†๋‹ค๋ฉด break;๋ฌธ์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์‹คํ–‰๋ฌธ์žฅ๋“ค์„ ๊ณ„์† ์‹คํ–‰ํ•œ๋‹ค.

 

case๋ฌธ์˜ ๊ฐ’์—๋Š” ๋ณ€์ˆ˜๋‚˜ ์‹์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ // case a:  case a > 3:
case๋ฌธ์˜ ๊ฐ’์€ ์‹ค์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ // ์ •์ˆ˜, ๋ฌธ์ž, ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด๋งŒ ๊ฐ€๋Šฅ
byte, short, int, char, String // ๊ฐ€๋Šฅ
long, float, double // ๋ถˆ๊ฐ€๋Šฅ, long์€ ์ •์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด ์ค‘์—์„œ ์œ ์ผํ•˜๊ฒŒ ์•ˆ๋˜๋Š” ํƒ€์ž…

 

728x90