사용자 도구

사이트 도구


study:java:javachobo

문서의 이전 판입니다!


자바의 정석

조건문과 반복문

  1. 조건문은 조건식과 문장을 포함하는 블럭{}으로 구성되어 있으며, 조건식의 연산결과에 따라 실행될 문장을 달리 할 수 있다.
  2. 처리해야할 경우의 수가 많을 때는 switch문을 사용해서 표현할 수 있는지 살펴봐야 한다.
  3. <color blue>모든 switch문은 if문으로 변경이 가능하지만, 모든 if문이 switch문으로 변경 가능한 것은 아니다. </color>
  1. 반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류로는 for문과 while문, do-while문이 있다.
  2. for문이나 while문에 속한 문장은 조건에 따라 한 번도 수행되지 않을 수 있지만 do-while문에 속한 문장은 최소한 한 번 이상 수행될 것을 보장한다.
  3. 반복문은 주어진 조건을 만족하는 동안 주어진 문장들을 반복적으로 수행하므로 조건식을 포함하며
    switch문을 제외한 if, for, while문에 사용되는 조건식은 연산결과가 반드시 boolean형, 즉 true 또는 false이어야 한다.
  4. <color blue> C언어에서는 true와 false이외의 값도 허용한다. </color>
  5. for문과 while문은 구조와 기능이 유사하여 어느 경우에나 서로 변환이 가능하기 때문에
    반복문을 작성해야할 때 for문과 while문 중 어느 쪽을 선택해도 좋으나
    <color violet>for문은 주로 반복횟수를 알고 있을 때, 그리고 카운터가 반복문 내에 필요한 경우에 사용되고</color>, <color green>단순히 조건에 따른 반복만이 필요한 경우 while문을 사용하도록 한다</color>.
  6. <color blue>조건식을 잘못 작성하면, 한번도 수행되지 않거나 무한히 반복하게 되므로 주의해야한다.</color>

IF 조건문

  1. if 다음에 오는 조건식에는 연산의 최종결과 값이 true 또는 false인 수식만을 사용할 수 있다.
    조건식의 결과가 false이면, 블럭{} 내의 문장이 실행되지 않는다.
  2. <color blue> C언어에서는 조건식의 최종결과 값으로 true 또는 false 이외의 값을 허용하지만, 자바에서는 이를 허용하지 않는다. </color>
  3. 기본구조
    if (조건식1) { 
          // 조건식1의 연산결과가 true일 때 수행될 문장들을 적는다. 
    } else if (조건식2) { 
          // 조건식2의 연산결과가 true일 때 수행될 문장들을 적는다. 
    } else if (조건식3) {       // 여러 개의 else if를 사용할 수 있다. 
          // 조건식3의 연산결과가 true일 때 수행될 문장들을 적는다. 
          //... 
    } else {       // 보통 else블럭으로 끝나며, else블럭은 생략이 가능하다. 
          // 위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다. 
    } 
  4. 블럭{}은 여러 개의 문장을 하나로 묶기 위해 사용되는 것이며, 함수, 조건문, 반복문 등에 사용된다.
  5. 조건문과 반복문에서는 수행될 문장이 하나인 경우 블럭을 생략할 수 있으나, 가능하면 생략 않고 사용하는 것이 바람직하다.
    수행될 문장이 한 문장이라서 블럭을 생략하고 적었을 때, 나중에 새로운 문장들이 추가되면 블럭으로 문장들을 감싸 주어야 하는데
    이 때 블럭을 추가하는 것을 잊기 쉽기 때문이다.
    그리고, 여러 개의 if문이 중첩되어 사용되었을 때 if문과 else블럭의 관계가 의도한 바와 다르게 형성될 수도 있다.

SWITCH 조건문

  1. 기본구조
    switch (조건식) { 
          case1 : 
                // 조건식의 결과가 값1과 같을 경우 수행될 문장들 
                //... 
                break; 
          case2 : 
                // 조건식의 결과가 값2와 같을 경우 수행될 문장들 
                break; 
                //... 
          //... 
          default : 
                // 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들 
                //... 
    } 
  2. switch문의 조건식은 연산결과가 int형 범위의 정수값이어야한다.
    byte, short, char, int 타입의 변수나 리터럴을 사용할 수 있다.
    그리고, case문에는 반드시 상수값만을 허용한다.
    변수는 허용되지 않으므로 유의해야한다.
  3. switch문의 조건식을 먼저 계산한 다음, 그 결과와 일치하는 case문으로 이동하다.
    이동한 case문 이하에 있는 문장들을 수행하며, break문을 만나면 전체 switch문을 빠져나가게 된다.
    만일 case문 아래에 break문을 생략하면, 다른 break문을 만나거나 switch문 블럭의 끝을 만날 때까지 나오는 모든 문장들을 수행한다.

반복문 (for , while , do-while)

study/java/javachobo.1263988822.txt.gz · 마지막으로 수정됨: 2010/01/20 21:00 저자 starlits