AR삽질러

이것이 자바다 - 3장 확인문제(연산자) 본문

JAVA

이것이 자바다 - 3장 확인문제(연산자)

아랑팡팡 2023. 2. 21. 16:55
728x90

1. 연산자와 연산식에 대한 설명 중 틀린 것은 무엇입니까?

정답 : 3 연산식은 하나 이상의 값을 산출할 수도 있다.

 데이터를 처리하여 결과를 산출하는 것을 연산(operations)라고 한다. 연산에 사용되는 표시나 기호를 연산자(operator)라고 하고 연산되는 데이터는 피연산자(operand)라고 한다. 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것은 연산식(expressions)라고 부른다. 

 연산식은 반드시 하나의 값을 산출하고 연산자 수가 아무리 많아도 두 개 이상의 값을 산출하는 연산식은 없다.

 

2. 다음 코드를 실행했을 때 출력 결과는 무엇입니까?

public class Exercise02{
	public static void main(String[] args){
    	int x = 10;
        int y = 20;
        int z = (++x) + (y--);
        System.out.println(z);
    }
}

정답 : 31

 증감연산자 : ++, --  단항  숫자 1만큼 증가/감소

 

3. 다음 코드를 실행했을 때 출력 결과는 무엇입니까?

public class Exercise03{
	public static void main(String[] args){
    	int score = 85;
        String result = (!(score > 90))? "가":"나";
        System.out.println(result);
    }
}

정답 : 가

 true -> 가

 

4. 534자루의 연필을 30명의 학생들에게 똑같은 개수로 나누어 줄때 학생달 몇개를 가질 수 있고, 최종적으로 몇 개가 남는지를 구하는 코드이다. (1) 과 (2)에 들어갈 알맞은 코드를 작성하세요.

public class Exercise04{
	public static void main(String[] args){
    	int penclis = 534;
        int students = 30;
        
        // 학생 한명이 가지는 연필 수
        int penclisPerStudent = (#1);
        System.out.println(penclisPerStudent);
        
        // 남은 연필 수
        int penclisLeft = (#2);
        System.out.println(penclisLeft);
    }
}

정답 : 1) penclis / students  목구하기 17    , 2) penclis % students   나머지구하기 24

 

 

5. 다음은 십의 자리 이하를 버리는 코드입니다. 변수 value의 값이 356이라면 300이 나올 수 있도록 (1)에 알맞은 코드를 작성하세요(산술연산자만 사용하세요).

public class Exercise05{
	public static void main(String[] args){
    	int value = 356;
        System.out.println(#1);
    }
}

정답 : value - (value % 300)  == 300

 

 

6. 다음 코드는 사다리꼴의 넓이를 구하는 코드입니다. 정확히 소수자릿수가 나올 수 있도록 (#1)에 알맞은 코드를 작성하세요.

public class Exercise06{
	public static void main(String[] args){
    	int lengthTop = 5;
        int lengthBottom = 10;
        int height = 7;
        double area = (#1);
        System.out.println(area);
    }
}

정답 : 1) (lengthTop + lenghBottom) * height / 2.0

 

7. 다음 코드는 비교연산자와 논리 연산자의 복합 연산식입니다. 연산식의 출력 결과를 괄호()속에 넣으세요.

public class Exercise07{
	public static void main(String[] args){
    	int x = 10;
        int y = 5;
        
        System.out.println((x > 7) && (y <= 5));   ---(  )
        System.out.println((x%3 == 2) && (y%2 != 1));   ---(  )
    }
}

정답 : 1) true  , 2) false

 비교 연산자 : 대소 ( < . <= , > , >= ) 또는 동등 (== , != )을 비교해서 boolean 타입인 true/false를 산출한다. 대소연산자는 boolean타입을 제외한 기본타입에 사용할 수 있고, 동등 연산자는 모든 타입에서 사용될 수 있다.

 

 논리 연산자 : 논리곱&&, 논리합 ||, 배타적논리합 ^, 논리부정 ! 연산을 수행한다. 논리 연산자의 피연산자는 boolean타입만 사용할 수 있다.

 

8. 다음은 %연산을 수행한 결과값에 10을 더하는 코드입니다. NaN값을 검사해서 올바른 결과가 출력될 수 있도록 (#1)에 들어갈 NaN을 검사하는 코드를 작성하세요.

public class Exercise08{
	public static void main(String[] args){
    	double x = 5.0;
        double y = 0.0;
        
        double z = x % y;
        
        if( #1 ){
        	System.out.println("0.0으로 나눌 수 없습니다.");
        }else{
        	double result = z + 10;
            System.out.println("결과 : " + result);
        }
    }	
}

정답 : 1) Double.isNaN(z)

 NaN과 Infinity연산

 / 또는 % 연산자를 사용할떄 좌측 피연산자가 정수 타입인 경우 나누는 수인 우측 피연산자는 0을 사용할 수 없다. 만일 0으로 나눈다면 컴파일은 정상적으로 되지만 실행시 ArithmeticException(예외)가 발행한다.

728x90
반응형
LIST