1. 조건문의 3가지 종류를 나열하고 설명하시오.
: 조건문에는 if문, if else문, if else if문이 있다.
1-1.
: if문에는 특정 한 조건을 만족시키는 결과를 출력하고자 할 때 쓰며
if (boolean 타입의 변수명 및 조건식) {
(조건을 만족할 때 해당 내용 출력)
} ... 와 같은 형태를 띈다.
1-2.
: if~else문은 특정 한 조건을 만족시키고 나머지는 일괄적으로 묶어서 출력하고자 할 때 쓰며
if (boolean 타입의 변수명 및 조건식) {
(조건을 만족할 때 해당 내용 출력)
} else {
(if 조건을 만족하지 않을 때 해당 내용 출력)
} ... 와 같은 형태를 띈다.
1-3.
: if~else if문은 여러 조건상에서 만족시키고 싶을 때 쓰며
if (boolean 타입의 변수명 및 조건식. 1) {
(조건을 만족할 때 해당 내용 출력. 1)
} else if(boolean 타입의 변수명 및 조건식. 2) {
(조건을 만족할 때 해당 내용 출력. 2)
} else {
(위 조건들을 만족하지 않을 때 해당 내용 출력)
} ... 와 같은 형태를 띈다.
2. 아래의 프로그램을 짜시오.
2-1. 국어:80 수학:80 영어:60점과 평균을 출력하고, 평균에 따른 수우미양가를 출력하시오.
public class Main {
public static void main(String[] args) {
int kor = 80; // 국어: 80
int mat = 80; // 수학: 80
int eng = 60; // 영어: 60
double avg = (kor + mat + eng) / 3.0; // 세 과목의 평균 점수
System.out.print("당신의 평균 성적은 " + Math.round(avg) + "이고, ");
if (avg >= 90) {
System.out.println("등급은 수 입니다.");
} else if (avg >= 80) {
System.out.println("등급은 우 입니다.");
} else if (avg >= 70) {
System.out.println("등급은 미 입니다.");
} else if (avg >= 60) {
System.out.println("등급은 양 입니다.");
} else {
System.out.println("등급은 가 입니다.");
}
}
}
2-2. int num = 33 할당후 해당 숫자 짝수면 짝수 입니다 출력. 홀수면 홀수 출력
public class Main {
public static void main(String[] args) {
int num = 33;
if ((num % 2) == 0) {
System.out.println("짝수 입니다.");
} else {
System.out.println("홀수 입니다.");
}
}
}
2-3. int num = 66 할당후, 2의 배수 이고 3의 배수이면, 해당 수를 출력하고, 아니면 2의 배수 이고 3의 배수 가 아닙니다 출력.
public class Main {
public static void main(String[] args) {
int num = 66;
if (((num % 2) == 0) && ((num % 3) == 0)) {
System.out.println(num);
} else {
System.out.println("2의 배수이고 3의 배수가 아닙니다.");
}
}
}
2-4. 80, 33 ,55 = 최대값을 출력하시오.
public class Main {
public static void main(String[] args) {
int num1 = 80;
int num2 = 33;
int num3 = 55;
int max = (num1 > num2) && (num1 > num3) ? num1 : (num2 > num3 ? num2 : num3);
System.out.println(max);
}
}
3. 다음과 같이 삼항연산자를 사용하여 프로그래밍 하시오. (80, 33 ,55 = 최대값을 출력)
public class Main {
public static void main(String[] args) {
int num1 = 80;
int num2 = 33;
int num3 = 55;
int max = (num1 > num2) && (num1 > num3) ? num1 : (num2 > num3 ? num2 : num3);
System.out.println(max);
}
}
4. switch 문의 특성을 설명하시오.
: switch문의 case 키워드는 기본적으로 break 키워드가 조건부로 있지 않으면 case의 순차에 따라 계속 출력하는 특성을 띄고있다. 예를 들면
public class Main {
public static void main(String[] args) {
int a = 1;
switch (a) {
case 1:
case 2:
case 3:
default:
System.out.println("default case 출력했습니다.");
break;
}
}
} ... 와 같은 경우
case 1~3에 내용이 없을뿐더러 break 키워드 또한 없으므로 default case에 해당되는 내용을 출력하는 것을 알 수 있다.
5. int num = -10 을 할당후 해당 정수에 대한 절대값을 출력하는 프로그램을 작성하시오.
public class Main {
public static void main(String[] args) {
// Math.abs() 기능 사용
int num = -10;
System.out.println(Math.abs(num));
}
}
혹은
public class Main {
public static void main(String[] args) {
// if 조건문 기능 사용
int num = -10;
if (num < 0) {
// num 값이 음수일 때
num = -num;
System.out.println(num);
}
}
}
6. 반복문에서 while 문과 do while 문의 차이는?
: while문의 경우 루프 자체에 대해 포커스를 좀 더 맞추는 특성을 가지는데 조건항에서 만족하는 연산이 나오지 않을경우 내용을 출력하지 않는다. do while문의 경우 출력을 하는 형태에 포커스를 좀 더 맞추어 조건항에서 만족하는 연산이 나오지 않는 여부와 상관없이 적어도 한 번은 내용을 출력한다.
7. for 문에서 for 문이 실행되는 순서를 설명하시오.
: for문은 다음과 같은 형태를 띈다.
for (초기조건...(1); 루프 탈출조건...(2); 루프가 탈출하지 않을시 발생하는 연산...(3)) {
(반복문의 내용)...(4)
} ... 에서
처음 for문은 (1) -> (2) -> (4) -> (3) 순으로 진행되어 루프가 탈출 되지 않으면 (2) -> (4) -> (3) 순으로 탈출 조건을 만족하기 전 까지 진행되다가 (2)에서 탈출 조건을 만족하면 루프에서 벗어난다.
8. 9단을 출력하는 프로그램을 만드시오.(while 문 사용할것)
public class Main {
public static void main(String[] args) {
int i = 0;
while (i++ <= 9) {
if (i == 10) {
break;
} else {
System.out.println("9 x " + i + " = " + (9 * i));
}
}
}
}
9. 1부터 100까지의 합을 구하시오.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
}
}
10. 1부터 100까지의 홀수들의 합을 구하시오.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i = i+2) {
sum += i;
}
System.out.println(sum);
}
}
11. 반복문에서의 break 와 continue 를 설명하시오.
: break는 반복문에서 해당 조건항을 만족할 때 안의 내용을 출력하고 루프를 탈출하는 키워드이고, continue는 반복문에서 해당 조건항을 만족하지 않을 때 다시 루프를 돌리게끔 하는 키워드이다.
12. 아래를 프로그래밍 하시오.
12-1. 1과 1000 사이의 숫자중 3의 배수 이자 5의 배수인 첫번재 수는?
public class Main {
public static void main(String[] args) {
int num = 1;
while (num++ < 1000) {
if (((num % 3) == 0) && ((num % 5) == 0)) {
break;
}
}
System.out.println(num);
}
}
12-2. 1과 1000 사이의 숫자중 2의 배수 이자 3의 배수인 수는 모두 몇개인가?
public class Main {
public static void main(String[] args) {
int num = 1;
int num_cnt = 0;
while (num++ < 1000) {
if (((num % 2) != 0) && ((num % 3) != 0)) {
continue;
}
num_cnt++;
}
System.out.println(num_cnt);
}
}
13. 화폐매수 구하기
126500 의 금액을 한국화폐으로 바꾸었을 때 각각 몇 개의 화폐가 필요한지 계산해서 출력하라.
예) int 126500; 오만원 : 2장 만원: 2장 오천원짜리 :1장 천원짜리: 1 오백원짜리 1개 백원짜리 0개
public class Main {
public static void main(String[] args) {
int money = 126500;
int ftg = money / 50000; // 5만원
int tg = money % 50000 / 10000; // 1만원
int fg = money % 50000 % 10000 / 5000; // 5천원
int og = money % 50000 % 10000 % 5000 / 1000; // 천원
int hg = money % 50000 % 10000 % 5000 % 1000 / 500; // 5백원
int beak = money % 50000 % 10000 % 5000 % 1000 % 500 / 100; // 백원
System.out.println("5만원: " + ftg + "장");
System.out.println("만 원: " + tg + "장");
System.out.println("5천원: " + fg + "장");
System.out.println("천 원: " + og + "장");
System.out.println("5백원: " + hg + "개");
System.out.println("백 원: " + beak + "개");
}
}
14. 금일 연습 프로그래밍 내용
14-1. 국어:80 수학:80 영어:60 총점과 평균을 출력하고, 평균에 따른 수우미양가를 출력하시오.
public class Main {
public static void main(String[] args) {
int kor = 80; // 국어: 80
int mat = 80; // 수학: 80
int eng = 60; // 영어: 60
int sum = kor + mat + eng; // 세 과목의 합
double avg = sum / 3.0; // 세 과목의 평균 점수
System.out.print("당신의 평균 성적은 " + Math.round(avg) + "이고, ");
if (avg >= 90) {
System.out.println("등급은 수 입니다.");
} else if (avg >= 80) {
System.out.println("등급은 우 입니다.");
} else if (avg >= 70) {
System.out.println("등급은 미 입니다.");
} else if (avg >= 60) {
System.out.println("등급은 양 입니다.");
} else {
System.out.println("등급은 가 입니다.");
}
}
}
14-2. int num = 33 할당후 해당 숫자 짝수면 짝수 입니다 출력. 홀수면 홀수 출력
public class Main {
public static void main(String[] args) {
int num = 33;
if ((num % 2) == 0) {
System.out.println("짝수 입니다.");
} else {
System.out.println("홀수 입니다.");
}
}
}
14-3. int num = 66 할당후, 2의 배수 이고 3의 배수이면, 해당 수를 출력하고, 아니면 2의 배수 이고 3의 배수 가 아닙니다 출력.
public class Main {
public static void main(String[] args) {
int num = 66;
if (((num % 2) == 0) && ((num % 3) == 0)) {
System.out.println(num);
} else {
System.out.println("2의 배수이고 3의 배수가 아닙니다");
}
}
}
14-4. 80, 33, 55 중 최대값을 출력하시오.
public class Main {
public static void main(String[] args) {
int num1 = 80;
int num2 = 33;
int num3 = 55;
int max = (num1 > num2) && (num1 > num3)
? num1
: (num2 > num3 ? num2 : num3);
System.out.println(max);
}
}
14-5. 1-6 까지의 임의의 정수를 뽑아서 몇번이 나왔는지 맞추는 게임
import java.util.Random;
public class Main{
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt(6) + 1;
System.out.println(num + "번이 나왔습니다.");
}
}
14-6. int dan = 3; 구구단 출력
public class Main {
public static void main(String[] args) {
int dan = 3;
for (int i = 1; i <= 9; i++) {
System.out.println(dan + " x " + i + " = " +(dan*i));
}
}
}
14-7. 1부터 100까지의 합을 구하시오.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
}
}
14-8. 1부터 100까지의 짝수의 합 구하시오.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i <= 100; i = i+2) {
sum += i;
}
System.out.println(sum);
}
}
14-9. 영희가 은행에 500원(원금)을 입금했다. 하루에 1원씩 이자가 붙는다면, 5일 후(일수) 잔액은 얼마가 되어 있을까?
public class Main {
public static void main(String[] args) {
int money = 500; // 원금
for (int i = 1; i <= 5; i++) {
money++; // 원금 + 이자
}
System.out.println("이자가 붙은 돈의 액수: " + money);
}
}
'WebDev > 본과정' 카테고리의 다른 글
메소드 심화 및 클래스 기초 (0) | 2021.04.30 |
---|---|
반복문 심화 및 메소드 기초 (0) | 2021.04.30 |
키워드와 연산자 (0) | 2021.04.30 |
데이터 타입과 연산 (0) | 2021.04.30 |
변수와 주석 (0) | 2021.04.30 |
최근댓글