반복문에 대해 알아보겠습니다.
반복문에는 크게 while문 for문이 있습니다.
조건문에 이어 반복문도 제가 제일 좋아하는 문입니다.
while문과 for문의 차이는
while문의 같은 경우는
-몇 번 반복할지 모를 때 사용하시는 게 좋고 무한하게 사용하고 싶을 때 좋습니다.
while문의 코드는
while(조건식) {
수행할 문장
}
이렇게 쓸 수 있으며 조건문과 다른 점은 조건식이 false가 될때까지 계속 반복한다는 것이다. 예를 들어보겠다
public static void main(String[] args){
System.out.println("좋은 아침입니다.");
}
이 예제를 출력하면 "좋은 아침입니다." 가 한번 출력될 것이다.
하지만 100번 1000번 출력하고 싶으면 저걸 100번 1000번 사용하는 방법도 있지만
언제 그걸 다 하겠나 그래서 생긴게 반복문이다 우린 그중 while문을 알아가고 있는 것이다.
int i = 1;
while(i<=100){
System.out.println("좋은 아침입니다.");
i++;
}
이 예제를 실행해보면 "좋은 아침입니다."라는 문구가 100번 출력된다.
100번 써야할 것을 이렇게 간단히 쓸 수 있다 신기하지 않은가?
i++;은 증감연산자이다 저게 없으면 무한 반복이 실행된다. 한번 연산자를 빼고 실행해도 되는데 안 하는 걸 추천한다.
무한 반복이야기를 했는데
while은 무한 반복문으로 만들 수도 있다.
조건식에 true를 넣어주면 계속 돌 것이다.
while(true){
System.out.println("좋은 아침입니다.");
}
여기서 의문점이 든다 이 무한 반복문을 어디에다가 쓰지?
일상생활에서도 많이 볼 수 있다 예를 들면 요즘 음식점이나 카페 여러 군대를 가도 키오스크라는 기계가 있을 것이다
기계에서 주문을 하면 메뉴 고르고 결제하고 다시 처음 화면으로 돌아간다.
손님이 적게 올 떄도 있고 많이 올 때도 있는데 이걸 어떻게 정할 수 없지 않은가
그래서 이럴떄 무한 반복문으로 처리하면 손님이 얼마나 오든 상관이 없다
대신 무한 반복문을 쓸떄는 종료하는 조건문을 꼭 만들어 줘야 한다.
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("===메뉴===");
System.out.println("1. 커피");
System.out.println("2. 아이스티");
System.out.println("3. 라뗴");
System.out.println("0. 종료");
System.out.println("입력: ");
int num = sc.nextInt();
if(num==0) {//종료 조건
break;
}
else if(1<=num && num<=3) { //유효성 검사 제대로 입력했다면
System.out.println("메뉴 출력");
}else {//잘못 입력했다면
System.out.println("없는 메뉴입니다.");
}
}
}
}
예제를 보겠다 처음 보는 Scanner라는 것이 있는데 이건 가볍게 생각하면 사용자에게 입력을 받는 일종의 클래스다
입력을 받는 것만 알아두고 자세한 건 추후에 다루겠다.
충분히 이해하실 거라 생각하겠다 어려운 예제는 아니니까
다음으로 do-while문이 있다.
while문을 제대로 이해하셨다면 이 정도는 쉽다.
do{
실행문
}while(조건식);
while문의 같은 경우는 while문의 조건이 참이어야 실행되는데
do-while문은 무조건 한 번은 실행되는 반복문이다