저번에는 문법 중에 젤 중요한 것 중에 하나 if 문을 다뤄보았다
이번에도 젤 중요한 것 중에 하나인 for문을 보도록 한다
실제 일하면서 젤 많이 쓴 문법이 if문과 for문이라고 해도 틀리지 않다
for문 (반복문) 을 사용하는 이유는.. "노가다 방지"라고 생각한다
"안녕하세요"를 10번 적어야 할 때, 상당히 귀찮을 것이다
하지만 반복문을 이용하면 숫자10만 넣어주고 "안녕하세요"를 한 번만 적어주면 되기 때문에 상당히 편리해지고,
우리의 퇴근시간이 좀더 빨라진다고 볼 수도 있겠다
코드도 줄어들고 디게 좋당
자 이제 본론으로 들어간다
1. for문 (반복문) 사용법
for (int i = 0; i < 10; i++) {
// 내용
}
1-1. 설명 1
갈호안에 (시작할 숫자; 조건식; 시작할 번호가 증가수 )라고 보면 된다.
간단하게 설명하면, 몇 번 반복할 것인가를 결정하는 것이니, 쫄지 말자
int i : 처음 시작할 숫자를 결정한다
i < 10 : 조건이 맞을 경우만 실행되는 것을 표현한다
i ++ : 처음 시작할 숫자가 반복문을 한번 끝냈을 때, 어떻게 할 것인지 결정해준다
* i++ 는 (i = i + 1;)이다. 1이 증가되는 뜻
1-2. 설명 2
①:i는 0로 시작돼서 (최초 한번 생각하자!)
②:0 < 10 이면 참이기 때문에,
③:"안녕하세요"를 출력하고, 첫 번째의 반복문이 종료된다.
④:그리고 i가 1 증가되므로 1이 된다
②:그리고 1 < 10 이기 때문에 또 참이라서
③:또 "안녕하세요"가 출력이 될 것이다
이게 반복이 되어서, 결국 i 가 10이 되고, 10 < 10 이 되면 거짓이기 때문에 for문이 더 이상 실행 되지 않고 종료하게 된다
if 문에 비해서 조금 어려워졌긴 했다
하지만 포기하지 말라,, 우리 초롱이, 멍구, 도담이가 "앉아"를 가능하게 하였을 때, 50번의 간식을 주면서 반복학습을 했기 때문에, 50번 이해하려고 노력해라
2. 구구단 만들기
솔직히 보기만 해서는 이해 절대 못한다. 그러므로 for문으로 구구단 정도 만드는 걸로 해보자
위에 있는 강아지들? (고양이 포함) 도 만들 수 있으니 우리도 할 수 있다.
일단 코드를 작성하기 전에 한번 생각하도록 해보자
구구단의 2단의 경우
변하는 수는 무엇인가, 시작하는 수는 무엇인가, 몇 번 반복해야 하는가, 몇씩 증가하는가, 결과는 어떻게 내는가? 를 생각하자
①변하는 수는 무엇인가:2 x 1, 2 x 2, 2 x 3..... 이니까 2단은 그대로 있고 뒤에 있는 게 바뀌었다. (int i)
②시작하는 수는 무엇인가:2 x 1 부터 시작하니 변하는 숫자 중에 시작하는 수는 1이다 (i = 1)
③몇 번 반복해야 하는가:9번을 반복해야 한다. 1부터 시작해서 9번 반복하게 하려면, 조건식을 i <= 9으로 해주면 되겠다. (i <=9)
④몇씩 증가하는가:2 x 1 다음은 2 x 2이기 때문에 1씩 증가한다 (i++)
⑤결과는 어떻게 내는가? :2와 변하는 수를 곱해주면 그게 답이다 (2 * i)
재료가 갖추어졌으니 바로 제조 들어간다
이경우는 2단 만의 경우이지만 2단에서 9단까지 하려면 for문안에 for문을 넣어주면 되겠다
그건 직접 해보면 된다
3. 확장 for문
실무에서 일할 경우에는 위에 방식보다 "확장 for문"을 더 많이 사용한 거 같다
확장 for문의 좋은 점은 indexOfB.. 뭐 Error가 나지 않기 때문에 확실해서 좋다
에러 발생률을 줄일 수 있으니 사용하면 좋다 ㅎㅎ
사용법은 위와 같다
일단 먼저 List나 배열이 있을 때 사용할 수 있다
3-1. 문법
for (타입 변수 : 대상 배열(List)) {
}
3-2. 설명
arrInt가 1, 2, 3, 4를 가지고 있고
for문은 한 번씩 돌 때마다 순서대로 i 에 넣는다고 보면 된다
arrInt에 요소는 총 4개가 들어 있기 때문에 for문은 4번만 돌 것이고
첫 번째 for:【i】는 arrInt의 첫 번째 요소
두 번째 for:【i】는 arrInt의 두 번째 요소
세 번째 for:【i】는 arrInt의 세 번째 요소
네 번째 for:【i】는 arrInt의 네 번째 요소
라고 생각하자!
그리고 출력하게 되면 아래와 같은 결과가 나온다
이상으로 for문을 마치겠당
'Programming > Java' 카테고리의 다른 글
#Java 14화) 객체 ( Object ) 쉽게 이해하기 (5) | 2021.10.09 |
---|---|
#Java 13화) While문 (반복문) 사용하기 (0) | 2021.10.03 |
#Java 11화) IF문, ELSE 문(조건문)사용법 (0) | 2021.09.29 |
#Java 10화) 메소드 사용법 (Function) (0) | 2021.09.04 |
#Java 9화) 배열 (0) | 2021.09.04 |