1.반복문에서 while 문과 do while 문의 차이는?
- while: 조건문이 false 값이 나오기 전까지 반복한다.
- do while: false 도 true 도 일단 한번 실행시키고 조건문이 false 가 나오기 전까지 반복한다.
2.for 문에서 for 문이 실행되는 순서를 설명하시오.
- 초기화한다.
- 조건문을 판단한다.
- 내용물을 처리한다.
- 반복의 조건을 무너뜨리기 위한 연산을 한다. (ex: i++)
- (2,3,4)를 반복한다.
3. 9단을 출력하는 프로그램을 만드시오.(while 문 사용할것)
final int NUM_9 = 9;
boolean run = true;
int i = 1;
while(run) {
if (i > 9) {
run = false;
} else {
System.out.println(NUM_9 + " x " + i + " = " + (NUM_9 * i));
}
i++;
}
4.1부터 100까지의 합을 구하시오.
final int MIN_NUM = 1;
final int MAX_NUM = 100;
int sum = 0;
for(int i = MIN_NUM; i <= MAX_NUM; i++) {
sum += i;
}
String print = MIN_NUM + "부터 " + MAX_NUM + "까지 합은 " + sum + "입니다.";
System.out.println(print); //1부터 100까지 합은 5050입니다.
5.1부터 100까지의 홀수들의 합을 구하시오.
final int MIN_NUM = 1;
final int MAX_NUM = 100;
int sum = 0;
for(int i = MIN_NUM; i <= MAX_NUM; i++) {
if (i % 2 == 1) {
sum += i;
}
}
String print = MIN_NUM + "부터 " + MAX_NUM + "까지 홀수의 합은 " + sum + "입니다.";
System.out.println(print); //1부터 100까지 홀수의 합은 2500입니다.
6.반복문에서의 break 와 continue 를 설명하시오.
- break: 아래 연산들을 무시하고 반복문을 탈출한다. 가장 가까운 반복문만 탈출한다.
- continue: 아래 연산들을 무시하고 반복문의 조건문으로 다시 돌아간다.
7. 아래를 프로그래밍 하시오.
- 1과 1000 사이의 숫자중 3의 배수 이자 5의 배수인 첫번재 수는?
final int MIN_NUM = 1;
final int MAX_NUM = 1000;
final int NUM1 = 3;
final int NUM2 = 5;
int lcm = 0;
for(int i = MIN_NUM; i <= MAX_NUM; i++) {
if ((i % NUM1 == 0) && (i % NUM2 == 0)) {
lcm = i;
break;
}
}
String print;
if (lcm == 0) {
print = MIN_NUM + "과 " + MAX_NUM + "사이에 "
+ NUM1 + "과 " + NUM2 + "의 최소공배수가 없습니다.";
} else {
print = NUM1 + "과 " + NUM2 + "의 최소공배수는 "
+ lcm + "입니다.";
}
System.out.println(print); //3과 5의 최소공배수는 15입니다.
8. 1과 1000 사이의 숫자중 2의 배수 이자 3의 배수인 수는 모두 몇개인가?
final int MIN_NUM = 1;
final int MAX_NUM = 1000;
final int NUM1 = 2;
final int NUM2 = 3;
int counts = 0;
for(int i = MIN_NUM; i <= MAX_NUM; i++) {
if ((i % NUM1 == 0) && (i % NUM2 == 0)) {
counts += 1;
}
}
String print = MIN_NUM + "과 " + MAX_NUM + " 사이의 숫자 중 "
+ NUM1 + "와 " + NUM2 + "의 공배수는 " + counts + "개입니다.";
System.out.println(print); //1과 1000 사이의 숫자 중 2와 3의 공배수는 166개입니다.
9.반복문 3가지의 무한루프 만드는 방법은?
- while: 조건문이 영원히 true 가 될 수 있도록 코딩한다.
//예시
while(true) {}
- do while: 조건문이 영원히 true 가 될 수 있도록 코딩한다.
//예시
do{}while(true);
- for: 조건문이 영원히 true 가 될 수 있도록 코딩한다.
//예시
for(;true;){}
10. 1부터 1000 사의 숫자중 3의 배수 이자 5의 배수인 수를 카운트 하고, 해당 숫자를 출력하시오.
final int MIN_NUM = 1;
final int MAX_NUM = 1000;
final int NUM1 = 3;
final int NUM2 = 5;
int counts = 0;
for(int i = MIN_NUM; i <= MAX_NUM; i++) {
if ((i % NUM1 == 0) && (i % NUM2 == 0)) {
counts += 1;
}
}
String print = MIN_NUM + "과 " + MAX_NUM + " 사이의 숫자 중 "
+ NUM1 + "과 " + NUM2 + "의 공배수는 " + counts + "개입니다.";
System.out.println(print); //1과 1000 사이의 숫자 중 3과 5의 공배수는 66개입니다.