오늘은 반복문에 대해서 공부해볼게요
저는 복습의 느낌이라 일기 형식으로 작성하며 공부하는것이라
개념보단 코드위주로 말씀드리는 점 양해부탁드립니다..
그래도 나름 초보분들에게 도움은 충분히 될 것 같아요~~
원래는 IntelliJ 사용했는데 1월중순에 가는 학원에서 Eclipce(이클립스)
사용한다고해서 적응할겸 자바공부를 다시하고있어요.. 되게 어렵네요
이클립스 사용꿀팁이나 알아두면 좋을거 댓글로 알려주세요!!
반복문은 대표적으로 while , do-while , for 가 있습니다
중복된코드를 없애고 반복하기 위해서 사용한다 라고 봐주시면 될것같아요
1)while 문
긴말하지않고 while문으로 1 부터 10까지 더하는 코드 해볼게요
이 while문은 내부에서 i값을 증가시키고 result에 누적하는
문장들이 i가 11보다 작을때 까지만 반복됩니다.
i 가 11이 되는순간{ (i<11) 이 거짓이 되는 순간}
이 반복문은 break 되어 while문 밖으로 나가게됩니다.
바로 이것을 응용해 숫자의 제곱을 구하는 반복문을 만들어볼게요
result함수를 1로 초기화 후 반복 수 만큼 i 자기자신과의 곱을 하도록 값 누적
1제곱이면 result = 1 * i. ( result값으로 자기 자신(i) 대입)
2제곱이면 result = i * i 가 되는것임
2)do - while 문
do-while문은 조건에 상관없이 최초 한번은 출력이되어야 할 때 유용함
예를 한번 들어볼게요
while(i<3) { println("현재 숫자는 ? "+i ); , i++ } 문에
i = 10; 을 지정했다면 아무것도 출력되지않을거에요.
do-while문은 이러한 문제를 해결 할 수 있어요.
3)break 와 continue
break와 continue 는 반복문에서 사용할 수 있는 키워드.
break : 만나면 그 즉시 반복문이 종료
continue 만나면 조건식으로 돌아감 (조건식이 참이면 반복문실행)
break 문의 예를 한번 보여드리겠습니다.
i를 +1 씩 증가시키면서 더하는 문장임
break문이없다면 끝없이 i를 증가시키며 sum이 계속 출력될것이다.
break문을 통해 20보다 큰 수가 나오자마자 반복문 종료
1부터6까지의합 : 21
다음은 continue문을 사용한 예제를 보여줄게요
2로나눴을때의 나머지가 0 일때 (짝수)
continue : 다음 문장을 건너뛰고 조건문으로돌아감
홀수만 출력하게 되는 프로그램
4)for문 (정말 자주 쓰여요)
for문도 while문과 같은 반복문이다 (다만 반복횟수를 정해두고싶을 떄 주로사용)
for문은 다음 순서대로 실행된다.
1. 초기식이 실행. 주로 반복 횟수와 관련된 변수를 선언하고 초기화 할 때 사용한다. 초기식은 딱 1번 사용
2. 조건식을 검증 ==> . 참 : 코드 실행, // 거짓 : for문 탈출 .
3. 코드를 실행.
4. 코드가 종료되면 증감식을 실행. 주로 초기식에 넣은 반복 횟수와 관련된 변수의 값을 증가할 때 사용
5. 다시 2. 조건식 부터 시작한다. (무한 반복)
예시로 1부터 10까지 더하는 for문을 작성해보겠다.
5) 중첩 반복문
for , while문 모두 중첩반복문 사용 가능 (주로 for문을 사용)
대표적인 중첩반복문 예로 구구단을 만들어보겠습니다.
코드로 이해하는게 조금 더 와닿기도하고 직접 쳐봐야 이해됩니다.
여기서 중요한건 result의 변수초기화 위치이다 . 내부 for문 안에서 초기화하지않으면
result값이 초기화되지않고 계속 쌓여서 원하는 구구단을 만들 수 없게 된다.
(자세히 궁금하다면 댓글 남겨주세요)
## 예제문제 (총 정리)
그렇게 복잡하진 않은 문제로 생각해봤어요
숫자를 입력하면 1부터 그 숫자까지 오직 짝수의합을 구하는 겁니다
ex) 5입력 --> 2+4 를 수행하는 것
답:( 다른 코드가 나올 순 있음) while문을 사용해도 좋음
이렇게 예제문제까지 풀어봤습니다.
총 정리를 간단하게 하자면
정해진 횟수만큼 반복을 수행해야 하면 for문을 사용하고
그렇지 않으면 while문을 사용하면 된다.
물론 이것이 항상 정답은 아니니 이렇다고만 알아둡시다
'Java공부(코딩)' 카테고리의 다른 글
코딩초보의Java (자바)4일차-2 (배열) (4) | 2024.12.10 |
---|---|
코딩초보의 Java(자바) 공부 4일차( 훈련과 Scanner ) (2) | 2024.12.09 |
코딩초보의 Java(자바)공부 3일차-2 (스코프와 형변환) (1) | 2024.12.08 |
코딩초보의 Java공부 2일차 (조건문) (1) | 2024.12.07 |
코딩초보 Java 공부 1일차 (5) | 2024.12.06 |