횟수가 정해져 있지 않고 참 인동안 계속해서 반복한다.
int distance = 25; //전체거리 25m
int move = 0; //현재 이동 거리 0m
while (move < distance) { //현재 이동거리가 전체 거리보다 작다는 조건이 참인 동안 반복 수행
System.out.println("발차기를 계속 합니다.");
System.out.println("현재 이동 거리 : " + move);
move += 3; //3미터 이동
System.out.println();
}
System.out.println("도착하였습니다.");
발차기를 계속 합니다.
현재 이동 거리 : move +=3
이렇게 계속 3씩 더해져서 출력되다가 distance값인 25가 되면 "도착하였습니다." 가 출력된다.
move = 0;
height = 25;
distance = 25;
while (move + height < distance) {
System.out.println("발차기를 계속 합니다.");
System.out.println("현재 이동 거리 :" + move);
move += 3;
}
System.out.println("-----반복문 #1-----");//*
System.out.println("도착했습니다."); //*
System.out.println();
while문의 조건식이 참이 아닌 거짓이 될 경우 조건식을 빠져나와 *문장 출력된다
move = 0;
height = 10;
do {
System.out.println("발차기를 계속 합니다.");
System.out.println("현재 이동 거리 : " + move);
move += 3;
} while (move + height < distance);
System.out.println("도착했습니다.");
while문의 조건식이 참인동안 do 문장이 실행된다.
조건이 맞지 않아고 무조건 한번은 문장이 실행된다.
int max = 20;
for(int i = 1; i <= 50; i++) {
System.out.println(i + "번 손님, 주문하신 음식 나왔습니다.");
if (i == max) {
System.out.println("금일 재료가 모두 소진되었습니다.");
break;
}
}
System.out.println("영업을 종료합니다.");

int index = 1;
while (index <= 50) {
System.out.println(index + "번 손님, 주문하신 치킨 나왔슴다.");
if(index == max) {
System.out.println("금일 재료 소진입니당~.");
break;
}
index++;
}
System.out.println("영업을 종료함당~");

int max = 20; //최대 치킨 판매 수량
int sold = 0; // 현재 치킨 판매 수량
int noShow = 17; // 대기번호 17번 손님이 노쇼
for(int i = 1; i <= 50; i++) {
System.out.println(i + "번 손님, 주문하신 치킨 나왔습니다."); //continue 한 후 돌아오는 지점
//손님이 노쇼했다면
if(i == noShow) {
System.out.println(i + "번 손님, 노쇼로 인해 다음 손님에게 기회가 넘어갑니다.");
continue; //*
}
sold++; //판매처리
if(sold == max) {
System.out.println("금일 재료가 모두 소진되었습니다.");
break;
}
}
System.out.println("영업을 종료합니다.");
*이 있는 부분을 보면 continue라는 명령어를 사용했는데 이는 continue 이후에 문장들을 수행하지 않고 처음 for문의 i 증감자로 다시 돌아가게 된다.
sold++이 수행되지 않았으니 20번이 아닌 21번 까지로 넘어가게된다.

int index = 1; // 손님 호
while (index <= 50) {
System.out.println(index + "번 손님, 주문하신 피자 나왔습니다.");
//손님이 노쇼했다면
if(index == noShow) {
System.out.println(index + "번 손님, 노쇼로 인해 다음 손님에게 넘어갑니다.");
index++; //**
continue; //*
}
sold++; //판매 처리
if(sold == max) {
System.out.println("금일 재료가 소진되었습니다");
break;
}
index++;
}
System.out.println("영업을 종료 합니다.");
for 에서는 continue 이후에 for문의 증감연산자 > 조건식 이 방향으로 돌아갔지만, while에서는 증감확인 없이 while문의 조건식으로 돌아간다.
**에서 index++을 해주는 이유는 continue 이후 문장은 수행되지 않음으로
노쇼 손님의 번호를 포함해 대신 피자를 받는 손님의 번호까지 포함되어야 하므로 continue 전에 증감연산자를 넣어주는 것이다.

index ++연산자가 분산되어 사용하면 나중에 헷갈릴 수 있기 때문에 다음과 같이 사용할 수 있다.
int index = 1; // 손님 번호
while (index < 50) { // index<50으로 변환시키고
index++;
System.out.println(index + "번 손님, 주문하신 피자 나왔습니다.");
//손님이 노쇼했다면
if(index == noShow) {
System.out.println(index + "번 손님, 노쇼로 인해 다음 손님에게 넘어갑니다.");
continue;
}
sold++; //판매 처리
if(sold == max) {
System.out.println("금일 재료가 소진되었습니다");
break;
}
}
System.out.println("영업을 종료 합니다.");
while문 안에서 index++을 넣으면 continue를 하든 if문을 하든 앞쪽에서 사용되기때문에 간단하게 볼 수 있다.