๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Dev/Language

[Java] ์—ฐ์‚ฐ์ž, ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ

by haerr 2024. 10. 1.

Chapter! โœจ

๐Ÿ“‚ ์—ฐ์‚ฐ์ž (Operators)

1.1. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž (Arithmetic Operators)

์ˆซ์ž ๊ฐ’์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์ธ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰

์—ฐ์‚ฐ์ž ์„ค๋ช… ์˜ˆ์‹œ
+ ๋ง์…ˆ a + b
- ๋บ„์…ˆ a - b
* ๊ณฑ์…ˆ a * b
/ ๋‚˜๋ˆ—์…ˆ (๋ชซ) a / b
% ๋‚˜๋จธ์ง€ a % b

 

1.2. ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž (Relational Operators)

๋‘ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ฐธ(true) ๋˜๋Š” ๊ฑฐ์ง“(false)์„ ๋ฐ˜ํ™˜

์—ฐ์‚ฐ์ž ์„ค๋ช… ์˜ˆ์‹œ
== ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์ฐธ a == b
!= ๊ฐ’์ด ๋‹ค๋ฅด๋ฉด ์ฐธ a != b
> ์™ผ์ชฝ์ด ํฌ๋ฉด ์ฐธ a > b
< ์™ผ์ชฝ์ด ์ž‘์œผ๋ฉด ์ฐธ a < b
>= ์™ผ์ชฝ์ด ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์ฐธ a >= b
<= ์™ผ์ชฝ์ด ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์ฐธ a <= b

 

1.3. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž (Logical Operators)

๋…ผ๋ฆฌ์ ์ธ ํŒ๋‹จ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ฐธ ๋˜๋Š” ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜

์—ฐ์‚ฐ์ž ์„ค๋ช… ์˜ˆ์‹œ
&& AND: ๋‘ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ ์ฐธ a > 5 && b < 10
|| OR: ๋‘ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋งŒ ์ฐธ์ด์–ด๋„ ์ฐธ a > 5 || b < 10
! NOT: ์ฐธ์„ ๊ฑฐ์ง“์œผ๋กœ, ๊ฑฐ์ง“์„ ์ฐธ์œผ๋กœ !(a > 5)

 

1.4. ๋Œ€์ž… ์—ฐ์‚ฐ์ž (Assignment Operators)

๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹น

์—ฐ์‚ฐ์ž ์„ค๋ช… ์˜ˆ์‹œ
= ์˜ค๋ฅธ์ชฝ ๊ฐ’์„ ์™ผ์ชฝ์— ๋Œ€์ž… a = b
+= ๋”ํ•œ ๊ฐ’์„ ๋Œ€์ž… a += b
-= ๋บ€ ๊ฐ’์„ ๋Œ€์ž… a -= b
*= ๊ณฑํ•œ ๊ฐ’์„ ๋Œ€์ž… a *= b
/= ๋‚˜๋ˆˆ ๊ฐ’์„ ๋Œ€์ž… a /= b

 

๐Ÿซ™ ์กฐ๊ฑด๋ฌธ (Conditional Statements)

2.1. if ๋ฌธ

์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์šฐ์—๋งŒ ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰

if (์กฐ๊ฑด) {
    // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}

 

2.2. if-else ๋ฌธ

์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด if ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๊ณ , ๊ฑฐ์ง“์ด๋ฉด else ๋ธ”๋ก์„ ์‹คํ–‰

if (์กฐ๊ฑด) {
    // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰
} else {
    // ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰
}

 

2.3. else-if ๋ฌธ

์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•˜์—ฌ ์ฐธ์ธ ์กฐ๊ฑด์ด ์žˆ์„ ๋•Œ ๊ทธ์— ๋งž๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰

if (์กฐ๊ฑด1) {
    // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰
} else if (์กฐ๊ฑด2) {
    // ์กฐ๊ฑด2๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰
} else {
    // ์œ„ ์กฐ๊ฑด์ด ๋ชจ๋‘ ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰
}

 

2.4. switch ๋ฌธ

๋ณ€์ˆ˜์˜ ๊ฐ’์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ์‹คํ–‰

switch (๋ณ€์ˆ˜) {
    case ๊ฐ’1:
        // ๊ฐ’1์ผ ๋•Œ ์‹คํ–‰
        break;
    case ๊ฐ’2:
        // ๊ฐ’2์ผ ๋•Œ ์‹คํ–‰
        break;
    default:
        // ์–ด๋–ค ๊ฐ’๋„ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰
}

 

๐Ÿ”„ ๋ฐ˜๋ณต๋ฌธ (Loops)

3.1. for ๋ฌธ

๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•  ๋•Œ ์‚ฌ์šฉ

for (์ดˆ๊ธฐ๊ฐ’; ์กฐ๊ฑด; ์ฆ๊ฐ์‹) {
    // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ
}

 

์˜ˆ์‹œ:

for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

 

3.2. while ๋ฌธ

์กฐ๊ฑด์ด ์ฐธ์ธ ๋™์•ˆ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต(์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด ๋  ๋•Œ๊นŒ์ง€)

while (์กฐ๊ฑด) {
    // ์กฐ๊ฑด์ด ์ฐธ์ธ ๋™์•ˆ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ
}

 

3.3. do-while ๋ฌธ

์กฐ๊ฑด์„ ๋‚˜์ค‘์— ๊ฒ€์‚ฌํ•˜์—ฌ, ์ตœ์†Œ ํ•œ ๋ฒˆ์€ ๋ฌด์กฐ๊ฑด ์‹คํ–‰๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ

do {
    // ์ผ๋‹จ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} while (์กฐ๊ฑด);

 

3.4. for-each ๋ฌธ

๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ฐ˜๋ณตํ•  ๋•Œ ์‚ฌ์šฉ

for (์ž๋ฃŒํ˜• ๋ณ€์ˆ˜ : ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜) {
    // ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}

 

์˜ˆ์‹œ:

int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
    System.out.println(num);
}