블로그

[JAVA] 반복문 for, while, do-while 그리고 break,continue 본문

개발자 준비과정/JAVA

[JAVA] 반복문 for, while, do-while 그리고 break,continue

하늘바람a 2024. 3. 1. 17:13
// for(1초기화식; 2조건식; 4증감식){3조건이 true일 경우 실행문 실행}조건이 false일 경우
// 1->2->3->4->2->3->4->2 순서로 실행. 2조건식이 false일 경우 for문 끝남.
// 초기화식에서 선언된 변수는 for문 블록 안에서만 사용되는 로컬 변수
// for문을 벗어나서 사용하고 싶다면 for문 이전에 선언하기
// 주의점 : 부동 소수점을 쓰는 float 타입 사용하지 말 것. 정확히 0.1을 표현하지 못하기 때문에 증감식에서 더해지는 실제값이 0.1보타 약간 클 수 있음.
// 중첩 for문 가능

// while(1조건식){2실행문} 1이 true인 경우 2 계속 반복
// for문 : 정해진 횟수만큼 반복
// while문 : 조건식이 true일 경우 계속 반복, false가 되면 종료

// do-while문
// do{1실행문}while(2조건식);
// while문과의 공통점 : 조건식이 true일 때 반복 실행됨. false일 경우 종료
// 차이점 : while문->시작할때부터 조건식 평가. do-while문->실행문을 한번 실행 후 조건식 평가
// 주의점 : while()뒤에 세미콜론(;) 붙여야함

System.out.println("메세지를 입력합니다. 프로그램을 종료하려면 q를 입력하세요");
Scanner scanner=new Scanner(System.in);
String str;
do{
    System.out.print(">");
    str=scanner.nextLine(); //입력받은 값을 String 변수 str에 저장
    System.out.println(str);
}while(!str.equals("q")); //str이 "q"가 아닐동안 실행문 실행

// break문
// break를 만나면 뒤의 코드를 실행하지 않는다
// 반복문 for,while,do-while문, 조건문 중 switch문을 종료할 때 사용
// 대개 if문과 같이 사용
// 중첩 반복문일 경우, 가까운 반복문만 종료시킨다.
// 바깥쪽 반복문도 종료시키고 싶을 때 : 바깥쪽 반복문에 이름을 붙이고 break 이름; 사용 거의 사용하지 않는다
// Label : for(){for(){break Label;}} //Label아니어도 됨.

for(int i=0; i<=5; i++){
    System.out.println("i = " + i); // i=0, i=1, i=2
    if(i==2){   // 만약 i가 2라면
        break;  // for문 종료
    }
    System.out.println("i = " + i); // i=0, i=1
    System.out.println("break문 종료"+i); // i=2일때 break되어 for문 종료됨.
}

// continue문
// 블록 내부에서 continue문 실행 -> for문의 증감식 or while,do-while문의 조건식으로 바로 이동
// 반복문인 for,while,do-while에서만 사용된다.
// break문과의 차이점 : 반복문을 종료하지 않고 계속 반복 수행
// 대개 if문과 같이 사용
// 특정 조건을 만족하는 경우 continue문 실행 -> 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어간다

for(int j=0; j<=5; j++){
    if(j%2!=0){   // 만약 홀수라면
        continue; // 홀수는 넘어간다.
    }
    System.out.println("j = " + j); // 짝수만 출력된다
}

'개발자 준비과정 > JAVA' 카테고리의 다른 글

[JAVA] Call By Value  (0) 2024.03.04
[JAVA] 참조타입의 특징  (0) 2024.03.01
[JAVA] 조건문 : if, switch  (0) 2024.03.01
[JAVA] 변수 선언과 할당, 그리고 스택(Stack)과 힙(Heap)  (0) 2024.02.29
[JAVA] Arrays  (4) 2024.02.28