본문 바로가기

JAVA

자바의 향상된 for 문

C에 이 기능이 있는지 모르나 Java를 보면서 알게된 신기한 for구문 문법 2개를 보았다.

1. 레이블을 이용한 코딩법

이중 for문 이상의 코딩시 레이블을 이용하여 좀 더 다양하게 코딩을 구현할수 있다.

ex)

Kim : for(int a=0 ; a<5 ; a++){
Lee : for(int b=0 ; b<3 ; b++){
if(b == 1){
break;
}
System.out.println("*");
}
System.out.println();
}

이런 예문이 있다고 가정할때 결과 값은 
*
*
*
*
*
이런식으로 나올것이다. 

하지만 레이블을 이용한 코딩을 했을때

Kim : for(int a=0 ; a<5 ; a++){
Lee : for(int b=0 ; b<3 ; b++){
if(b == 1){
break Kim;
}
System.out.println("*");
}
System.out.println();
}

이라고 친다면 결과값은
*
이렇게 나온다.

즉 레이블을 이용하면 반복문의 범위를 조정해서 빠져 나갈수가 있다는 것.
continue도 같은 법칙이 적용된다.

Kim : for(int a=0 ; a<5 ; a++){
Lee : for(int b=0 ; b<3 ; b++){
if(b == 1){
continue Kim;
}
System.out.println("*");
}
System.out.println();
}

이렇게 친다면
*****
이러한 결과값이 나오게 된다.

이러한 점을 이용한다면 보다 다양하고 알찬 코딩을 구현할 수 있을 것이다.

2. for( String name : nameArray ){ }

nameArray는 String 변수를 담아 놓은 배열이다. 
즉, String 변수 하나를 지정하고 값이 들어가 있는 배열에서 하나씩 자동으로 name 이라는 변수에 넣어주어서 연산을 하는 것이다.
알아서 nameArray에 있는 String 값들을 하나씩 name 변수에 대입시켜 준다.
Java에 나오는 향상된 for문이라고 하는데 잘 이용한다면 반복문 구현을 좀더 쉽게 할 수 있을거 같다.