제어의 이동
제어 관련 예약어 3가지
1) 반복 블럭 안에서만 사용 가능
2) (조건에 맞으면) '건너뛴다.' (로직을, 그리고 증감식으로 감)
: 조건에 해당할때, 수행하지않고 증감식으로 바로 감.
for(int i =0; i<5; i++){
if(i == 2) continue; (해당값만 수행X, 다시 ++로 이동)
//i 2가 되면, 수행하지말고 i++의 증감식으로 감. > 3으로 변환됨.
System.out.println("i : "+i); // 1,3,4,5 에서는 출력이 된다.
cf) labeled continue 도 존재!
ex) 돌아갈 곳에 aa: 선언 > 조건문 continue aa;
ex) Day06/A.java
1) 반복블럭이나 스위치블럭 안에서만 사용 가능
2) 자기를 둘러싼 첫번째 블럭을 나간다.
if(i == 2) break; (첫번째 블럭 밖으로 나감)
cf) labeled break문
ex) 돌아갈 곳에 aa: 선언 > 조건문 break aa; (정해진 곳으로 나와!, 아래 말고, 위에 설정)
ex) day06/B.java, C.java
: 제어문이 돌아오는 이유 : 보이지 않지만 return이 생략되어있기 때문.
=> 제어를 다시 호출한곳으로 돌리는 역할, void 타입은 return 생략 가능.
1) 어디에서나 사용 가능
2) 호출한 곳(생성자/메소드) or 놈(JVM)으로 '되돌린다'
ex) day06/D.java, E.java
if)
void형 메소드 >
int형 메소드 > 메소드 할 일 다 하면, 끝에
return -1 사용, (인트형이어야하니까, 아무 의미 없는 값을 받을때 주로)