[JAVA기초강좌]자바 제어문/반복문 for , continue
[형식]
for( 초기식 ; 조건식 ; 증감식 ) {
// 조건식이 참일때 실행될 문장
......
}
초기식은 최초 한번만 실행되고 그이후로 는 나머지 조건식, 실행문장만 반복되고 지정된 조건이 참일 때 한문장 또는 블록을 실행하는 반복문이다.
for문의 괄호 안은 3가지 부분으로 나뉘어져 있다. 구분은 세미콜론(;)으로 하며 첫번째 부분은 초기화, 두번째 부분은 조건검사, 세번째 부분은 증감 부분이다.
복잡한 다중 루프인 경우에는 label을 사용하여 기존 언어의 goto의 효과를 나타낼수 있다.
continue 명령을 사용하면 그 이후부터 블록의 끝까지를 수행하지 않고 for문으로 제어를 이동 시킨다.
continue에 label을 기술하여 그 label 이후부터 다시 실행하게 할 수 있다.
break 명령어의 경우도 label을 써서 중첩된 구조를 빠져 나올 수 있으나 continue와는 다르게 다음 반목문을 수행하지 않는다.
for(;;)의 경우 무한반복을 수행하며 빠져 나오기 위해서는 별도의 조건을 이용하여 break로 빠져 나온다.
[예제]
class ForTest {
public static void main(String[] args) {
labeltest :
for(int i=0; i < 10; i++) {
for(int j=0; j < 5; j++) {
if (i % 2 == 0) {
System.out.println("짝수...");
continue labeltest; //첫번째 for문으로 이동
}
if (i % 5 == 0) {
System.out.println("5의배수");
//첫번째 for문을 빠져나온다.
//아래문장으로 인해 첫번째 for문은 더 이상 수행안됨
break labeltest;
}
System.out.println(i + " " + j);
}
}
}
}
public static void main(String[] args) {
labeltest :
for(int i=0; i < 10; i++) {
for(int j=0; j < 5; j++) {
if (i % 2 == 0) {
System.out.println("짝수...");
continue labeltest; //첫번째 for문으로 이동
}
if (i % 5 == 0) {
System.out.println("5의배수");
//첫번째 for문을 빠져나온다.
//아래문장으로 인해 첫번째 for문은 더 이상 수행안됨
break labeltest;
}
System.out.println(i + " " + j);
}
}
}
}
[결과]
짝수...
1 0
1 1
1 2
1 3
1 4
짝수...
3 0
3 1
3 2
3 3
3 4
짝수...
5의배수
1 0
1 1
1 2
1 3
1 4
짝수...
3 0
3 1
3 2
3 3
3 4
짝수...
5의배수
[예제]
//for문의 빈문장 테스트 입니다.
class EmptyTest
{
public static void main(String[] argv)
{
int sum, i;
sum = 0;
for(i = 1; i <= 10; sum += i, i++)
; // 빈문장
System.out.println("첫번째 sum = " + sum);
class EmptyTest
{
public static void main(String[] argv)
{
int sum, i;
sum = 0;
for(i = 1; i <= 10; sum += i, i++)
; // 빈문장
System.out.println("첫번째 sum = " + sum);
sum = 0;
for(i = 1; i <= 10; sum += i, i++)
{ } // 빈문장
System.out.println("두번째 sum = " + sum);
for(i = 1; i <= 10; sum += i, i++)
{ } // 빈문장
System.out.println("두번째 sum = " + sum);
sum = 0;
for(i = 1; i <= 10; i++)
sum+= i;
System.out.println("세번째 sum = " + sum);
}
}
for(i = 1; i <= 10; i++)
sum+= i;
System.out.println("세번째 sum = " + sum);
}
}
[결과]
첫번째 sum = 55
두번째 sum = 55
세번째 sum = 55
두번째 sum = 55
세번째 sum = 55
[개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[기타 다른 강좌는 아래 해당 카테고리를 클릭해주세요]
[개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[기타 다른 강좌는 아래 해당 카테고리를 클릭해주세요]
댓글 없음:
댓글 쓰기