JavaRush /Java Blog /Random-KO /Java์˜ Break ๋ฌธ
iloveski
๋ ˆ๋ฒจ 37
ะœะพัะบะฒะฐ

Java์˜ Break ๋ฌธ

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๋ชจ๋“  ๋™๋ฃŒ๋“ค๊ณผ ๋‹จ์ˆœํžˆ ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์•ˆ๋…•ํ•˜์„ธ์š”.
Java์˜ Break ๋ฌธ - 1
์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” break ์—ฐ์‚ฐ์ž์™€ ๊ฐ™์€ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ธฐ๋Šฅ์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ „ํ™˜ ์—ฐ์‚ฐ์ž ์ฃผ์ œ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ๊ธฐ์‚ฌ์ด๋ฏ€๋กœ ๋งˆ์Œ์— ๋“œ์‹œ๋ฉด ๋” ์ž‘์„ฑํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ๋Š” ์ฃผ๋กœ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๊ณ ๊ธ‰ ํ•™์ƒ๋“ค์€ ์—ฌ๊ธฐ์—์„œ ์Šค์Šค๋กœ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์ฐพ์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์„ ์ฆ‰์‹œ ์ง€์ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ž, ๊ฐ€์ž. Java์—๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์ด ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค: ์ ํ”„ ๋ฌธ๊ณผ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜. ์ž๋ฐ”์—๋Š” ์„ธ ๊ฐ€์ง€ ์ ํ”„ ์—ฐ์‚ฐ์ž(break, continue, return)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์šด์˜์ž๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค break. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ์ด ๊ธฐ์‚ฌ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. java์—์„œ๋Š” break๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ์ด์ž ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ break๋ฃจํ”„๋ฅผ ์กฐ๊ธฐ์— ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
public class SimpleExample {
    public static void main(String[] args) {
        findNumberInLoop(3);
    }
    public static void findNumberInLoop(int number){
        for (int i = 0; i < 10; i++) {
            if (i == number) {
                break;
            }
            System.out.println(i);
        }
        System.out.println("cycle was finished");
    }
}
์ด ์˜ˆ๋Š” ๋‹ค์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:
1
2
cycle was finished
์ด๋Š” ๋ฃจํ”„ ์นด์šดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ฆ‰ ์ˆซ์ž 3๊ณผ i๋™์ผํ•ด์ง€๋ฉด ๋ฃจํ”„ ์‹คํ–‰์ด ์กฐ๊ธฐ ์ข…๋ฃŒ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. numberํ”„๋กœ๊ทธ๋žจ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ค‘์ฒฉ ๋ฃจํ”„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ€์žฅ ์•ˆ์ชฝ ๋ฃจํ”„์—์„œ๋งŒ ์ถœ๋ ฅ์„ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ:
public class SimpleExample {
    public static void main(String[] args) {
        findNumberInLoop(3);
    }
    public static void findNumberInLoop(int number){
        for(int i = 0; i < 5; i++) {
            for (int j =0; j < 10; j++) {
                if(j == number) {
                    break;
                }
                System.out.print(j);
            }
            System.out.println();
        }
        System.out.println("cycles was finished");
    }
}
์ด ์˜ˆ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
012
012
012
012
012
cycles was finished
์˜ˆ์ œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๋‚ด๋ถ€ ๋ฃจํ”„๋Š” 3๋ฒˆ(ํŒŒ๋ผ๋ฏธํ„ฐ number)์—์„œ ๋งค๋ฒˆ ์ค‘๋‹จ๋˜๊ณ , ์™ธ๋ถ€ ๋ฃจํ”„๋Š” ์˜๋„ํ•œ ๋Œ€๋กœ 5๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Java์—์„œ๋Š” ๋ฃจํ”„ ๋‚ด์—์„œ ๋‘˜ ์ด์ƒ์˜ break ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ๊ตฌ์กฐ๊ฐ€ ํฌ๊ฒŒ ์ €ํ•˜๋˜๋ฏ€๋กœ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์šฉ๋„๋Š” breakBranch์˜ ๋ช…๋ น๋ฌธ ์‹คํ–‰์„ ์ค‘๋‹จํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค switch. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
public class SimpleExample {
    public static void main(String[] args) {
        square(2);
    }

    public static void square(int number){
        switch (number){
            case 1:
                System.out.println(number*number);
                break;
            case 2:
                System.out.println(number*number);
                break;
            case 3:
                System.out.println(number*number);
                break;
        }
        System.out.println("after switch");
    }
}
์ด ์˜ˆ์ œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถœ๋ ฅ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
4
after switch
break ๋ฌธ์€ ์ „์ฒด ๋ธ”๋ก ๋‹ค์Œ์— ์˜ค๋Š” ์ฝ”๋“œ์— ์ œ์–ด๋ฅผ ์ „๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค switch. ์ด ์˜ˆ์—์„œ breakin์„ ์ง€์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ :switch
public class SimpleExample {
    public static void main(String[] args) {
        square(2);
    }
    public static void square(int number){
        switch (number){
            case 1:
                System.out.println(number*number);
            case 2:
                System.out.println(number*number);
            case 3:
                System.out.println(number*number);
        }
        System.out.println("after switch");
    }
}
์ถœ๋ ฅ์€ ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
4
4
after switch
์ด๋Š” ๋ธ”๋ก์ด ์‹คํ–‰๋œ ํ›„ case 2ํ”„๋กœ๊ทธ๋žจ์ด ๋ชจ๋“  ํ›„์† ์ผ€์ด์Šค ๋ธ”๋ก์„ ๊ณ„์† ์‹คํ–‰ํ•˜์—ฌ ํ•ด๋‹น ์ถœ๋ ฅ์„ ์ œ๊ณตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ์šด์˜์ž์˜ ์ด ๊ธฐ๋Šฅ์ด switch ์šฐ๋ฆฌ์—๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
public class SimpleExample {
    public static void main(String[] args) {
        compare(2);
        compare(7);
        compare(12);
    }
    public static void compare(int number){
        switch (number){
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("number is less than 5 or equal 5");
                break;
            case 6:
            case 7:
            case 8:
            case 9:
                System.out.println("number is greater than 5");
                break;
            default:
                System.out.println("number is less than 0 or greater than 9");
        }
        System.out.println("after switch");
    }
}
์ด ํ”„๋กœ๊ทธ๋žจ์€ ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์ˆซ์ž 5์™€ ๋น„๊ตํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถœ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
after switch
number is greater than 5
after switch
number is less than 0 or greater than 9
after switch
๋ฉ”์„œ๋“œ๊ฐ€ ์ฒ˜์Œ ํ˜ธ์ถœ๋˜๋ฉด ์—ฐ์‚ฐ์ž๋Š” switch์ œ์–ด๊ถŒ์„ ์—ฐ์‚ฐ์ž์—๊ฒŒ ์ „๋‹ฌํ•œ case 2๋‹ค์Œ break์˜ ์—ฐ์‚ฐ์ž์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค case 5. ๋‘ ๋ฒˆ์งธ ํ˜ธ์ถœ์€ ์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ c ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค case 7. ์„ธ ๋ฒˆ์งธ ํ˜ธ์ถœ์—์„œ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์— ์ ํ•ฉํ•œ ๊ฐ’์„ ์ฐพ์ง€ ๋ชปํ•˜์—ฌ ์—ฐ์‚ฐ์ž๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค default. ์„ธ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ C ์—ฐ์‚ฐ์ž break๋Œ€์‹  ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๋ฅผ ์œ„ํ•ด ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉ ํ•˜์—ฌ ํ˜ธ์ถœ๋˜๋Š” gotoํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค . ์ด ์–‘์‹์€ ๋ ˆ์ด๋ธ”์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ”๋“œ ๋ธ”๋ก ์•ž์— ์˜ค๋Š” Java ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ์ ์ ˆํ•œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ์ฝ”๋“œ ๋ธ”๋ก์„ ๋ ˆ์ด๋ธ”๊ณผ ํ•จ๊ป˜ ์ ์šฉํ•œ ํ›„์—๋Š” ํ•ด๋‹น ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” ๋ธ”๋ก ๋‹ค์Œ ์œ„์น˜๋ถ€ํ„ฐ ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. breakbreakbreak ะผะตั‚ะบะฐ;break
public class SimpleExample {
    public static void main(String[] args) {
        howWeUseLabels(true);
        System.out.println();
        howWeUseLabels(false);
    }
    public static void howWeUseLabels(boolean bool) {
        firstBlock:{
            secondBlock:{
                thirdBlock:{
                    System.out.println("We will see it always");
                    if(bool) {
                        break secondBlock;
                    }
                    System.out.println("We won't see it if bool == true");
                }
                System.out.println("We won't see it if bool == true");
            }
            System.out.println("We will see it always");
        }
    }
}
์ด ์˜ˆ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถœ๋ ฅ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
We will see it always
We will see it always

We will see it always
We won't see it if bool == true
We won't see it if bool == true
We will see it always
์ฒซ ๋ฒˆ์งธ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํ›„ ์—ฐ์‚ฐ์ž๋Š” break๋ธ”๋ก ๋์œผ๋กœ ์ œ์–ด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ๋ฐ ๋ฅผ secondBlock์ข…๋ฃŒํ•˜๊ณ  ๋์—์„œ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค . ๋‘ ๋ฒˆ์งธ ํ†ตํ™” ํ›„์—๋Š” ๋ชจ๋“  ํšŒ์„ ์ด ํ™”๋ฉด์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ”์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฝ”๋“œ ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ๋งŒ ๋ ˆ์ด๋ธ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋Ÿฌํ•œ ์ฝ”๋“œ๋Š” ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. secondBlockthirdBlockprintln()firstBlock
public class SimpleExample {
    public static void main(String[] args) {
        label:{
            System.out.println("inside label");
        }
        if(true) {
            break label;
        }
        System.out.println("This is error");
    }
}
์ฝ”๋“œ ๋ฐ ๋ช…๋ น๋ฌธ์˜ ์ฒญ๊ฒฐ์„ฑ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ break: ๋ช…๋ น๋ฌธ์„ ๋งค์šฐ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ผ๋Š” ์กฐ์–ธ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค break. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด break๋ฃจํ”„๋ฅผ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฃจํ”„ ๋‚ด๋ถ€๋ฅผ ์‚ดํŽด๋ณด๋ฉฐ ํ•ด๋‹น ์ž‘์—…์˜ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋” ์งง์€ ๋ฃจํ”„์—์„œ๋Š” ๋” ์ž์‹ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ๊ธธ๊ณ  ๊นŠ๊ฒŒ ์ค‘์ฒฉ๋œ ๋ฃจํ”„์—์„œ๋Š” ๋” ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝํ—˜์  ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค break . ์ด๋Š” ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฒƒ์„ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์œ„์—์„œ ์“ด ๊ฒƒ์ฒ˜๋Ÿผ, break์ฝ”๋“œ โ€‹โ€‹์ „๋ฐ˜์— ๊ฑธ์ณ ๋งŽ์€ ์ˆ˜์˜ .๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž์‹ ์ด ์™œ ๊ทธ๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ์™„์ „ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฃจํ”„๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ๋ฃจํ”„๋กœ ๋‚˜๋ˆ„์–ด ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. break ๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” goto์ฝ”๋“œ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ด์ง€๋ฏ€๋กœ ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค . ์ด๊ฒƒ์ด ์ œ๊ฐ€ ์˜ค๋Š˜ Java์˜ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์€ ์ „๋ถ€์ž…๋‹ˆ๋‹ค break. ๋‚˜๋Š” ๊ฑด์„ค์ ์ธ ๋น„ํŒ์— ๊ธฐ๊บผ์ด ์‘ํ•  ๊ฒƒ์ด๋ฉฐ, ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋ฉด ์—ฐ์‚ฐ์ž continue๋ฐ ์— ๋Œ€ํ•œ ์—ฐ์† ๊ธ€์„ ์“ธ ์ค€๋น„๋„ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.return
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION