- 조건문 :
if
switch
- 반복문 :
for
while
do while
if(조건식) { // boolean 값으로 평가될 수 있는 조건식
//조건식이 참일때 실행되는 블록
}
if(조건식1) {
//조건식1이 참이면 실행되는 블록
}
else if (조건식2) {
//조건식1이 참이 아니면서 조건식2가 참이면 실행되는 블록
}
else {
//조건식1과2가 모두 참이 아닐 떄, 실행되는 블록
//else문은 생략 가능
}
true
일 경우에 블록 내부의 실행문을 실행하는 것이 아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.switch (dice) {
case "1":
System.out.println("1번");
break; // 다음 case 실행x switch문 탈출
case "2":
System.out.println("2번");
break;
default: // 괄호 안 값과 같은 값이 없으면 여기서 실행
System.out.println("없는 숫자" + dice);
break;
}
if (age >= 20 ) return true;
else return false;
int sum = 0;
// for(초기화; 조건식; 증감식)
for(int num = 0; num <10; num++) {
sum += num;
}
System.out.println(sum); //1~9까지의 합 45 출력됨.
초기화식이 필요 없을 경우나 초기화식 증감식 둘 이상 가능
for(int i=0, j=100; i<=50 && j>=50; i++, j--){
실행문;
}
(초기화);
while(조건식) {
실행문; //조건식이 참인 동안 실행됨.
증감식;
}
int num = 0, sum = 0;
while(num <= 10 {
sum += num //sum = sum +num
num++;
}
조건식에 true를 사용하면 while 문을 빠져나가기 위한 코드를 작성해주어야함. break
사용가능
do {
(1)실행문 // 처음 한 번은 무조건 실행
} while((2)조건식);
break문
반복문인 for
while
do-while
과 switch
조건문에서도 사용
대개 if
문과 같이 사용되며, if
문의 조건식에 따라 for / while
문을 종료 할 때 사용
continue문
반복문에서만 사용
블록 내부에서 실행되면 for문의 증감문이나 while, do-while 문의 조건식으로 이동하여 실행된다.
-반복문이 종료되지 않음
코플릿 문제 예제
public boolean isPrime(int num) {
// TODO:
if (num == 2) return true;
if (num == 1 || num % 2 == 0) return false;
for (int i = 3; i < Math.sqrt(num); i += 2) { //제곱근까지만 검사
if (num % i ==0) return false;
}
return true;
}
// 반복문 -> 2부터 자기 자신 -1 까지 중에 나누어 떨어지는 수가 있는지 검사 -> 있다 -> false
// 반복문 종료 -> true
// 2를 제외한 소수는 전부 홀수이다.
// 제곱근 : 9의 제곱근 -> 3
//81 의 약수
//1, 3, 9, 27, 81
//81의 제곱근 9 제곱근까지만 검사하여도 소수 여부 검사 가능
public int daysInMonth(int month) {
// TODO:
if (month==1 || month==3 || month==5 || month == 7 || month == 8 || month == 10 || month == 12) {
return 31;
} else if (month ==2){
return 28;
}
else {
return 30;
}
} // 내가 if문으로 푼 풀이
레퍼런스 (switch문 활용)
switch (month) {
case 2: return 28;
case 4:
case 6:
case 9:
case 11: return 30;
default: return 31;
쓰레기가 된 기분을 살짝 느꼈다.ㅋㅋㅋㅋㅋㅋㅋ
페어분이랑 조건문 반복문 문제를 풀었는데 조건문은 그나마 괜찮았지만 반복문으로 넘어가 알고리즘 문제를 푸는 순간 정말 아무것도 모르는 백지 상태가 되었다,,,,,오늘 저녁에는 문제를 마저 풀어야겠다..내일이 너무 걱정된다. 내가 배운건 숫자인데 갑자기 함수를 푸는 기분😂