연산자, 조건문, 반복문을 학습할 때 내가 제일 헷갈렸던 건 break와 continue이다. 큼직큼직한 로직들은 다 이해하고 이런 사소해보이는 명령어를 자꾸 까먹는다. 그래서 정리 시작!
break; 명령을 호출하면 가장 가까운 블럭의 for 문 또는 while 문을 중단.break;를 꼭 넣어줘야 한다!! break; 문은 해당 case의 연산문이 끝났다는 것을 알려주어 switch 문을 종료시켜 준다. 만약 case의 연산문 마지막에 break;를 안 넣어주면 switch문 블럭이 끝날 때까지 전부 실행!💥 )// break 명령
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
break; // 2일때 반복 중단
}
System.out.println(number);
}
// 출력 1
// break 명령 범위
for (int i = 0; i < 10; i++) {
System.out.println("i: " + i);
if (i == 2) {
break; // i 가 2일때 가장 바깥 반복문이 종료됩니다.
}
for (int j = 0; j < 10; j++) {
System.out.println("j: " + j);
if (j == 2) {
break; // j 가 2일때 가장 안쪽 반복문이 종료됩니다.
}
}
}
// 출력
i: 0 // 바깥 반복문 부터 수행 시작
j: 0 // 안쪽 반복문 1회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 break;
i: 1 // 바깥 반복문은 아직 break; 호출이 안됬으므로 다음 반복수행
j: 0 // 안쪽 반복문 2회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 두번째 break;
i: 2 // i 가 2일때 바깥 반복문도 break; 호출되어 종료
// switch/case 문
int month = 8;
String monthString = "";
switch (month) {
case 1: monthString = "1월";
break;
case 2: monthString = "2월";
break;
case 3: monthString = "3월";
break;
case 4: monthString = "4월";
break;
case 5: monthString = "5월";
break;
case 6: monthString = "6월";
break;
case 7: monthString = "7월";
break;
case 8: monthString = "8월";
break;
case 9: monthString = "9월";
break;
case 10: monthString = "10월";
break;
case 11: monthString = "11월";
break;
case 12: monthString = "12월";
break;
default: monthString = "알수 없음";
}
System.out.println(monthString); // 8월 출력continue; 명령을 호출하면 for 문 또는 while 문에서 해당 순서를 패스. // continue 명령
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
continue; // 2일때 패스하고 바로 맨 앞으로!
}
System.out.println(number + "출력");
}
// 출력
1출력
3출력