0. 반복문
- 코드의 일정부분을 반복하여 실행하는 제어문
- 조건식이 참일 동안 반복하여 실행하는 제어문
- 반드시 탈출조건 또는 종료 지점을 만들어 주어야 한다.
- 종류
while : 반복할 횟수가 일정하지 않을 때
do ~while : 반드시 한번은 실행을 해야 하며 잘못된 데이터를 걸러낼 때 사용한다.
for : 반복할 횟수가 일정할 때
------------------------------------------------------------------------------------
while
- 반복할 횟수가 일정하지 않을 때
- 반복할 횟수가 모를 때
- 반복할 횟수가 무한일 때
- 형식
while(조건식) {
종속문장;
}
do ~ while
- 무조건 한번은 실행을 해야하며 잘못된 데이터를 걸러낼 때 사용
- 종속문장을 먼저 실행하기 때문에 결과물을 이용하여 조건식에서 비교하기 좋다
- while문과 구별하기 위해서 제일끝에 ;적어주어야 한다.
- 형식
do {
종속문장
} while(조건식);
1. 실습코드 (기본문법)
package whileloop; public class Test01 { public static void main(String[] args) { int i = 1; while(true) { System.out.println(i); if(i == 5) { break; // 탈출 지점 while - true ~ 조건문 조합 } i++; } while(i <= 5) { System.out.println(i); i++; } } } |
2. 실습코드(업-다운 게임)
package whileloop; import java.util.Scanner; public class Test04 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int ans = (int)(Math.random() * 100) + 1; int i = 0; while(true) { System.out.print("수입력 : "); int num = sc.nextInt(); i ++; if (num == ans) { System.out.println("정답!"); System.out.println("시도 횟수 : " + i + "번"); break; } else if (ans > num) { System.out.println("업!"); } else { System.out.println("다운!"); } } } } |
3. 실습코드(구구단 맞추기)
package whileloop; import java.util.Scanner; public class Test05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int score = 0; int correct = 0; int wrong = 0; while(wrong < 3) { int a = (int)(Math.random() * 18) + 2; int b = (int)(Math.random() * 9) + 1; int ans = a * b; System.out.print(a + " X " + b + " = "); int user = sc.nextInt(); if(ans == user) { System.out.println("정답! + 10점"); score += 10; correct ++; if(a >= 11) { System.out.println("어려운 문제 정답 추가 5점!"); score += 5; } } else { System.out.println("오답!"); wrong ++; } } System.out.println("게임오버!"); System.out.println("획득 점수 : " + score + "점"); System.out.println("정답 횟수 : " + correct + "번"); } } |
4. 실습코드 (무기 레벨업)
package whileloop; public class Test06 { public static void main(String[] args) { int level = 0; int tot = 0; int pay = 1000; while (level < 10) { tot += pay; int percent = (int) (Math.random() * 100) + 1; if (percent <= 35) { System.out.println("성공"); level++; } else if (percent > 70) { System.out.println("실패"); if (level != 0) { level--; } } else { System.out.println("무반응"); } } System.out.println("Level 10 달성! 총 청구 금액 : " + tot + "원"); } } |
'Base > Java' 카테고리의 다른 글
11. array (배열) (0) | 2022.05.30 |
---|---|
10. for 반복문 (0) | 2022.05.23 |
8. 선택문 (switch ~ case) (0) | 2022.05.22 |
7. Math.random()와 if-else 구문 연습 (0) | 2022.05.22 |
6. 제어문 - 조건문 ( if ~else) (0) | 2022.05.22 |
댓글