: loop문 정지 -> escape
: loop문과 같이 사용함(for, while, do while, switch)
switch(변수){
case 값1:
처리1
break;
case 값2:
처리2
break;
}
for(int i=0; i< 10; i++) {
처리1
if(조건){
break;
}
처리2
}
w = 0;
while(w<10) {
처리1
if(조건){
break;
}
처리2
w++;
}
for(int i=0; i< 10; i++) { //for반복문
System.out.println("for loop = " + i);
if(i == 5 ) { //if 조건문
System.out.println("i == 5입니다.");
break;
}
}
//ex)-값이 나오면 탈출하는 예제
int number[] = {13, 45, 27, -36, 78}; //array
for(int i=0; i<number.length; i++) {
System.out.println("number[" + i + "] = " + number[i]); //출력을 먼저 한 다음에 밑에 if문 실행
if(number[i] < 0) { //0보다 작으면(음수이면)
break; //탈출
}
}
//2중 for문
for(int i=0; i<10; i++) {
System.out.println("i = " + i);
for(int j=0; j<8; j++) {
System.out.println("\tj = " + j);
//조건문
if(i == 5 && j == 4) {
break;
}
}
}
//1.loop문 수에 맞춰서 break를 설정(loop문 하나당 break 하나)
boolean b = false;
for(int i=0; i<10; i++) {
System.out.println("i = " + i);
for(int j=0; j<8; j++) {
System.out.println("\tj = " + j);
//조건문
if(i == 5 && j == 4) {
b = true;
}
if(b == true ) {
break;
}
}
if(b == true) {
break;
}
}
//2.break 설정 loopout 이름은 알아서 적는 것
loopout:for(int i=0; i<10; i++) {
System.out.println("i = " + i);
for(int j=0; j<8; j++) {
System.out.println("\tj = " + j);
if(i == 5 && j == 4) {
break loopout;
}
}
}
: skip(생략), loop문 유지
: loop문과 같이 사용(한마디로 단독 사용 불가능 -break도 단독사용 불가능)
while(조건){
처리1
if(조건){
continue; //처리2, 연산식 처리는 하지 않고 다시 while문의 조건으로 올라가서 처리함(처리1), 조건이
}
처리2
연산식 }
continue 간단 예제
for(int i=0; i<10; i++) {
System.out.println("i = " + i);
System.out.println("for 처리1");
if(i > 5) { //i가 5보다 클 때(6,7,8,9) 밑에 처리2는 skip하고 처리1로 올라감
continue; //loop문을 빠져나가는 것이 아님!
}
System.out.println("for 처리2");
}
int array[] = {2, 6, 3, -4, 5};
for(int i=0; i<array.length; i++) {
if(array[i] <= 0) { //음수였을 때
continue;
}
System.out.println("array[" + i + "] =" + array[i]);
}
while문과 for문 연산자 위치의 차이
for(int i= 0; i<3; i++) { //연산식이 if continue위에 존재
System.out.print("number" + i + "=");
number = sc.nextInt();
if(number <= 0) {
continue;
}
System.out.println("number : " + number);
}
int w = 0;
while(w < 3) {
//w++; -> 이 곳에 연산식이 온다면 위에 for문과 같은 결과값을 보임
System.out.print("number " + w + "= ");
number = sc.nextInt();
if(number <= 0) {
continue;
}
System.out.println("number : " + number);
w++; //for문과는 다르게 연산식이 처리문 밑에 있으므로 w가 증가되지 않음
//-값을 입력하면 빠져나가지 못함
//연산식이 if continue 밑에 존재
}