코딩항해기

[JAVA] 제어문 (조건문, 반복문, 기타제어문) 본문

JAVA

[JAVA] 제어문 (조건문, 반복문, 기타제어문)

miniBcake 2024. 6. 26. 17:09

 

제어문, 흐름제어문

프로그램의 흐름(제어방향)을 제어할 때 사용한다.

조건문, 반복문, 기타제어문이 있다.

 

 

[조건문] if, switch

조건에 따라 코드의 실행여부를 결정하는 구문으로 if문과 switch문이 있다.

반복문과 달리 코드는 조건이 true일 때 한 번만 실행된다.

if문은 if문, if~else문, if~else if문으로 나뉘게 된다.


 

if문

조건식의 결과에 따라서 분기처리할 때 사용한다.

조건식의 결과가 true라면 영역 안의 코드가 실행되고, false라면 실행되지 않고 넘어간다.

if문이 끝나고 오는 코드는 if문과 관계없이 실행된다.

if (조건식) {
실행할 코드; //조건식의 결과가 true일 때만 실행
}

 

if~else문

if~else문은 if문에서 false의 경우를 처리할 수 없었던 단점을 보완한 방식이다.

if문 뒤에 else문을 작성하게 되면 if문 조건식이 false일 때 else문 안에 있는 코드가 실행된다.

if문 없이 else문만 단독으로 사용할 수 없다.

if (조건식) {
조건식의 결과가 true일 때만 실행되는 코드;
}
else{
상단 if 조건식의 결과가 false일 때만 실행되는 코드;
}

 

if~else if문

if~else if문은 if~else에서 조건이 추가 된 방식으로, 여러 조건을 차례로 확인할 수 있다.

첫 번째 if문이 false일 때 다음 else if문의 참거짓을 확인하고 두 번째도 false라면 세 번째를 확인하는 방식이다.

만약 if문이 true라면 해당 조건문 안에 있는 코드를 실행하고 if~else if문을 벗어나게 된다.

if~else문과 마찬가지로 if문 없이 단독으로 사용할 수는 없다.

if (조건식1) {
조건식1의 결과가 true일 때 실행되는 코드;
}
else if (조건식2) {
조건식1의 결과가 false이지만 조건식2가 true 일 때 실행되는 코드;
}
else{
조건식1, 2의 결과가 false일 때 실행되는 코드;
}

 


 

switch문

변수의 값에 따라서 case의 값과 같은지 다른지에 따라 분기처리 할 때 사용한다.

이제 잘 사용하지 않는 구문이라고 하여 간단히 정리하고 넘어가겠다.

switch (변수명) {
case 값1 :
     변수의 값이 값1일 때 실행되는 코드;
     break; //해당 영역을 즉시 탈출 
case 값2 :
     변수의 값이 값2일 때 실행되는 코드;
     break;
default: //생략 가능
     //그 외 경우에 실행되는 코드;
     break;
}

 

switch의 변수에 저장할 수 있는 타입

  • 정수형 타입 : int long char(유니코드 문자에 해당하는 정수값)
  • 문자열 타입 : String
  • Enum 타입 : Enum 클래스의 상수
  • Wrapper 클래스 : Integer, Long, Character, ...

 

switch의 변수에 저장할 수 없는 타입

  • 실수형(float, double)
  • 논리형(boolean)

 

[반복문] while, do~while, for, for-each

 

반복문은 조건식이 true일 동안 반복하여 영역 안의 코드를 실행하는 구문으로 크게 while문과 for문이 있다.

while문은 while문과 do~while문이 있고, for문은 for문과 for-each문이 있다.

 

while문

조건식이 true인 동안 무한히 반복하는 반복문이다.

반복하는 횟수가 정해지지 않았을 때 사용되는 반복문이며, 무한 반복 시에는 종료조건이 따라오게 된다.

while (조건식) {
조건식이 true인 동안 반복 실행되는 코드;
//무한 반복이라면 종료조건이 필요하다.
}

 

[무한 반복 일 경우]

while (true) {
반복 실행되는 코드;
     if (반복을 종료할 조건) {
          반복을 종료하며 한 번만 실행되는 코드;
          break; //해당 반복문 영역을 즉시 탈출
     }
}

 

do~whlie문

whlie문과 동일하지만 최소 한 번은 무조건 실행해야 할 때 사용한다.

do 영역 안에 있는 코드를 먼저 한 번 실행한 후에 while 옆에 있는 조건을 검사하게 되는 방식인데,

이 방식도 잘 사용하지 않는다고 하여 짧게 정리한다.

do {
반복실행할 문장;
} while (조건식);

 


 

for문

while문과는 다른 부분은 반복하는 횟수가 정해져 있다는 점이다.

즉, for문은 반복하는 횟수가 명확할 때 사용하는 반복문으로 배열을 순회하거나, 특정한 횟수만큼 무언가를 해야할 때 사용된다.

for (초기식; 조건식; 증감식) {
   특정 횟수만큼 반복 실행할 코드;
}

 

초기식  : 처음에 설정할 값

조건식  : 조건이 true이면 영역안의 문장을 실행시키고 false면 for문 탈출

증감식  : 값이 얼마나 증감할지 결정하는 식

ex) 
for (int i = 0; i < 100; i++) {
    100회 반복 실행할 코드;
}

 

 

for-each문(빠른 for문, 확장 for문)

배열이나 컬렉션을 순회할 때 사용되는 반복문으로 배열이나 컬렉션의 길이만큼 반복하게 된다.

반복할 때 정확한 길이는 아직 알지 못하지만 특정한 배열이나 컬렉션의 길이만큼 반복이 필요할 때 사용하게 된다.

요소의 타입과 변수명을 지정하여 간편하게 순회가 가능하다.

해당 변수에는 배열의 요소가 한 개씩 차례대로 담긴다.

for (요소의 타입 변수명 : 배열 또는 컬렉션) {
 배열 또는 컬렉션 길이만큼 반복되는 코드;
ex)
String[] array = {"mini", "B", "cake"};
for (String nickname : array) {
    System.out.print(nickname);
 }
[console]
miniBcake

 

 

이중 for문

한 번의 반복문 안에 다른 반복문이 중첩하여 사용하는 것을 의미합니다.

별찍기를 할 때 많이 사용되는 방식입니다.

for(초기식1;조건식1;증감식1){ //바깥for문
     for(초기식2;조건식2;증감식2){ //안쪽for문
         실행할코드;
     }
}

 


 

[기타제어문] break, continue

주로 반복문에서 사용된다. break문은 switch문에서도 사용된다

  • break문  : 즉시 해당 중괄호 영역을 탈출한다 중괄호 영역 안에 있는 아래 코드를 실행시키지 않는다
  • continue문  : 즉시 다음 반복으로 넘어간다 아래 코드는 스킵한다

'JAVA' 카테고리의 다른 글

[JAVA] 오버로딩 (Overloading), this, this()  (0) 2024.07.02
[JAVA] 클래스와 객체화  (0) 2024.07.02
[JAVA] 객체지향언어 특징  (0) 2024.06.23
[JAVA] 객체 생성하기  (0) 2024.06.22
[JAVA] 객체와 객체지향언어 장단점  (0) 2024.06.21