728x90
코드 스테이츠 7일차
반복문
for 문
for문은 조건식이 참인 동안 주어진 횟수만큼 실행문을 반복적으로 수행합니다.
- 초기화는 for문이 시작할 때 최초 한 번만 수행되며, 사용할 변수의 초깃값을 정합니다.
- 조건식은 계속 반복할지 여부를 결정하는 조건입니다. 조건식 안의 값이 true라면 실행문을 실행시키고, false라면 더 이상 블록을 실행하지 않고 끝납니다.
- 증감식은 반복 횟수를 결정하는 규칙입니다. 변수에 값을 더하거나 곱하는 등 수행 방식을 지정합니다. ++ 은 반복문에서 자주 쓰는 증감연산자로, 피연산자의 값을 1 증가시킵니다.
public class Main {
public static void main(String[] args) {
int sum = 0;
// for (초기화; 조건식; 증감식)
for(int num = 0; num < 10; num++) {
sum += num;
}
System.out.println(sum); // 1~9의 합인 45가 출력됩니다.
}
}
while 문
while문은 조건식이 true일 경우에 계속해서 반복합니다.
for문과 while문은 초기화, 증감식의 위치만 다를 뿐 상호 대체가 가능합니다.
int num = 0, sum = 0;
while(num <= 10) {
sum += num; //sum = sum + num과 똑같은 식입니다. 복합 대입 연산자 "+="를 사용한 표현입니다.
num++;
}
System.out.println(sum);
do-while 문
do-while문은 조건식에 의해 반복 실행한다는 점에서는 while문과 동일합니다.
while문은 시작할 때부터 조건식을 검사하여 블록 내부를 실행할지 결정하지만, 경우에 따라서는 블록 내부의 실행문을 우선 실행시키고 실행 결과에 따라서 반복 실행을 계속할지 결정하는 경우도 있습니다.
int input = 0, randomNum = 0;
randomNum = (int)(Math.random() * 10) + 1; // 1 ~ 10 임의의 수를 생성
Scanner scanner = new Scanner(System.in);
do{
System.out.println("1과 10 사이의 정수를 입력하세요");
input = scanner.nextInt();
if(input > randomNum) {
System.out.println("더 작은 정수를 입력하세요");
} else if (input < randomNum) {
System.out.println("더 큰 정수를 입력하세요");
}
} while(input != randomNum);
System.out.println(randomNum +" 정답입니다!");
break문
break문은 반복문인 for문, while문, do-while문을 실행 중지할 때 사용됩니다. 또한 이전에 학습한 switch문에서도 break문을 사용하여 switch문을 종료합니다.
for (...){
break;//break문으로 for문 실행을 중지한다.
}
while (...){
break;//break문으로 while문 실행을 중지한다.
}
반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고, 바깥쪽 반복문에는 영향을 끼치지 않습니다.
public class Main {
public static void main(String[] args) {
Outer : for (int i = 3; i < 10; i++) {
for (int j = 5; j > 0; j--) {
System.out.println("i " + i + " j "+ j);
if (i == 5) {
break Outer;
}
}
}
}
}
/*
i 3 j 5
i 3 j 4
i 3 j 3
i 3 j 2
i 3 j 1
i 4 j 5
i 4 j 4
i 4 j 3
i 4 j 2
i 4 j 1
i 5 j 5
*/
countinue문
continue문은 반복문인 for문, while문, do-while문에서만 사용되는데, 블록 내부에서 continue문이 실행되면 for문의 증감문 혹은 while, do-while문의 조건식으로 이동하여 작동합니다.
continue문과 break문의 차이점은 반복문 종료 여부입니다. continue문은 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행합니다.
public class Main {
public static void main(String[] args) throws Exception {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) { //나머지가 0일 경우는
continue; //다음 반복으로 넘어간다.
}
System.out.println(i); //홀수만 출력
}
}
}
/*
1,3,5,7,9
*/
728x90
'코드 스테이츠' 카테고리의 다른 글
코드 스테이츠 4/21 - 객체지향 프로그래밍 기초 1 (0) | 2023.04.21 |
---|---|
코드 스테이츠 4/20 - Java 기초 3 (0) | 2023.04.20 |
코드 스테이츠 4/18 - Java 기초 2 (0) | 2023.04.18 |
코드 스테이츠 04/17 - Java 기초 1 (0) | 2023.04.17 |
코드 스테이츠 4/14 - Git (0) | 2023.04.14 |