Skip to content

Latest commit

ย 

History

History
173 lines (122 loc) ยท 5.15 KB

File metadata and controls

173 lines (122 loc) ยท 5.15 KB

์ œ์–ด๋ฌธ

1. ์กฐ๊ฑด๋ฌธ

Switch

ํŠน์ • ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์— ๋”ฐ๋ผ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์„ ํƒํ•˜๋Š” ๊ตฌ๋ฌธ์œผ๋กœ switch๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ๋ฒ•์€ C/C++์™€ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.

public class example {
    public static void main(String[] args) {
        String select = "ORANGE";
        String fruit;

        switch(select){
            case "APPLE" :
                fruit = "apple";
                System.out.println("์‚ฌ๊ณผ");
                break;
            case "BANANA" :
                fruit = "banana";
                System.out.println("๋ฐ”๋‚˜๋‚˜");
                break;
            case "ORANGE" :
                fruit = "orange";
                System.out.println("์˜ค๋ Œ์ง€");
                break;
            default:
                fruit = "default";
                System.out.println("default");
                break;
        }
        System.out.println(fruit);
    }
}

switch() ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  case : ๋ฅผ ์ด์šฉํ•ด ๊ฐ’์— ๋”ฐ๋ผ ๊ตฌ๋ฌธ์„ ๊ตฌ๋ถ„ํ•˜๋ฉด ๋œ๋‹ค.

  • String์ด๋‚˜ ,Integer๊ณผ ๊ฐ™์€ Wrapperํƒ€์ž…์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  • case์˜ ๊ฐ’์—๋Š” ๋ฆฌํ„ฐ๋Ÿด ์ด๋‚˜ ์ƒ์ˆ˜๊ฐ€ ์™€์•ผ ํ•˜๊ณ  ์ค‘๋ณตํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

Java 12๋ฒ„์ „ ์ดํ›„์— case ->๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์—…ํ•  ๊ตฌ๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ  break๋ฅผ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.

๋˜ํ•œ, ->์™€ yield๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Switch๋„ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.
case์— ๋”ฐ๋ผ ํŠน์ • ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ์—๋Š” ์œ„์˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ์™ธ๋ถ€์˜ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋น„์Šทํ•œ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ๋‹จ์ ์ด ์กด์žฌํ–ˆ๋Š”๋ฐ ์‰ฝ๊ฒŒ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

public class example {
    public static void main(String[] args) {
        String select = "ORANGE";
        String fruit;

        fruit = switch(select){
            case "APPLE" -> {
                System.out.println("์‚ฌ๊ณผ");
                yield "apple";
            }
            case "BANANA" -> {
                System.out.println("๋ฐ”๋‚˜๋‚˜");
                yield "banana";
            }
            case "ORANGE" -> {
                System.out.println("์˜ค๋ Œ์ง€");
                yield "orange";
            }
            default -> {
                System.out.println("์—†์Œ");
                yield "default";
            }
        };
        System.out.println(fruit); //orange
    }
}

yield๋Š” case๋ฌธ์—์„œ ํ‚ค์›Œ๋“œ๋กœ ์‚ฌ์šฉ๋˜์ง€๋งŒ ๋ณ€์ˆ˜ ๋ช…์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

int yield = 10; //error๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค.

if๋ฌธ

if() ๊ด„ํ˜ธ์•ˆ์˜ ์˜ค๋Š” ๋ฐ์ดํ„ฐ(๊ตฌ๋ฌธ์˜ ๋ฐ˜ํ™˜ ๊ฐ’)์€ booleanํ˜•์œผ๋กœ true์ผ ๋•Œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌธ๋ฒ•

int i = 10;
if(i == 1){
    System.out.println("1");
} else if( i > 1 && i < 7) {
    System.out.println("2์ด์ƒ 6์ดํ•˜");
}
else {
    System.out.println("7์ด์ƒ");
}

2. ๋ฐ˜๋ณต๋ฌธ

for

for(int i=0; i < 10; i++){
    System.out.print(i+ " ");
}

//0 1 2 3 4 5 6 7 8 9

๊ธฐ๋ณธ for๋ฌธ์€ ๊ด„ํ˜ธ ์•ˆ์— ๊ตฌ๋ฌธ์€ 3๊ฐ€์ง€๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ดˆ๊ธฐ์‹, ์กฐ๊ฑด ์‹, ์ฆ๊ฐ ์‹ ์œผ๋กœ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

for-each๋ฌธ

for(int i : new int[]{0,1,2,3,4,5,6,7,8,9}){
            System.out.print(i+ " ");
}

//0 1 2 3 4 5 6 7 8 9

์กฐ๊ฑด์‹์ด ์•„๋‹Œ ๋ณ€์ˆ˜ํƒ€์ž… ๋ณ€์ˆ˜๋ช… : ๋ฐฐ์—ด/์ปฌ๋ ‰์…˜์„ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ๋ ˆํผ๋Ÿฐ์Šค ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. (์ปฌ๋ ‰์…˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ์š”์†Œ๋“ค์„ ์ฝ์–ด์˜ค๊ธฐ ์œ„ํ•œ Iterator๋ฅผ ํ†ตํ•ด ์กฐํšŒ๋ฅผ ํ•œ๋‹ค.)

Iterator

๋ฐ˜๋ณต๋ฌธ๊ณผ๋Š” ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์€ ์—†๋Š” ๋‚ด์šฉ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚˜์˜จ๊น€์— ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

Collection์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ๋“ค์„ ์กฐํšŒ ํ•˜๋Š” ๋ฐ ์žˆ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฐฉ๋ฒ•์„ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ œ๊ณตํ•ด์ค€๋‹ค. (๋‹คํ˜•์„ฑ)

๋ฉ”์„œ๋“œ

  • hasNext() : ๋‹ค์Œ ์š”์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์ฒดํฌ (์žˆ๋‹ค๋ฉด true)

  • next() : ๋‹ค์Œ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜

  • remove() : next()๋กœ ์ฝ์€ ์š”์†Œ๋ฅผ ์‚ญ์ œ

๋ฐฐ์—ด/์ปฌ๋ ‰์…˜์— ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋ช…์‹œ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ž์˜ ๋ณ€์ˆ˜ํƒ€์ž…์„ varํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์ž…์ถ”๋ก ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

C++์˜ for(auto : )๊ตฌ๋ฌธ๊ณผ ๋น„์Šทํ•˜๋‹ค.

while

C/C++๊ณผ while๋ฌธ์€ ๋™์ผํ•˜๊ณ  while()๊ด„ํ˜ธ์•ˆ์˜ ์กฐ๊ฑด์‹์ด true์ด๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๊ฒŒ๋œ๋‹ค.

3. ๋ถ„๊ธฐ๋ฌธ

break

๊ธฐ๋ณธ switch๋ฌธ์—์„œ ์“ฐ์ธ๋‹ค๋ฉด ๊ฐ case ๊ตฌ๋ฌธ์„ ์ค‘๋‹จํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ์œผ๋กœ break๊ฐ€ ์—†๋‹ค๋ฉด ๋‹ค์Œ case๊ฐ€ ์ด์–ด์„œ ์‹คํ–‰์ด๋œ๋‹ค.

๋ฐ˜๋ณต๋ฌธ์—์„œ ์“ฐ์ธ๋‹ค๋ฉด ํ˜„์žฌ ์ฝ”๋“œ ๋ธ”๋Ÿญ( {} )์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค.

continue

while์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉฐ for๋ฌธ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค์Œ ๊ตฌ๋ฌธ์€ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ฆ๊ฐ ์‹์„ ํ•œ๋ฒˆ ์ˆ˜ํ–‰ ํ›„ ์‹œ์ž‘ํ•œ๋‹ค.

์„ค๋ช…์ด ์• ๋งคํ•œ๋ฐ ํ•œ๋งˆ๋””๋กœ ๋ฐ˜๋ณต๋ฌธ ์ค‘ conitnue๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์˜ ๊ฐ€์žฅ ๋์œผ๋กœ ๊ฐ€๋Š” ๋А๋‚Œ์ด๋‹ค.

return

๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฉ”์„œ๋“œ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ตฌ๋ฌธ



live-study ๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ

https://gist.github.com/gowoonsori/409d7f2b3d79f75bbe566d760502e9db