본문 바로가기

java

자바강의 3일차

1. 제어문 (조건문,반복문)

2. 배열

 * 지금까지 코드의 실행 흐름이 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었지만, 때로는 조건에 따라 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야 할 때가 있다. 이처럼 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들을 제어문이라고 한다.

 

 * 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다.

   1. 조건문 if (if, if-else, if-else if-else), switch

      - 조건문은 조건식과 문장을 포함하는 블록 {}으로 구성되어 있으며, 연산결과에 따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다.

      - 조건문은 if문과 switch문 두가지가 있으며 주로 if문이 많이 사용된다.

 

      1-1) if문

              - if문은 가장 기본적인 조건문이며, 조건식과 괄호{}로 이루어져 있다.

                   if(조건식) {

                             // 조건식이 참 (true)일 때 수행될 문장들을 적는다.

                   }

                 ==> 만일 if 조건식이 참이면 괄호 {} 안의 문장들을 수행해라.

                ① 조건식

                   - 조건식이란 참과 거짓을 판명할 수 있는 식

                   - if문에 사용되는 조건식은 일반적으로 비교연산자와 논리연산자로 구성된다.

                   - 조건식을 작성할 때 실수하기 쉬운 것이 등가비교연산자( == ) 대신 대입연산자 ( = )를 사용하는것

       

                ② 블록 {}

                   - 괄호 {}를 이용해서 여러 문장을 하나의 단위로 묶을 수 있는데 이것을 블록이라 한다.

                   - 블록은 { 은 시작해서 }로 끝나는데 } 다음에 ;를 붙이지 않는것을 주의하자.

 

   1-2) if-else     

 

   1-3)if-else if

 

 1-4)중첩 if

 

 1-5)switch

          - if문은 조건식의 결과가 참과 거짓 두가지 밖에 없기 때문에 경우의 수가 많아질수록 else if를 계속 추가해야 하며 조건식이 많아져서 복잡해지고, 여러개의 조건식을 계산하므로 처리시간도 많이 걸린다.

          - 이러한 if문과 달리 switch문은 단 하나의 표현식으로 많은 경우의 수를 처리할 수 있고 표현도 간결하므로 알아보기 쉽다.

① 표현식을 계산한다.

② 표현식의 결과와 일치하는 case문으로 이동한다.

③ 이후의 문장들을 수행한다.

④ break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.

 

예제1)

 

예제2)

 

 2. 반복문 for,while,do-while

        - 반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류는 for문과 while문, 그리고 while문의 변형인 do-while문이 있다.

        - for문이나 while문에 속한 문장은 조건에 따라 단 한번도 실행이 안 될수도 있으나, do-while은 최소한 한번의 수행이 보장된다.

 

    2-1)

        - for문은 반복 횟수를 알고 있을 때 적합하다.

            for(초기식;조건식;증감식) {

                   // 조건식이 참일 때 반복 수행할 문장

                }

=> 제일먼저 초기화가 수행되고, 그 이후부터는 조건식이 참인 동안 조건식 -> 수행될 문장 -> 증감식의 순서로 계속 반복된다. 그러다가 조건식이 거짓(false)가 되면 for문 전체를 빠져나가게 된다.

 

① 초기식

         - 반복문에 사용될 변수를 초기화하는 부분이며 처음에 한 번만 수행된다.

② 조건식

         - 조건식의 값이 참이면 반복을 계속하고, 거짓이면 반복을 중단하고 for문을 벗어난다.

         - 조건식을 잘못 작성하면 블록 {} 내의 문장이 한번도 수행되지 않거나 영원히 반복되는 무한루프 (infinite loop)에 빠지기 쉬우므로 주의해야 한다.

③ 증감식

         - 반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식이다.

         - 매 반복마다 변수의 값이 증감식에 의해서 점진적으로 변하다가 결국 조건식이 false가 되어 for문을 벗어나게 된다.

   

  * 향상된 for문 (enhancde for statement)

         - 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있도록 for문의 새로운 문법이 있는데 이를 향상된 for문이라고 한다.

 

        for(타입 변수명 : 배열 또는 컬렉션) {

                   // 반복할 문장

           }

   

         - 위의 문장에서 타입은 배열 또는 컬렉션의 요소의 타입이어야 한다.

         - 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽혀서 변수에 저장된다.

 

  2-2) while문

          - for문에 비해 while문의 구조는 간단하며 if문처럼 조건식과 블록만으로 이루어져 있다.

          - while문은 조건식이 참인동안, 즉 조건식이 거짓이 될 때까지 블록내의 문장을 반복한다.

                 while ( 조건식 ) {

                       // 반복 수행할 문장

                    }

   

   2-3) do-while문

                 do {

                           // 조건식의 결과가 참일 때 수행될 문장들을 적는다.

                          // 단, 한번은 무조건 실행된다.         

                 }while( 조건식 );

 

             - do-while문은 while문의 변형으로 기본적인 구조는 while문과 같으나 조건식과 블록의 순서를 바꿔놓은 것이다.

             - 즉, 블록을 먼저 실행한 후에 조건식을 평가한다.

 

   2-4) break

             - break문은 자신이 포함된 가장 가까운 반복문을 벗어나며 주로 if문과 함께 사용되어 특정 조건을 만족하면 벗어나도록 하게 하는 예약어이다.

 

   2-5) continue

              - continue문은 반복문 내에서만  사용될 수 있으며, 반복이 진행되는 도중에 continue를 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다.

              - for문의 경우는 증감식으로, while문과 do-while문의 경우는 조건식으로 넘어간다.

 

'java' 카테고리의 다른 글

자바강의 5일차  (0) 2024.01.10
자바강의 4일차  (0) 2023.12.30
자바강의 2일차  (1) 2023.12.27
자바강의 1일차  (0) 2023.12.24
자바의 정석 ch4  (1) 2023.12.24