JAVA operators(++, --), if, case, while, for문 예제문제 (230616)

이원건·2023년 6월 16일
0

JAVA

목록 보기
4/33
post-thumbnail

1. ++num 과 num++ 의 차이를 예를 들어 설명하시오.

++num은 연산하기 전에 먼저 num += 1작업이 이루어진다.
num++은 연산이 끝난 후 마지막으로 num+=1 작업이 이루어진다.

  • ex)
public class PrefixPostfixOperatorExample {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 20;
		int num3 = 30;
		
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1, num2, num3);		//10, 20, 30
		//10, 20, 30
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1++, ++num2, num3++);	//10, 21, 30
		//11, 21, 31
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1, num2, num3);		//11, 21, 31
		//11, 21, 31
		System.out.printf("num1: %d, num2: %d, num3: %d\n", ++num1, num2--, --num3);	//12, 21, 30
		//12, 20, 30
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1, num2, num3);		//12, 20, 30
		//12, 20, 30
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1--, num2++, num3--);	//12, 20, 30
		//11, 21, 29
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1, num2, num3);		//11, 21, 29
		//11, 21, 29
		System.out.printf("num1++ + --num2 = %d, num2++ + ++num3 = %d\n", (num1++ + --num2), (num2++ + ++num3) ); // 11 + 20 = 31 계산 후, num1 = 12, num2 = 20. 20 + 30 = 50 계산 후, num2 = 21, num3 = 30
		//12, 21, 30
		System.out.printf("num1: %d, num2: %d, num3: %d\n", num1, num2, num3);		//12, 21, 30
		
	}
}
  • 결과
num1: 10, num2: 20, num3: 30
num1: 10, num2: 21, num3: 30
num1: 11, num2: 21, num3: 31
num1: 12, num2: 21, num3: 30
num1: 12, num2: 20, num3: 30
num1: 12, num2: 20, num3: 30
num1: 11, num2: 21, num3: 29
num1++ + --num2 = 31, num2++ + ++num3 = 50
num1: 12, num2: 21, num3: 30

2. 아래를 프로그래밍 하시오.

  • 문제
국어 : 90
영어 : 70
수학 : 45
==================
총점 : 390
평균 : 76.34543
성적 : 미

public class ScoreExample2 {
	public static void main(String[] args) {
		int kor = 90;
		int eng = 70;
		int math = 45;
		
		int total = kor + eng + math;
		double avg = total / 3.0;
		char grade = '가';
		
		if( avg>=90) {
			grade='수';
		} else if( avg>=80) {
			grade='우';
		} else if( avg>=70) {
			grade='미';
		} else if( avg>=60) {
			grade='양';
		} else {
			grade='가';
		}

		System.out.println("총점: " + total);
		System.out.println("평균: " + avg);
		System.out.println("성적: " + grade);
	}
}

2. 3 수가 있다. 이중 최대값을 구하시오.

  • 문제
num1 = -6
num2 = 10
num3 = 1   
=======
최대값: 10
public class FindMaxValue2 {
	public static void main(String[] args) {
		int num1 = -6;
		int num2 = 10;
		int num3 = 1;
		
		int maxValue = num1;
		
		if( maxValue < num2) {
			maxValue = num2;
		}
		if( maxValue < num3) {
			maxValue = num3;
		}
		
		System.out.println("최댓값: " + maxValue);
	}
}

3. 삼항 연산자를 사용하여, 최대값을 구하시오.

  • 문제
num1 = -6
num2 = 10
num3 = 1   
=======
최대값: 10
public class FindMaxValue2 {
	public static void main(String[] args) {
		int num1 = -6;
		int num2 = 10;
		int num3 = 1;

		int maxValue = num1 > num2 ? num1 : num2;
		maxValue = maxValue > num3 ? maxValue : num3;
		
		System.out.println("최댓값: " + maxValue);
	}
}

4. 다음을 구현하시오.

  • 문제
int month = 3;
=======
12,1,2,3 겨울입니다.
4,5,6 봄입니다.
7,8 여름 입니다.
9,10,11 가을입니다.
public class SeasonMonths {
	public static void main(String[] args) {
		int month = 3;
		
		switch(month) {
		case 12:
		case 1:
		case 2:
		case 3:
			System.out.println(month + "월은 겨울입니다.");
			break;
		case 4:
		case 5:	
		case 6:
			System.out.println(month + "월은 봄입니다.");
			break;
		case 7:
		case 8:
			System.out.println(month + "월은 여름입니다.");
			break;
		case 9:
		case 10:
		case 11:
			System.out.println(month + "월은 가을입니다.");
			break;
		default:
			System.out.println("잘못 입력하셨습니다. 1~12월을 입력해주세요.");
		}
	}
}

5.한 달이 며칠인지 알려주는 프로그램 구현

  • 문제

출력:

System.out.println(month + "월은 " + day + "일입니다.");
import java.util.Scanner;

public class MonthDays {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("년도를 입력하세요. (정수)");
		
		int year = scanner.nextInt();
		int month = scanner.nextInt();
		boolean leap = false;
		
		if( year % 4 == 0) {
			leap =true;
		}
		if( year % 100 == 0) {
			leap = false;
		}
		if(year % 400 == 0) {
			leap = true;
		}
		
		
		int[] months = {31, 28, 31, 30, 31, 30,
					31, 31,	30, 31, 30, 31};
		if(leap == true) {
			months[1] +=1;
		}

		if(month >= 1 && month <= 12) {
			System.out.println(year + "년 " + month + "월의 일수는 "+months[month-1] +"일 입니다.");
		} else {
			System.out.println("년도와 월을 제대로 입력해주세요.");
		}
	}
}

6. Hello World!를 100번 출력하시오.

public class HelloWorldEx2 {
	public static void main(String[] args) {
		for( int i =0; i<100;i++) {
			System.out.println("Hello World!");
		}
	}
}

7. 1부터 10까지의 합을 구하는 프로그램을 짜시오.

public class SumFromOneToTen {
	public static void main(String[] args) {
		int sum =0;
		int num =1;
		while(num<=10) {
			sum += num;
			num++;
		}
		System.out.println("1부터 10까지의 합 : " + sum);
	}
}	

0개의 댓글