ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA의 제어문
    자바 2016. 7. 15. 02:31


    제어문은 위에서 순차적으로 실행되는 코드의 흐름을 바꿔야 할 필요가 있을 때 사용된다. 조건을 걸어 코드가 실행되거나 실행되지 않게 하는것이 조건문, 특정 행위를 여러번 해야할 때 사용되는것이 반복문이다.

    조건문에는 if, else, else if, switch가 반복문에는 for, while, do while문이 있다.

    1. if


    if를 사용하고 조건식을 집어넣는다. 조건식은 true 혹은 false가 나오도록 해야한다.

    if 안에 수행될 코드가 한줄이면 블럭을 감싸도 되지 않지만 아무리 한줄이라도 블럭을 감싸는걸 추천한다.


    2. else

    else 또한 마찬가지로 수행될 코드가 한줄이면 블럭을 생략할 수 있다.


    3. else if

    else if는 몇개를 붙여도 되지만 이렇게 될 경우 코드가 너무 길어지는 경향이 있다. else if를 많이 사용되는 코드는 switch로 바꾸는것이 보기가 좋다.


    4. 중첩된 if문 그리고 Dangling else 문제

    if문 안에 if, else를 넣게될 경우 아래와 같은 상황을 조심해야한다.

    들여쓰기를 보면 아래에 있는 else는 첫줄의 if와 연동되어 수행될것같지만 바로 위에있는 if와 연동되어 수행된다. 이 상황을 보통 Dangling else라고 하고 이 상황을 피하기 위해 아무리 한줄이라하여도 if문에 블럭을 주는것이 좋은 습관이다.


    5. switch

    if - else if 문을 여러번 사용할 경우 조건식을 확인하기 위해 여러번 비교를 하고 코드의 가독성도 떨어져간다. 이러한것을 방지하기 위해 switch문을 사용한다.

    처음 조건식을 계산한 뒤 나온 값에 따라 하나의 case문에 들어가게 된다. 그 후 코드를 수행한 뒤 break;문을 만나면 switch문을 빠져나오게 된다. 아무 조건식에도 맞지 않다면 default문을 수행을 하고 default문에 수행할 것이 없다면 작성하지 않아도 된다.

    switch 문의 조건식에 들어가는 계산은 결과로 정수 혹은 문자열이 나와야 한다. case 에 들어가는 값 또한 정수 혹은 문자열(문자열 상수) 그리고 정수취급하는 상수가 나와야 한다.

    switch 문 또한 case 안에 다시 switch문을 넣는 중첩을 할 수 있지만 이 경우 새로 작성하는 switch문의 break때문에 기존 case의 break를 잊지 않도록 한다


    6. for 

    for문은 반복 횟수를 알거나 반복 횟수를 이용하려고 할 때 자주 사용하는 반복문이다.

    위의 코드는 for문을 시작할 때 i라는 int형 변수를 0으로 초기화하고 i가 5보다 미만일 경우 아래 반복문을 시행하도록 조건을 주었다.. 그리고 시행이 끝나면 i++를 수행한 뒤에 다시 조건식을 계산해서 참이면 계속 수행하고 거짓이면 for문을 빠져나온다.

    초기화, 조건식, 증감식은 여러 방식으로 생략하거나 2개 이상을 넣거나 할 수 있다.

    향상된 for문은 배열이나 컬렉션을 for문에서 더 이용하기 쉽게 만들어진것이다.


    7. while

    while문은 반복 횟수보다 특정 조건에 의해 반복할 때 자주 쓰인다.

    do while문은 조건식을 한번의 루프가 끝났을 때 검사하므로 적어도 한번은 동작이 보장된다는 점이 보통 while문과는 다르다.


    8. break와 continue

    switch에서 본 break는 가까운 블럭을 나온다는 의미로 이해하면 편하다.

    break는 반복 횟수가 아닌 특정 이벤트를 이용하여 반복문을 나올 때 많이 쓰인다.

    continue문은 반복문에서 만날경우 해당 loop를 멈추고 다음 loop의 반복문을 실행할 때 쓰인다.

    해당 코드를 실행하면 반복횟수가 0,1,2,4 일 때 실행이 되겠지만 3일때는 print가 되지 않을것이다.

    그리고 반복문이 중첩될 경우에서 break로 손쉽게 원하는 반복문을 빠져나오고 싶을 때는 반복문에 이름을 붙여주면 된다.



    본 포스팅은 자바의 정석(남궁성)을 보고 정리하였습니다.

Designed by Tistory.