중첩 제어문
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);
선행조건의 반복이 필요할 때 유용
먼저선행 국어를 다시입력받는 로직이 한번으로끝난다.
'2021 Newlecture > JAVA' 카테고리의 다른 글
사진복사 / write(byte [] b, int off, int len) 이용해 출력 (0) | 2021.03.11 |
---|---|
배열 / FileInputStream / Scanner()/ hasNextLine() / while() (0) | 2021.03.10 |
배열/ 랜덤값 radom()/ 섞기 / 버블정렬(가장 큰 숫자찾기) (0) | 2021.03.10 |
File Stream이용해 파일복사하기/ read(byte[] b)/ 배열과 for문 / (0) | 2021.03.09 |
nextInt() , nextLine()사용시 주의사항/Integer.pasrseInt() (0) | 2021.03.08 |
복합 대입연산자 / 삼항연산자 (0) | 2021.03.08 |
제어구조 / FileStream을 통해 파일복사 (0) | 2021.03.05 |
쉬프트연산 / 진법 / 0x000000ff과 교집합 (0) | 2021.03.05 |