본문 바로가기

와사비크래커 IT Tip/언어

[JAVA] 조건문과 반복문

728x90
반응형

1     조건문과 반복문

1.1    조건문

-      조건문은 조건식과 문장을 포함하는 블럭{ }으로 구성되어 있으며, 조건식의 연산 결과에 따라 프로그램의 실행 흐름을 변경할 수 있다. 처리해야할 경우의 수가 많을 때는 switch문을 사용해서 표현할 수 있는지 살펴봐야 한다.

-      모든 switch문은 if문으로 변경이 가능하지만, 모든 if문이 switch문으로 변경 가능한 것은 아니다.

1.1.1     if문

-      가장 일반적으로 사용되는 조건문이며, 기본 구조는 다음들과 같다.

-      if문에는 if, if-else, if-else if, 세가지 형태가 존재하며 조건식의 연산 결과에 따라 실행될 문장 또는 블록이 달라진다.

if문

1.1.2     중첩 if문

-       if문 안에 또 다른 if문을 중첩해서 넣을 수 있다.

-       if문의 중첩횟수에는 거의 제한이 없다.

중첩 if문

1.1.3     switch문

-       if문의 조건식과 달리, 조건식의 계산결과가 int범위 이하의 정수만 가능

-       조건식의 계산결과와 일치하는 case문으로 이동 후 break문을 만날 때까지 문장들을 수행한다(break문이 없으면 switch문의 끝까지 진행한다.)

-       일치하는 case문의 값이 없는 경우 default문으로 이동한다.

-       case문의 값으로 변수를 사용할 수 없다.

-       switch문은 항상 if문으로 변환이 가능하지만 if문은 switch문으로 작성할 수 없는 경우가 많다.

switch문

1.2    반복문

-       어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 종류로는 for, while, do-while문이 있다.

-       반복회수가 중요한 경우에 for문을 그 외에는 while문을 사용한다.

-       for문과 while문은 서로 변경 가능하다.

-       do-while문은 while문의 변형으로 블럭{ }이 최소한 한 번은 수행될 것을 보장한다.

반복문

1.2.1     for문

-       초기화, 조건식, 증감식 그리고 수행할 블럭{ } 또는 문장으로 구성된다.

-       실행순서는 아래와 같다.

For문 실행 순서

   초기화는 처음에만 한번 수행되고, 그 이후부터 조건식을 만족하는 한 2->3->4의 순서로 계속 반복되다가 조건식의 결과가 false가 되면, for문 전체를 빠져나가게 된다. 초기화, 조건식, 증감식은 모두 생략이 가능하며, 조건식이 생략되면 true로 간주된다.

1.2.2     while문

-       for문과는 달리, 조건식과 수행해야 할 블록{ }만으로 구성되어 있지만 카운터로 사용할 변수와 증감식을 함께 사용함으로써 for문과 같이 구성할 수 있다.

-       실행횟수를 정확히 판단하기 어려운 경우에 많이 사용된다.

while문

1.2.3     do- while문

-      while문의 변형으로 기본적인 구조는 while문과 같으나 블럭{ }이 먼저 수행한 후에 조건식을 판단하는 것이 while 과의 유일한 차이점이다.

do- while문

-      while문은 조건식의 결과에 따라 한 번도 수행되지 않을 수 있지만, do-while문은 최소한 한번은 수행될 것을 보장한다.

 

1.2.4     break문

-      자신이 포함된 하나의 반복문 또는 switch문을 빠져 나온다.

-      주로if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다.

 

1.2.5     continue문

-      자신이 포함된 반복문의 끝으로 이동한다. (다음 반복으로 넘어간다.)

-      continue문 이후의 문장들은 수행되지 않는다.

 

 

반응형

'와사비크래커 IT Tip > 언어' 카테고리의 다른 글

[JAVA] 객체지향 프로그래밍  (0) 2020.09.01
[JAVA] 배열  (0) 2020.09.01
[JAVA] 연산자  (0) 2020.08.31
[JAVA] 변수  (0) 2020.08.27
[JAVA] JAVA의 소개  (0) 2020.08.27