학습목표
for
문과 while
문의 공통점과 차이점
if
와 else if
, else
, switch
를 이해하고 활용
배운 내용
조건문
if (조건식) {
}
**if...else문**
if(조건식1) {
}
else if (조건식2) {
}
else {
}
**Switch문**
- 변수가 어떤 값을 갖느냐에 따라 실행문이 선택됩니다
- 괄호 안의 값과 동일한 값을 갖는
case
로 가서 실행문을 실행
break
문을 작성하지 않으면 switch
문을 탈출하지 않고 그 아래의 모든 case
문을 실행
switch (num) {
case "1":
System.out.println("1번");
break;
case "2":
System.out.println("2번");
break;
case "3":
System.out.println("3번");
break;
}
- 개발 : 어떤 문제를 해결하기 위해 논리적인 해결 방법을 담은 코드를 작성하는 일
- 알고리즘 : 어떤 문제를 해결하기 위한 일련의 절차나 방법을 정해진 형태로 표현한 것
- 수도 코드(pseudo code) : 프로그램의 절차 하나하나를 우리가 실제로 사용하는 일반적인 언어(자연어)로 작성하는 방법
**반복문**
for
문은 반복횟수를 알고 있을 때 주로 사용
while
문은 조건에 따라 반복할 때 주로 사용
**for문**
for(int num = 0 (초기화); num < 10 (조건식); num++ (증감식) ) {
sum += num;
}
- 초기화 : 사용할 변수의 초깃값 설정 (생략 가능)
- 조건식 : 조건식 안의 값이
true
라면 실행문을 실행시키고, false
라면 더 이상 블록을 실행하지 않고 종료
- 증감식 : 반복 횟수를 결정하는 규칙, 변수에 값을 더하거나 곱하는 등 수행 방식을 지정
- 조건식을 충족하는 동안 초기화식부터 시작해서 증감식의 규칙을 따라서 실행
for(int i=0, j=100; i<=50 && j>=50; i++, j--) {
실행문;
실행문;
}
**향상된 for문 (Enhanced for 문)**
- 배열 및 컬렉션 항목의 개수만큼 반복하고 자동적으로
for
문을 빠져나간다.
String[] menu = {"pizza", "burger", "potato"};
for(String a : menu) {
System.out.println(menu + "은 품절입니다.");
}
**while문**
(초기화);
while(조건식) {
실행문;
증감식;
}
**do-while문**
do {
(1)실행문
} while((2)조건식);
**break문**
- 반복문이 중첩되어 있을 경우
break
문은 가장 가까운 반복문만 종료
- 바깥쪽 for문에 라벨을 붙이고 break 사용시 ,해당위치의 바깥쪽 for문 종료
**continue문**
- 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
어려운 내용(에러)
문제
1.
else if (num % 3 == 0 )
return "SAUCE";
else if( num % 5 == 0)
return "KETCHUP";
if( num % 3 == 0 && num % 5 == 0)
return "SAUCE KETCHUP";
if( num % 3 == 0 && num % 5 == 0)
return "SAUCE KETCHUP";
else if (num % 3 == 0 )
return "SAUCE";
else if( num % 5 == 0)
return "KETCHUP";
2. 리턴값 중복시 케이스를 하나로 묶어 리턴
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
de
}
3.
double a = Math.pow(3, 2);
4. 팩토리얼
int result = 1;
for(int i=1 ;i <=num; i++){
result *= i;
}
return result;
public String listPrimes(int num) {
String result = "2";
for (int i = 3; i <= num; i++) {
boolean isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0)
isPrime = false;
}
if (isPrime)
result = result + "-" + i;
}
return result;
}
int count = 0;
int start = num1;
int end = num2;
if (num1 > num2) {
start = num2;
end = num1;
}
for (int i = start; i <= end; i++) {
if (i % 2 == 0) {
count += 1;
}
}
return count;
}
}