| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- fremework
- 데이터베이스 #DataBase #Oracle #DB #DataBase개요
- Java #JDBC #Mybatis #동적SQL
- 스프링
- 데이터조회예제
- 정리
- 특징및기본구조
- JavaScript #자바스크립트 #선택자 #HTML태그접근 #JS
- 프레임워크
- mybatis
- Java #Web #공부 #복습 #Servlet #서블릿 #포워드 #sendRedirect #dispatcher
- Java #자바 #초보개발자 #다형성 #동적바인딩 #instanceof #학습 #요약정리 #복습
- List데이터조회
- Java #자바 #인터페이스 #implements #다형성 #interface #복습 #정리 #나만의공부
- mybatis자료형 #참고자료
- JavaScript #자바스크립트 #복습 #배열 #Array
- WEB
- 동적sql
- 서블릿기초 #servlet #java #webprogramming
- 복습
- 어노테이션
- springframework
- 데이터매핑
- Spring
- 페이징처리예제
- JavaScript #인라인 #인터널 #익스터널 #데이터입출력
- 예제
- Java
- JavaScript #예제 #복습 #Web #웹 #개발자가되고파ㅜㅜ
- JavaScript #선언적함수 #익명함수 #화살표함수 #함수선언방법 #복습
- Today
- Total
개발군싹
[Java] 반복문 본문

반복문이란?
프로그램 수행을 하는 제어문 중 하나로 특정 로직을 반복해서 수행할 때 사용할 수 있다.
반복문의 종류에는 'for문' , 'while문', 'do ~ while문' 이 있다.
for loop (for문)
for문은 일반적으로 반복 횟수를 미리 알 때 사용한다.
[선언방법]
for (초기식; 조건식; 증감식) {
//반복실행 로직
}
- 초기식 : 반복문의 시작 시 초기식에 시작을 선언한다.
- 조건식 : 반복문의 실행 조건을 선언한다. 반복실행 로직을 수행하고 조건식의 결과는 true/false에 따라 반복문을 지속적으로 수행할지 안할지를 결정한다.
- 증감식 : 반복 실행 로직을 수행 후 조건식의 결과값이 true일 경우 선언한 증감식의 증감이 이루어진다. 보통은 for문의 반복수행 시 몇번 실행할지에 대한 초기식의 증감을 선언한다.
ex)
// 100부터 1까지의 수를 출력하기
for (int i = 100; i > 0; i--) {
if (i % 9 == 0) { //출력 결과를 보기 편하게 숫자 10개마다 줄 바꿈의 조건을 주었다.
System.out.println("\n");
}
System.out.print(i + "\t");
}
위 코드에서는 100부터 1까지 1씩 감소하며 출력해주는 for문을 작성하였다.
(1) 초기식 : int i=100; 초기 시작은 100에서 시작한다.
(2) 증감식 : i>0; 한번 실행 마다 i값이 0보다 큰지 확인 후 0보다 크다면(true) 증감연산을 수행 후 for문을 반복수행한다.
(3) 증감식 : i--; 조건식의 결과가 true이면 증감연산 i--; 연산 후 i 값이 99가 되어 다시 반복 수행한다.
이처럼 (1) => (2) => {반복로직실행} => 조건식 결과값 ? (true) i-- : (false) 반복문 종료; 순으로 for문이 수행된다.
조건식의 결과가 false가 될때 까지 (2) => {반복로직실행} => 조건식 결과값 ? (true) i-- : (false) 반복문 종료; 행위를 반복 수행한다.
while loop(while문)
while문은 반복 횟수를 미리 알지 못하고, 특정 조건이 유지되는 동안 반복문을 실행하고 싶을 때 사용한다.
[선언방법]
while(조건식) {
//반복실행로직
//증감연산 및 분기문
}
- 조건식 : while문이 실행될 수 있는 조건식을 작성한다. 조건식의 결과가 true이면 지속적으로 while문 내 로직을 반복 수행한다.
- while문 내에는 증감연산 및 분기문을 사용하여 특정조건에 맞는 횟수, while문을 끝낼 수 있는 분기문을 사용할 수 있다.
ex)
// 사용자가 끝이라고 입력할때까지 메세지 입력받는 기능
Scanner sc = new Scanner(System.in);
String msg = "";
while (!msg.equals("끝")) {
System.out.print("메세지 입력 > ");
msg = sc.nextLine();
System.out.println(msg);
}
위 코드에서 Scanner 클래스를 이용하여 사용자에게 문자열을 입력받고 '끝'이라고 입력하기 전까지 while문을 실행하는 로직을 간단하게 작성하였다. while문의 조건식에 사용자가 '끝'이라는 문자열을 입력하지 않으면 해당 반복구문을 실행하여 사용자에게 메세지를 입력받고 출력할 수 있다. '!msg.equals("끝")'라는 조건은 사용자가 문자열에 '끝'을 입력하면 해당 조건식 'msg.equals("끝")'의 결과가 true이고 !(not)연산자를 붙였으므로 결과 값이 반대가 되며 조건식의 결과가 false가 되어 while문을 종료한다.
do ~ while loop (do ~ while문)
while문과 유사한 형태를 가졌으며 조건식의 true / false 결과의 관계없이 최소 1번은 실행하는 반복문이다.
[선언방법]
do {
//반복수행 로직
}while(조건식);
코드 실행 시 do ~ while 반복문을 만나면 최소 한번을 수행 후 조건식을 만난다. 조건식의 결과가 true이면 반복수행 로직을 반복적으로 수행하며, 조건식의 결과가 false인 경우 해당 반복문을 종료한다.
반복문을 이용한 예제 작성
public void practice17() {
// 2부터 사용자가 소수까지 소수개수 출력하기
//소수의 개수를 구해 출력하기
//단, 입력한 수가 2보다 작은 경우 "잘못입력하셨습니다." 안내 출력하기
Scanner sc = new Scanner(System.in);
System.out.print("숫자 > ");
int userNum = sc.nextInt();
int primeNumberCheck = 0;
int count = 0;
String checkPrimeNum = "";
for (int i = 2; i <= userNum; i++) { //사용자가 입력한 userNum값까지 반복문 수행;
primeNumberCheck = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) { //i값을 j로 나눈 나머지가 0일 경우
primeNumberCheck++;
}
}
if (primeNumberCheck == 2) {
checkPrimeNum += i + " ";
count++;
}
}
if (primeNumberCheck > 2) {
System.out.println("소수가 아닙니다.");
} else if (primeNumberCheck == 0) {
System.out.println("잘못 입력하셨습니다.");
} else {
System.out.println("소수입니다.");
System.out.println(checkPrimeNum);
System.out.println("2부터 " + userNum + "까지 소수의 개수는 " + count + "개 입니다.");
}
}

'Java' 카테고리의 다른 글
| [Java] 객체란(1)? (0) | 2023.09.15 |
|---|---|
| [Java] 배열 (0) | 2023.09.12 |
| [Java] 조건문 (0) | 2023.09.12 |
| [Java] 연산자 (0) | 2023.09.11 |
| [Java] 형 변환(Casting) (0) | 2023.09.10 |