2023-01-02 월 / JAVA

권혁현·2023년 1월 2일
0

Java

목록 보기
7/44
post-thumbnail

면접족보

1. 결합 방향과 우선순위에 대하여 설명하시오.

  • 연산 기호 마다 우선순위가 정해져 있고, 같은 우선순위의 연산자끼리는 결합방향대로 실행된다.

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

 		int num1 = 11;
		boolean result;

		result = (1 < num1) && (num1 < 100);
		System.out.println("1 초과 100 미만인가? " + result);

3. "2의 배수 또는 3의 배수?" 를 코딩 하면?

 		int num1 = 22;
		boolean result;
        
		result = ((num1 % 2) == 0) || ((num1 % 3) == 0);
		System.out.println("2 또는 3의 배수인가? " + result);

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

  • && = AND
    실행할 때 false가 하나 나오면 그 뒤는 실행X
  • || = OR
    실행할 때 true가 하나 나오면 그 뒤는 실행X

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

	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);

	}
  • result = false
    num1 = 10
    num2 = 0

    result = true
    num1 = 20
    num2 = 0

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

	short num1;

	short num = -num;
  • 변수 num1, num이 선언 되었지만 둘 다 아직 초기화가 안되었고, 초기화가 안된 변수를 -로 바꾸려 해도 바꿀 수 있는 값이 없기 때문에 에러가 난다.

  • 수정본

	short num1 = 0;

	short num = 0;
	num = (short)-num;

### 7. 아래의 출력값을 예측하시오.
	class AssignSteResult {

	public static void main(String[] args) {

	int num1 = 10, num2 = 20, num3 = 30;

	num1 = num2 = num3;

 

	/*

	= 연산자는 결합 방향이 오른쪽에서 왼쪽으로 진행된다.

	따라서 위의 문장은 다음과 같다.

	num1 = (num2 = num3);

	*/

 

	System.out.println(num1);

	System.out.println(num2);

	System.out.println(num3);

		}

	}
  • 30
    30
    30

    사용된 연산자가 '=' 하나 뿐이고, 같은 연산자만 있는경우 자바의 연산자 결합방향에 따라 오른쪽부터 실행되기 때문


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

	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");

 

	num1 += 10;

	num2 += 10;

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

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

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

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

		}

	}
  • result = false
    num1 = 10
    num2 = 0

    result = true
    num1 = 20
    num2 = 0


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

	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);

		}

	}
  • 3 + 6 = 9
    3 + 6 + 9 = 18
    3 + 6 + 9 + 12 = 30

0개의 댓글