for문
자바로 구구단을 만들어 보자
먼저 구구단의 요구사항을 보면 2 *1 2* 2 2 *3 2 * 4 2 *5 ..... 이 출력이 되야 하는데
while문을 통해서 먼저 2단을 만들어보자
int x = 2
int y = 1
while(y<10)
System.out.print(x+"*"+y+"="(x*y)
int y += 1
이렇게 만들면 2단은 완성이 됬다. 하지만 우리는 9단까지 만들어야 하는데 변수를 계속해서 재할당 하면서 while문을 작성하게 되면 중복 되는 것이 너무 많이 지기 때문에 for문을 사용을 해보자 for문에는 반복의 3요소가 들어가는데 (초기값 지정 , 조건 확인, 상태변경)이 들어가야한다.
for( int x = 2; x<10; x+=1; {
for( int y = 1; y<10 y+=1; {
System.out.print(x+"*"+y+"="(x*y)
}
}
이렇게 for 문을 사용을 해주면
x는 2 에서부터 시작을 하고 반복이 될때 마다 x는 1씩늘어 나다 10이 되면 실행을 하지않고 y또한 반복이 될때마다 1씩늘어나면서 10이되면 실행을 하지 않게 되며 조건이 만족될 때 까지는 x*y의 값이 바뀌면서 결국 9*9까지 출력이 된다.
이렇게 사용하면 반복되는 요소들을 많이 줄이고 관련된 것들을 묶어 응집도가 높아 졌다고 할 수 있다.
코딩은 여러사람들이 쉽게 알아보기 위해서 관례가 있는데 반복문에서는 반복할 때 쓰는 정수형 변수는 i 로 사용을 해야한다.
i 다음으로는 j, k, l 등을 사용하지만 너무 많이 쓰면 복잡함으로 j 까지만 써주도록 하자!
for( int i = 2; i<10; i+=1; {
for( int j = 1; j<10 j+=1; {
System.out.print(i+"*"+j+"="(i*j)
}
}
반복문을 멈추거나 스킵할 수 있는 방법으로는 break와 continue가 있다.
예를 들면
for(int i = 1; while(i<5); i+=1 {
if(i == 4) {
break; }
System.out.print(i)
}
이렇게 코드가 있으면 상태변경을 반복하면서 i 가 4가된다면 꺵판을 치겠다! 즉 이 뒤로는 셔터 내리겠다 라는 뜻이므로 4, 5는 출력이 되지 않고 결과는 1, 2, 3이 나온다.
그러면 한구간만 스킵을 하고 싶다 라는 상황이라면 어떻게 해야할까 위에서도 언급했듯이 continue를 사용해주자
for(int i = 1; while(i<5); i+=1 {
if(i == 4) {
continue; }
System.out.print(i)
}
이런식으로 사용을 해준다면 continue는 break와 다르게 지정한 값 하나만 스킵을 한다 가게를 한 곳만 닫고 다른 가게는 장사를 하겠다 라고 할 수 있겠다. 즉 결과는 1, 2, 3, 5 가 출력이 된다 break와는 다르게 지정한 조건 하나만 스킵을 해주고 그다음 조건은 진행을 해준다.