중첩 제어문

If

if의 조건문 검사 -> 종속문자 실행 -> 다음문자

while문이 되는 동안 if조건문들 넣기.

while(more){
	if(menu == 1){ }
    else if(menu == 2){ }
    else if(menu == 3){ }
    	more = false;
}

if문은 위에서부터 조건을 하나하나 순차적으로 본다.

 

 

switch

while(more){
	switch(menu){
    case 1:
    	break;
    case 2:
    	break;
    case 3:
    	break;
        }
  }

switch문은 사전에 거치는게없다.

조건별로 break 넣을것.

하지만 while을 벗어날 수 없다. break은 switch문만 벗어난다.

 

 

EXIT 중첩된 제어구조 벗어나기

EXIT:
while(more){
	switch(menu){
    	case 1 :
        	break;
        case 2 :
        	break;
        case 3 :
        	break EXIT;
        }
   }
         

라벨을 붙여 중첩된 문을 한번에 나갈 수 있다.

 

 

while

System.out.printf("국어 : ");
kor = Integer.parseInt(scan.nextLine());
                
while( kor<0 || 100< kor)
{					
	System.out.println("입력값초과 다시입력해주세요.");
	System.out.printf("국어 : ");
	kor = Integer.parseInt(scan.nextLine());
					
}

while의 조건문 검사 -> 종속문장 실행 ->while 조건문 검사

선행한작업을 검사하기위해 while하고 검사하고 그 후에 똑같은내용을적었다.

나중에 수정사항이 생기면 똑같이 고쳐줘야하는 문제가 발생한다.

 

 

do while

do{
	System.out.printf("국어 : ");
	kor = Integer.parseInt(scan.nextLine());
					
	if(kor<0 || 100< kor) {
	System.out.println("입력값초과 다시 입력해주세요");
	}
}while( kor<0 || 100< kor);

선행조건의 반복이 필요할 때 유용

먼저선행 국어를 다시입력받는 로직이 한번으로끝난다.

+ Recent posts