자바

for문 break, continue

chantleman 2024. 7. 9. 10:41

continue: 해당 루프만 종료

 

System.out.println("2-9 입력:");
int n=sc.nextInt();		
for(int i=2;i<10;i++)
{
	if(i==n) continue;
	for(int j=1;j<10;j++)
	{		
		System.out.println(i+"*"+j+"="+i*j);
	}
	System.out.println("");
}

- 구구단 코드인데 continue를 쓰게 되면 n단만 제외하고 나머지는 다 출력됩니다.

 

 

 

 

 

break: 반복문 자체를 종료

System.out.println("2-9 입력:");
int n=sc.nextInt();
for(int i=2;i<=9;i++)
{	
	for(int j=1;j<10;j++)
	{				
		System.out.println(i+"*"+j+"="+i*j);
	}
	System.out.println("");
	if(i==n) break; // 반복문 자체를 종료
}

- break를 쓰게 되면 n단 이후의 모든 것들이 다 종료됩니다.

n단 전까지만 출력

 

 

 

for(int j=0;j<10;j++)
{
	for(int i=0;i<10;i++)
	{
		if(i==4) break;
		System.out.println(j+","+i);
	}
}

만약 이중for문에서 두번째 for문 안에 break를 쓰게 되면 두번째 for문만 반복문을 중단합니다.

 

 

전체 break를 하고싶다면 아래 두가지 방법이 있는데

for(int j=0;j<10;j++)
{
	boolean chk=false;
	for(int i=0;i<10;i++)
	{	
		if(i==4) 
        {
			chk=true;
			break;
		}
		System.out.println(j+","+i);
	}
	if(chk) break;
}

첫번째 방법은 어렵고 복잡합니다.

 

 

두번째 방법은 for문의 이름을 설정하는 라벨링 작업을 합니다.

END : //라벨링. for문의 이름 붙임. end말고 아무거나 해도 됨
for(int j=0;j<10;j++)
{
	for(int i=0;i<10;i++)
	{	
		if(i==4) break END; //END라는 반복문을 종료하겠다.
		System.out.println(j+","+i);
	}	
}

우리는 END라고 라벨링을 했지만 END말고 아무거나 이름 붙여도됩니다.

'자바' 카테고리의 다른 글

배열  (0) 2024.07.10
스택, 힙, equals(), ==  (0) 2024.07.10
이중 for문 예제  (0) 2024.07.08
시와 분을 입력받고 30분 뒤, 30분 전 시간 출력하는 예제  (0) 2024.07.05
대문자 소문자로 바꾸기 예제  (1) 2024.07.03