일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- react-router-dom
- Switch 사용불가
- Passport
- Board
- sequelize
- nunjucks
- JEST
- nodejs
- Glob Pattern
- ExpressJS
- typescript
- jest.config.mjs
- mysql
- Today
- Total
게으른 나르의 코딩
반복문(for문(중첩,if추가), while문(중첩,if추가)) do~while 본문
for문의 기본 문법
for(초기화식; 조건식; 증감식) {
반복을 실행할 코드
}
ex)
for(int i = 1; i < 4; i++) {
System.out.println(i);
}
출력값은 1 2 3 이 나온다.
조건식이 참이면 코드가 반복적으로 실행된다.
조건식이 거짓이면 코드 자체가 실행이 안되고 error가 난다.
증감식은 i++이나 ++i나 같다.
총합변수를 항상 0으로 초기화를 시켜야 되고, 총합변수의 반복을 출력하고 싶다면 반복을 실행할 코드에 넣고 총합만 원한다면
for문 바깥쪽에 출력값으로 총합변수를 넣어야한다.
ex)
int sum = 0;
for(int i = 1; i<4; i++) {
sum+=i;
}
System.out.println(sum);
이 증감식인 i++는 1씩 증가하지만 증가양이나 감소양을 조절할 수도 있다.
i+=2
i-=2
이런식의 표현으로 곱셈 나눗셈도 가능하다.
for문 중첩
바깥 for문을 기준으로 안쪽 for문이 도는 방식이다.
기본 식
for(초기화식;조건식;증감식) {
for(초기화식2; 조건식2; 증감식) {
반복을 실행할 코드
}
}
바깥 for문 한번에 안쪽 for문이 한바퀴 도는 방식이기 때문에 바깥 for문은 행, 안쪽 for문을 열이라고 생각하면된다.
안쪽 for문을 2개를 이용해서 조건을 2번 주는 것도 할 수 있다.
ex) 2 3단의 구구단을 만들어본다고 예시를 든다.
for(int i = 2;i < 4; i++) { //i는 2와 3이 반복된다.
for(int j=1; j < 10;j++) { //i가 2일 때 j는 1~9까지 반복을한다. i가 3일 때 j는 1~9까지 반복을 한다.
System.out.println(i + " * " + j + " = " + i*j)
}
}
출력값을 봤을 때
2 * 1 = 2
2 * 2 = 4
.
.
.
3 * 9 = 27
이렇게 세로줄인 행은 바깥쪽 for문이 해당되고, 가로줄인 열은 안쪽 for문이 해당된다.
i=2 j=1,2,3,4,5,6,7,8,9
i=3 j=1,2,3,4,5,6,7,8,9
가변적인 for문 중첩
말 그대로 조건식이 변한다는 말로 바깥 for문의 초기화된 변수를 이용해서 안쪽 for문의 값이 나오도록 조건식의 조건을 줘야하는 방식
ex)
for(int i = 0; i<5;i++) {
for(int j = 0;j < i + 1;j++) {
System.out.print("*");
}
System.out.println();
}
출력값은
*
**
***
****
*****
이렇게 나온다.
for문 안에 if문
조건식의 조건에서 조건문을 더 추가해서 값을 세분화 시킬 수 있는 방식이다.
ex)
for(int i = 1; i < 101; i++) {
if(i%5 == 0) {
System.out.println("5의 배수는 : " + i);
}
else
System.out.println("나머지의 값들" + i);
}
이런식으로 5의 배수들과 나머지의 값들도 출력이 가능하게 조건을 더 걸어줄 수 있다.
while문
반복문의 종류 중에 하나인 while 문의 기본식
ex)
int i = 5; //초기화식
while(i<10) { //조건식
System.out.println(i);
i++; //증감식
}
이런 식으로 되어있는데 이제 증감식이 전위연산자인지 후위연산자인지에 따라서 값이 나뉠 수 있다.
총합변수를 구할 때 for문같은 경우에는 ()안에 증감식이 들어있어서 전위든 후위든 똑같은 값이 나왔지만 while문에 같은 경우에는 {}안에 증감식이 들어감으로 i++같은 경우 대입을 먼저하고 증감을 나중에 하기 때문에 {}밖에 있는 출력값에 영향을 줄 수 있어서 만약 이걸 실행하고 내가 원하는 값이 안나오게 된다면 이 부분을 잘 생각해서 살펴볼 필요가 있다.
for문과 while문의 차이점
for문에는 조건식의 true가 없지만 while문에는 true를 적을 수 있다. 그 차이는 while문은 계속 무한히 반복을 해서 for문은 조건식의 범위가 주어지기 때문에 그 범위가 주어진 곳까지만 반복을 하지만 while문 같은 경우는 break를 안 써줄 경우 무한반복을 하게된다. 그렇기에 상황마다 고려하면서 for문과 while문을 사용해야한다.
do~while문
반복문 중에서 거의 안쓰는 반복문이다. 이 반복문의 특징은 조건식이 제일 나중에 쓰기 떄문에 {}안에 있는 식부터 먼저 실행이 된다.
그래서 조건식이 false여도 {}안에 있는 실행문은 실행이 된다.
기본식
변수 초기화;
do {
실행문;
증감식;
} while(조건식);
'Languages > Java' 카테고리의 다른 글
break 와 continue (0) | 2021.06.28 |
---|---|
배열(+2차원 배열,System.arraycopy(),for~each문 ) (0) | 2021.06.28 |
조건문 (if문(중첩문), switch()~case, 삼항연산자) (0) | 2021.06.26 |
Java 의 사칙 연산(비교 연산자 equals) (0) | 2021.06.26 |
데이터 타입의 관해서(ft.출력) (0) | 2021.06.26 |