특정 명령어(들)을 조건을 만족할 동안 계속해서 반복 실행시키고자 할 때 사용
for 문을 사용하는 형식
for( 초기값 ; 조건식 ; 증감식 ){
명령어(들)
}
for (int i = 0; i < 10; i++) {
System.out.println("안녕하세요 " + i);
}
1~10 까지의 합 = 55 구하기
int sum = 0;
for (int i = 1; i < 11; i++) {
sum += i;
}
System.out.println(sum);
거꾸로
for (int i = 5; i > 0; i--) {
System.out.println("거꾸로 " + i);
}
while 문의 형식
초기값
while( 조건식 ){
명령어(들)
증감식
}
int distance = 25; // 이동할 거리
int move = 0; // 현재 거리
while (distance > move) {
System.out.println("현재 이동 거리 " + move);
move += 3;
}
int distance = 25; // 이동할 거리
int move = 0; // 현재 거리
int h = 2; // 사람 키
do {
System.out.println("현재 이동 거리 " + move);
move += 3;
} while (distance > (move + h)); {
System.out.println("도착 3");
do while은 do 안에 있는 문장을 실행 후 while로 이동
조건이 맞다면 다시 do로 이동
while문과 do~while문의 차이
처음부터 조건을 만족하지 않을때에
while문은 반복문을 한번도 동작하지 않는다.
그러나 do~while문은 적어도 한번은 동작한다.
for문 이중 반목문 표현식
for( 초기값 ; 조건식 ; 증감식 ){
for(초기값 ; 조건식; 증감식){
명령어(들)
}
명령어(들)
}
*로 사각형 만들기
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
}
public class _10_Break {
public static void main(String[] args) {
int max = 20;
for (int i = 1; i <= 50; i++) {
System.out.println(i + "번 손님 치킨 나왔습니다.");
if (i == max) {
System.out.println("금일 재로 소진");
break;
}
}
int index = 1;
while (index <= 50) {
System.out.println(index + "번 손님 치킨 나왔습니다.");
if (index == max) {
System.out.println("금일 재료 소진");
break;
}
index++;
}
}
}
반복문 도중에 조건이 만족시 break문을 통해 반복문을 빠져나올 수 있다
특정 조건에서 반복문을 빠져나오지 않고 계속 루프를 돌고 싶을 때 사용하는 경우
public class _11_Continue {
public static void main(String[] args) {
int max = 20; // 최대 판매 수향
int sold = 0; // 판매 수량
int no_show = 15;
for (int i = 1; i <= 50; i++) {
System.out.println(i + "번 손님 치킨 나왔습니다");
if (i == no_show){
System.out.println("노쇼 손님 " + i);
continue;
}
sold++;
if (sold == max) {
System.out.println("금일 재료 소진");
break;
}
}
System.out.println("구분------------------");
int idx = 0;
sold = 0;
no_show = 14;
// while (idx < 50) {
// 탈출 조건이 있기때문에 반복문 무한 루프에서 탈출가능
while (true) {
idx++;
System.out.println(idx + "번 손님 치킨 나왔습니다");
if (no_show == idx) {
System.out.println("노쇼 손님 " + idx);
continue;
}
sold++;
if (sold == max){
System.out.println("금일 재료 소진");
break;
}
}
}
}
참고
나도코딩 유튜브