[이것이 자바다] 03 연산자 확인문제
논리 연산자
새로운 사실을 알았다.
논리 연산자가 ||
처럼 두개일때와 |
한개일 때가 연산 방법이 달랐다.
||
처럼 두개일때는 앞에서 결과가 나왔을 때 두번째 연산을 실행하지 않는다.
그런데 |
처럼 한개일때는 앞에서 결과가 나왔더라도 두번째 연산을 실행 후 결과를 낸다.
따라서 두개의 연산자를 붙여서 쓰는 방법이 더 효율적이다.
확인문제
연산자와 연산식에 대한 설명 중 틀린 것은?
- 연산자는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분된다.
- 비교 연산자와 논리 연산자의 산출 타입은 boolean(true/false)이다.
- 연산식은 하나 이상의 값을 산출할 수도 있다.
- 하나의 값이 올 수 있는 자리라면 연산식도 올 수 있다.
연산식은 하나의 값만 산출할 수 있다.
다음 코드를 실행했을 때 출력 결과는?
public class Exercise02{
public static void main(String[] args){
int x = 10;
int y = 20;
int z = (++x) + (y--);
System.out.println(z);
}
}
//Console
31
다음 코드를 실행했을 때 출력 결과는?
public class Exercise03{
public static void main(String[] args){
int score = 85;
String result = (!(score>90))? "가":"나";
System.out.println(result);
}
}
//Console
가
(#1) 과 (#2) 에 들어갈 알맞은 코드는?
534자루의 연필을 30명의 학생들에게 똑같은 개수로 나눠 줄 때
학생당 몇개를 가질 수 있고, 최종적으로 몇 개가 남는지 구하는 코드.
public class Exercise04{
public static void main(String[] args){
int pencils = 534;
int students = 30;
//학생 한 명이 가지는 연필 수
int pencilsPerStudent = (#1);
System.out.println(pencilsPerStudent);
//남은 연필 수
int pencilsLeft = (#2);
System.out.println(pencilsLeft);
}
}
- #1:
pencils/students
- #2:
pencils%students
(#1)에 알맞은 코드를 작성하세요
십의 자리 이하를 버리는 코드.
변수 value의 값이 356이라면 300이 나올 수 있도록 작성 (산술연산자만 사용).
public class Exercise05{
public static void main(String[] args){
int value = 356;
System.out.println(#1);
}
}
- #1:
(value/100)*100
(#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:
(double)(lengthTop + lengthBottom) * height / 2
다음 코드의 결과는?
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));
}
}
//Console
true
false
(#1)에 들어갈 코드를 작성하세요
%연산을 수행한 결과값에 10을 더하는 코드이다.
NaN 값을 검사해서 올바른 결과가 출력될 수 있도록 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)