[K-디지털 트레이닝] 학습정리 20일차 (2024-07-15)

smoo·2024년 7월 15일

JAVA_STUDY

목록 보기
5/25

1. 조건문의 3가지 종류를 나열하고 설명하시오.

①if문

if(true or false) {
조건 true시 실행되는 영역
}

if(n1 < n2) {
    System.out.println("n1 > n2 is true"); 
}

②if ~ else문

if(true or false) {
조건 true시 실행되는 영역
} else {
조건 false시 실행되는 영역
}

int num = 235890 ;
		
		if((num%2)==0) {
			System.out.println(num + " 짝수 입니다.");
		} else {
			System.out.println(num + " 홀수 입니다.");
		}

③ if ~ else if ~ else 문

if ~ else문 사이에 else if문 추가

int num = 120;
		
		if(num < 0) {
			System.out.println("0 미만");
		} else if(num<100) {
			System.out.println("0 이상 100미만");
		} else {
			System.out.println("100 이상");
		}

2. 아래의 프로그램을 짜시오.

  • 국어:80 수학:80 영어:60
    점수와 평균을 출력하고, 평균에 따른 수우미양가를 출력하시오.
	public static void main(String[] args){
	int kor = 80;
	int math = 80;
	int eng = 60;

	int sum = kor+math+eng;

	double avg = sum / 3.0;

	System.out.println("국어 : " + kor);
	System.out.println("수학 : " + math);
	System.out.println("영어 : " + eng);
	System.out.println("평균 : " + 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("성적 : 가 입니다");
		}
	}
}

3. 90, 70 100 세 수중 max 값을 구하시오.

public class MaxTry {

	public static void main(String[] args){
		int num1 = 90;
		int num2 = 70;
		int num3 = 100;
		
		int max;
		
		if(num1>=num2 && num1>=num3) {
			max = num1;
		} else if (num2>=num1 && num2>=num3) {
			max = num2;
		} else {
			max = num3;
		}
		
		System.out.println("최대값은 : "+max);
	}
}

4. 90, 70 100 세 수중 중간값을 구하시오.

public class MidTry {

	public static void main(String[] args){
		int num1 = 90;
		int num2 = 70;
		int num3 = 100;
		
		int mid;
		
		if(num1>=num2 && num1<=num3) {
			mid = num1;
		} else if (num2>=num1 && num2<=num3) {
			mid = num2;
		} else {
			mid = num3;
		}
		
		System.out.println("중간값은 : "+ mid);
	}
}

5. "1초과 100미만인가?" 를 코딩 하면?

public class IfTry {

	public static void main(String[] args){
		int num1 = 101;

		boolean bool = (num1>1 && num1<100);

		System.out.println(num1 + "은 1초과 100미만인가?");
		System.out.println(bool);

	}
}

6 7이 "2의 배수 또는 3의 배수?" 인지를 확인하는 코딩을 완성하시오.?

public class Multiplication {

	public static void main(String[] args){
		int num1 = 7;
		
		System.out.println(num1 + "이 2의 배수 또는 3의 배수?");
		
		if(num1%2==00 || num1%3==0) {
			System.out.println("맞다");
		} else {
			System.out.println("아니다");
		}

	}
}

7. && 와 || 설명하시오.

① &&연산자

  • 모든 값이 true (참) 으로 같아야 true(참)
  • 앞의 값이 false이면 뒤의 값을 연산하지 않는다.

② ||연산자

  • 하나의 값만 true (참) 이어도 true(참)
  • 앞의 값이 ture 이면 뒤의 값을 연산하지 않는다.

8. 아래의 프린트 결과를 예측해 보고, 코딩 후 결과를 확인 하시오.

class SCE {

	public static void main(String[] args) {

	int num1 = 0;
	int num2 = 0;

	boolean result;

	result = ((num1 += 10) < 0) && ((num2 += 10) > 0);

	System.out.println("result = " + result);
	System.out.println("num1 = " + num1);
	System.out.println("num2 = " + num2 + '\\n'); // "

	result = ((num1 += 10) > 0) || ((num2 += 10) > 0);

	System.out.println("result = " + result);
	System.out.println("num1 = " + num1);
	System.out.println("num2 = " + num2);

}

}

9. 아래가 에러가 나는 이유를 설명하고, 수정 하시오.

short num = 1;
short num = -num;
  • -num = -1 * num1 이기 때문에 int로 자동 형변환이 된다.
  • short num = -num; 의 부분을 수정하면 된다.

int num = -num;
short num = (short)(-num);


10. 전위 증가 연산자와 후위 증가 연산자의 차이는?

① 전위 증가 연산자

  • 데이터 값이 증가 또는 감소 후 출력 (++num / --num)

② 후위 증가 연산자

  • 데이터 값이 출력 후에 증가 또는 감소 (num++ / num--)

11. 아래의 쉬프트 연산자에 대하여 설명하시오.


① >>

  • 피연산자의 비트 열을 오른쪽 으로 이동
  • 이동에 따른 빈 공간은 음수의 경우 1, 양수의 경우 0 으로 채움

② <<

  • 피연산자의 비트 열을 왼쪽으로 이동
  • 이동에 따른 빈 공간은 0으로 채움

12. 아래의 출력값을 예측하시오.

class SCE {

	public static void main(String[] args) {

	int num1 = 0;
	int num2 = 0;

	boolean result;

	num1 += 10;
	num2 += 10;

	result = (num1 < 0) && (num2 > 0);

	System.out.println("result = " + result);
	System.out.println("num1 = " + num1);
	System.out.println("num2 = " + num2 + '\\n'); //+ "\n"??


	num1 += 10;
	num2 += 10;

	result = (num1 > 0) || (num2 > 0);

	System.out.println("result = " + result);
	System.out.println("num1 = " + num1);
	System.out.println("num2 = " + num2);

}

}

13. 아래의 출력값을 예측하시오.

class AddNum {

	public static void main(String[] args) {

	int result = 3 + 6;
	System.out.println("3 + 6 = " + result);

	result += 9;
	System.out.println("3 + 6 + 9 = " + result);

	result += 12;
	System.out.println("3 + 6 + 9 + 12 = " + result);

}

}

14.삼항 연사를 활용하여 90, 70, 100 세 수 중 max 값을 구하시오.

public class Max3 {

	public static void main(String[] args) {
		int num1 = 90;
		int num2 = 70;
		int num3 = 100;
		
		int max;
		
		max = (num1>=num2&&num1>=num3)?num1:(num2>=num3)?num2:num3 ;
		
		System.out.println(max);
		

	}

}

15.화폐매수를 구하시오.

profile
코딩 스터디 정리

0개의 댓글