728x90
반응형
JAVA 반복문
- JAVA의 반복문에는 for문, while문, do-while문이 있다.
While
for문은 정해진 횟수만큼 반복한다면 while문은 조건식이 true인 경우 계속해서 반복한다.
(초기화);
while(조건) {
실행문; // true인 경우 실행
}
while구문은 true인 경우 계속해서 반복한다고 했다. 예를 들어 아래의 코드를 실행시킨다면 무한 반복 할 것이다. (강제 종료 시 Ctrl+C)
package java_0419;
public class whileEx {
public static void main(String[] args) {
while(true) {
System.out.println("오늘도 파이팅 해야지!");
}
}
}
만약 false로 바꿔서 실행시키면 컴파일조차 되지 않는다. 반복 조건이 false라 오류를 발생시키는 것이다.
public class whileEx {
public static void main(String[] args) {
int i = 0, j = 0;
while(i<=10) {
j += i;
i++;
System.out.println(i+"번째 실행한 j 값은 "+j+"입니다.");
}
}
}
🌼출력 결과⇒
1번째 실행한 j 값은 0입니다.
2번째 실행한 j 값은 1입니다.
3번째 실행한 j 값은 3입니다.
4번째 실행한 j 값은 6입니다.
5번째 실행한 j 값은 10입니다.
6번째 실행한 j 값은 15입니다.
7번째 실행한 j 값은 21입니다.
8번째 실행한 j 값은 28입니다.
9번째 실행한 j 값은 36입니다.
10번째 실행한 j 값은 45입니다.
11번째 실행한 j 값은 55입니다.
- i와 j에 정수 타입의 변수 선언, 초기값으로 0 대입
- 10보다 작다면 블록 안의 코드 수행
- 0 + 0 = 0
- i = 0 +1 = 1 → 이제 i =1 인 채로 두 번째 실행
- i ≤10 이기 때문에 블록 안의 코드 수행
- 0 + 1 = 1
- i = 1 + 1 = 2 → 이제 i = 2 인 채로 세 번째 실행
- i 가 10보다 클 때까지 반복 실행
while 탈출 코드 작성
public class whileEx2 {
public static void main(String[] args) {
boolean run = true;
int i = 1;
while (run){ //while(true)조건문
i++; //실행문
System.out.println(i);
if(i == 22) { // 조건문, i가 22되면 while구문 탈출
run = false;
}
}
}
무한 루프 돌지 않도록 if 구문을 삽입하여 while구문 탈출하게 하였다. 이외에도 break 구문 작성하는 방법이 있다.
do-while 구문
조건 식에 의해 반복 실행하는 do-while 구문은 구문의 이름(? 그대로이다. do(해라) while(~동안) 조건식을 만족하는 동안만 진행하면 된다.
- do while 구문 형식
do {
(1) 실행문 // 처음 한 번은 무조건 실행
} while((2) 조건식);
(1) 실행문 먼저 실행 (2) 조건식 결과 true 이면 (1) 실행문 실행 후 (2) 조건식 반복하고 false 이면 종료한다.
import java.util.Scanner;
public class dowhileEx {
public static void main(String[] args) {
int i, randomNum;
randomNum = (int)(Math.random() * 100) + 1; // 랜덤으로 숫자 1부터 100까지
Scanner sc = new Scanner(System.in);
do {
System.out.println("랜덤으로 숫자 입력해보세욜!🌼(1~100까지 입력)");
i = sc.nextInt(); // 숫자 받아오기
if (i > randomNum) {
System.out.println("더 작은 숫자 입력해보세요");
} else if (i < randomNum) {
System.out.println("더 큰 숫자 입력해보세요");
}
}
while(i!=randomNum);
System.out.println("맞아요! 랜덤 숫자를 맞췄습니다");
}
}
1~100까지의 정수를 입력 받아서 저장된 랜덤 숫자 맞추기 게임
✅ * while(i ≠ random) 이 부분은 이해가 필요할 듯…
728x90
반응형
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] 객체 지향 프로그래밍 기초 / 추상화란? OOP의 특성 알기 (0) | 2023.04.21 |
---|---|
[JAVA] JAVA 배열(Array) 기본 개념 / 배열이란? 배열 생성 방법 (0) | 2023.04.21 |
[JAVA] JAVA 제어문 - 반복문(for) (2) | 2023.04.19 |
[JAVA] 콘솔 입출력 / System.out.print & println & printf 구분하기 (0) | 2023.04.19 |
[JAVA] 연산자 / 산술연산자, 증감연산자(전위연산자와 후위연산자), 복합 대입 연산자, 비교연산자, 연산자순위 (0) | 2023.04.18 |