Control flow statements

ha_jni·2021년 5월 4일
0

if 문

모든 제어 흐름 명령문 중 가장 기본적인 것

//if 절의 값이 true일 때 then 절이 실행된다. if 절이 false이면 then 절은 실행되지 않는다
if(true){ // if절
	// then절
}

// true 일 경우
if(true){
	System.out.plintln("result : true")  // result : true 출력
}

// flase 일 경우
if(false){
    System.out.println("result : true"); // 출력되지 않음
}

else 문

if 절의 값이 true일 때 then절이 실행되고, false일 때 else절이 실행

if(true false){
	//    true경우 실행       
}else{
	//    false경우 실행      
}

// ex) true일 경우
if (true) {
	System.out.println("result : true");
} else {
	System.out.println("result : false");
}
// 결과 result : true 출력

// ex) false일 경우
if (true) {
	System.out.println("result : true");
} else {
	System.out.println("result : false");
}
// 결과 result : false 출력

else if 문

else if절을 이용하면 조건문의 흐름을 좀 더 자유롭게 제어할 수 있다.

if절의 값이 true라면 then절이 실행 false라면 else if절로 제어가 넘어간다. else if절의 값이 true라면 else if then절이 실행 false라면 else 절이 실행된다. else if절은 여러 개가 복수로 가능, else절은 생략이 가능하다. else 절이 else if 절보다 먼저 등장할 수는 없다.

// 예시
if(false){
	System.out.println(1);
}else if(true){
	System.out.println(2);
}else{
	System.out.println(3);
}
// 결과 2 출력

if(false){
    System.out.println(1);
} else if(false) {
    System.out.println(2);
} else {
    System.out.println(3);
}
// 결과 3 출력

switch 문

어떤 변수의 값에 따라서 문장을 실행할 수 있도록 하는 제어문이다.

switch(변수){
	case1 : 
		실행문; 
		break;
	case2 : 
		실행문; 
		break;  
	default;    
}

// ex)
int value = 1;

switch(value){
	case 1:
		System.out.println("1");
		break;
	case 2:
		System.out.println("2");
		break;
	case 3:
		System.out.println("3");
		break;
	case 4:
		System.out.println("4");
		break;
	default :
		System.out.println("그 외의 숫자");
}
//value의 값이 1일 경우 1을 출력하고, 2일 경우는 2를 출력하고, 3일 경우는 3을 출력

//break를 제거하면 value가 1일 경우 1을 출력 후 switch문장을 빠져나가지 않고 
//1,2,3, 그외의숫자가 연속해서 실행

While문 (반복문)

조건문의 실행 결과가 true일 동안 반복해서 실행

while(조건문){
	//실행문
}

// ex)
int a = 0;  //while에서 사용할 변수 선언

while(a < 5){
	System.out.println(a);
	a++ // 조건문을 원하는 만큼만 반복하고 빠져나가기 위한 부분
} // 4까지 출력 (5미만)

do - While문

무조건 한번은 실행되는 반복문.

int count = 1;
	do {
		System.out.println("Count is: " + count);
		count++;
} while (count < 11);

for 문

  • 초기화 : 반복문이 실행될 때 1회 실행된다.
  • 종료조건 : 초기화가 실행된 후에 종료조건이 실행된다. 종료조건의 값이 false일 때까지 반복문의 중괄호 구간의 코드가 반복 실행된다.
  • 중괄호 구간의 실행이 끝나면 반복 실행이 실행된다. 일반적으로 이 곳에 i++와 같이 변수를 증가시키는 로직이 위치하고, 이것이 실행된 후에 종료조건이 실행된다. 종료조건이 false가 될 때까지 이 과정이 반복된다.
for(초기화식;종료조건식;증가문;){
	//반복적으로 실행될 구문;
}

// ex)
int total = 0;  // 결과를 담기위한 변수 선언

for(int i = 1;i <= 30;i++){  // 반복하기 위한 for 반복문
	total= total + i; // 1부터 30까지 반복해며 total 변수에 값을 누적
}
System.out.println(total); // 465 출력

break / continue

반복작업을 중간에 중단시키고 싶다면? break를 사용

continue 구문은 이 명령이 나타나는 이후의 로직을 실행하지 않도록 함

하지만 반복문 자체를 중단하는 것이 아니고 다시 반복문이 실행된다.

for (int i = 0; i < 5; i++) {
	if (i == 3)
		break;
	System.out.println(i);
}   //  3까지 출력 후 중단

for (int i = 0; i < 5; i++) {
	if (i == 3)
		continue;
	System.out.println(i);
}   //  3제외 후 출력

return문

return문은 현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아감

하나의 메서드 안에서 return문은 여러개 존재할 수 있지만 반환되는 값은 하나만 반환이 된다.

for (int i = 1; i <= 10 ; i++) {
	if (i == 3) {
		return;		//여기서 종료된다.
	} else {
		System.out.println(i);
	}
}
System.out.println("종료");
// 2까지 출력 후 "종료"출력 

관심 있을 만한 포스트

0개의 댓글