for 문
- 정해진 횟수만큼 반복할 때 사용하는 반복문
- 끝이 정해져 있는 반복문
- 반복 횟수를 알 때 주로 사용
기본 구조
for(초기식; 조건식; 증감식){ // 조건식이 참인 동안 반복 실행 }
while 문
- 어떤 조건을 정해 놓고 반복하는 반복문
- 끝이 정해져 있지 않은 반복문
- 반복 횟수를 알 수 없을 때 (무한 반복) 해야 할 때 주로 사용
기본 구조
while(조건식){ // 조건식에 true를 넣을시 무한 반복 한다. // 조건식이 참인 동안 반복 실행 }
무한 반복을 하는 경우 ‘데몬(Daemon)’이 되는데 이를 멈추기 위해서
‘인터럽트(Interrupt)’를 걸어 줘야 한다. 그래서 while에는 break를 쓰는 것을 추천한다.
ex) break;, Ctrl + C 등
break 문
- 현재의 반복문을 벗어날 때 사용
- 레이블을 붙이면 중첩 반복문도 벗어날 수 있다.
continue 문
- 반복문에서 현재의 반복을 건너뛰어서 다음 반복으로 넘어가도록 한다.
- 핵심 로직을 넘어갈 때 주로 사용
- 아이디 로그인과 비슷하게 생각하면 된다.
for 문 예제
for 문 1번 예제
package ex03; public class ForExample1 { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.println("i의 값은: " + i); } } }
출력 결과
for 문 2번 예제
package ex03; public class Sum { public static void main(String[] args) { int sum = 0; // 1. sum이라는 저장공간에 i의 값을 중첩시켜서 저장한다. (1~10까지의 합) for (int i = 1; i <= +10; i++) { sum = sum + i; } System.out.println("1부터 10까지의 정수의 합 = " + sum); } }
출력 결과
for 문 3번 예제
package ex03; import java.util.Scanner; public class Factorial { public static void main(String[] args) { long fact = 1; // 팩토리얼은 길이가 길어질수 있기에 long으로 선언하고 1로 초기화하는 이유는 모든 값을 곱하여야 하기때문에 0을 하면 무조건 값이 0이 되기 때문이다. int n; Scanner sc = new Scanner(System.in); System.out.print("정수를 입력하시오: "); n = sc.nextInt(); for (int i = 1; i <= n; i++) { fact = fact * i; } System.out.print(n + "!은 " + fact + "입니다."); } }
출력 결과
for 문 4번 예제
package ex03; import java.util.Scanner; public class Divisor { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("양의 정수를 입력하시오: "); int n = sc.nextInt(); System.out.print(n + "의 약수는 다음과 같습니다."); for (int i = 1; i <= n; i++) { if (n % i == 0) { System.out.print(" " + i); } } } }
출력 결과
for 문 5번 예제
package ex03; public class NestedLoop { public static void main(String[] args) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 10; j++) { System.out.print("*"); } System.out.println(); } } }
출력 결과
while 문 예제
while 문 1번 예제
package ex03; import java.util.Scanner; public class GetSum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0, value = 0; while (value != -1) { sum = sum + value; System.out.print("정수를 입력하시오: "); value = sc.nextInt(); } System.out.print("정수의 합은 " + sum + "입니다."); } }
출력 결과
while 문 2번 예제
package ex03; import java.util.Scanner; public class Averager { public static void main(String[] args) { int total = 0, count = 0; Scanner sc = new Scanner(System.in); while (true) { System.out.print("점수를 입력하시오: "); int grade = sc.nextInt(); if (grade < 0) { break; } total = total + grade; count++; } System.out.println("평균: " + total / count); } }
출력 결괴
Share article