JAVA/JAVA

제어문(조건문 if, 반복문 for/while)

호두밥 2021. 10. 7. 01:28

제어문

메소드는 { } 에서 위에서 아래로 흘러가며 실행된다. 이런 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 게 제어문이다.

제어문에는  조건문과 반복문이 있다. 조건문은 특정 조건을 만족할 경우 { } 내부를 실행하고 원래의 실행흐름으로 되돌아온다. 반복문은 특정 조건을 만족할 때까지 { } 내부를 반복 실행한다.    

 

조건문

IF

if 문은 조건식이 true이면 { } 내부를 실행하고, false이면 실행하지 않는다.

int score = 70;
String grade;

if(score >= 90) {
	grade = "A";
}
// 위의 if문 조건을 만족하지 않으면서
// 해당 조건문을 만족하면 실행한다.
else if(score >= 80 ) {
	grade = "B";
}
// 위의 if와 else if 조건을 만족하지 않으면서
// 해당 조건문을 만족하면 실행한다.
else if(score >= 70) {
	grade = "C";
}
// 위의 세 조건문을 만족하지 않으면 실행한다.
else {
	grade = "D";
}

System.out.println(grade);
c

 

SWITCH

switch문의 괄호 안의 변수와 일치하는 값을 갖는 case로 가서 실행문을 실행시킨다. 만약 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시킨다. (default는 생략 가능)

case 마다 break;를 넣어 switch 문을 빠져나가도록 해야 한다. break가 없으면 변수의 값과 상관없이 다음의 case는 모두 실행한다.

	int score = 70;
	String grade;
    
	switch(score/10) {
		case 10 : grade ="A"; break; 
		case 9 : grade = "A"; break;
		case 8 : grade = "B"; break;
		case 7 : grade = "C"; break;
		default : grade = "D"; break;
	
	}
	System.out.println(grade);
C

 

	int score = 100;
	String grade;
	
	switch(score/10) {
		case 10 : grade ="A";  
		case 9 : grade = "A"; 
		case 8 : grade = "B"; 
		case 7 : grade = "C"; 
		default : grade = "D"; 
	
	}
	System.out.println(grade);
D

 

반복문

FOR

for문은 주어진 횟수만큼 반복문을 실행할 때 사용하는 반복문이다.

초기화식에서 루프 카운트 변수를 선언할 때는 부동소수점 타입을 사용해서는 안된다. 부동 소수점 타입의 실제 값은 선언한 값보다 약간 더 크기 때문에 (0.1f = 0.10000007) 횟수가 정확하게 계산되지 못한다. 

for(루프 카운트 변수 초기화식; 조건식; 증감식) {
  // 조건식이 true이면 실행문이 실행된다.
  // 조건식이 false이면 for문을 빠져나간다.
  실행문;
  // 실행문이 1번 실행되고 나면 증감식이 실행된다.
}
int b = 0;
for(int i = 1 ; i <= 10; i++) {
	b += i;
}
System.out.println(b);
55

 

[배열을 사용했을때의 for문]

 

int[] arr = {0,1,2,3,4};

for(int a : arr) {
	System.out.print(a);
}
0 1 2 3 4

 

WHILE

조건식이 true면 실행문을 반복한다.  조건식이 false가 되면 반복을 멈춘다.

 

int a = 0;
while(a < 10) {
	a++;
	System.out.print(a+" ");
}
1 2 3 4 5 6 7 8 9 10

 

DO-WHILE

do-while문은 블록 내부를 실행시키고, 실행결과에 따라 반복을 계속할지를 판단한다.

do {

  a++;
  System.out.print(a+" ");

}while(a < 10);
1 2 3 4 5 6 7 8 9 10

 

BREAK

반복문을 실행중지하고 빠져나올 때 사용한다.

 

int a = 0;
while(a <= 10) {
	a++;

	if(a%5 == 0) {
      break;
	}

	System.out.print(a+" ");
}
1 2 3 4

 

CONTINUE

반복문에서  continue 만나면, continue 다음을 실행하지 않고 다음 반복으로 넘어간다.

 

int a = 0;
while(a <= 10) {
	a++;
	
	if(a > 6) {
		continue;
	}
	
	System.out.print(a+" ");
}
System.out.println("\n"+a);
1 2 3 4 5 6
11

 

출처

신용권, 이것이 자바다, 한빛미디어

'JAVA > JAVA' 카테고리의 다른 글

Lambda Expressions 람다식  (0) 2021.10.28
Collection 컬렉션  (0) 2021.10.25
연산자 Operator  (0) 2021.10.04
JVM 자바 가상머신  (0) 2021.10.02
Objects 클래스  (0) 2021.09.28