while 문
- for 문 : while 문의 변형 / 반복 횟수를 알 때
- while 문 : 반복 횟수를 모를 때
- do-while 문 : while 문의 변형
//while 문의 형태
int a = 0; //변수 초기화
while (true) { //조건식
실행할 문장
a++; //변수 증감식
}
//for 문의 형태
for (i=0; i<=10, i++) { //변수 초기화,조건식,변수 증감식
실행할 문장
}
- for문과 while문은 100% 서로 호환 가능하다. (변경하여 사용 가능)
- if문과 switch문의 경우는 항상 호환되는 것은 아님.
while문 예제
int i = 5
while (i--!=0) {
실행할 구문
}
- i를 1씩 증가시키며 sum에 증가한 i를 계속 더하기
int sum = 0;
int i = 0;
while(sum=<100){
sum += ++i;
}
do-while문
- 처음 한번은 무조건 실행된다.
- 사용자의 입력을 반드시 받아야 하는 경우 유용하다.
do {
조건식이 참일 경우 수행할 문장
} while (조건식);
do-while문 예제
int input = 0, answer = 0;
answer = (int)(Math.random()*100) + 1;
Scanner scannner = new Scanner(System.in);
System.out.println("1~100 사이의 정수를 입력하세요");
input = scanner.nextInt();
while(input!=answer){
if (input > answer) {
System.out.println("더 작은 수로 시도하세요");
} else if (input < answer) {
System.out.println("더 큰 수로 시도하세요");
}
System.out.println("1~100 사이의 정수를 입력하세요"); //코드 중복 일어남
input = scanner.nextInt();
}
System.out.println("정답입니다");
int input = 0, answer = 0;
answer = (int)(Math.random()*100) + 1;
Scanner scannner = new Scanner(System.in);
do {
System.out.println("1~100 사이의 정수를 입력하세요");
input = scanner.nextInt();
if (input > answer) {
System.out.println("더 작은 수로 시도하세요");
} else if (input < answer) {
System.out.println("더 큰 수로 시도하세요");
}
} while(input!=answer);
System.out.println("정답입니다");