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