1. 연산자와 연산식에 대한 설명 중 틀린 것은 무엇입니까?
① 연산자는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분된다.
(O)
② 비교 연산자와 논리 연산자의 산출 타입은 boolean (ture/false) 이다.
(O) 비교연산자는 값의 비교만하는것이고, 논리연산자는 논리적 not, and, or 연산을 할때 쓰므로 boolean 타입(ture/false) 을 쓴다.
③ 연산식은 하나 이상의 값을 산출할 수도 있다.
(X) 연산식은 반드시 하나의 값을 산출한다.
④ 하나의 값이 올 수 있는 자리라면 연산식도 올 수 있다.
(O) 알맞게 코딩을 하기만 한다면 어디든지 값의 자리에 연산식을 사용할 수 있다.
2. 다음 코드를 실행했을 때 출력 결과는 무엇입니까?
--------------------[ Exercise02.java ]----------------------------------------------
package verify;
public class Exercise02 {
public static void main(String[] args) {
int x = 10; //x 변수에 10을 저장
int y = 20; //y 변수에 20을 저장
int z = (++x) + (y--); //z 변수에 {++x(11) + y--(20) = 31} 이 저장 후 y변수는 y-- 때문에 19 가 저장된다.
System.out.println(z); //z 변수 출력
}
}
--------------------------------------------------------------------------------------
Console
31
------------------------------------------------------------------------------------
3. 다음 코드를 실행했을 때 출력 결과는 무엇입니까?
--------------------[ Exercise03.java ]----------------------------------------------
package verify;
public class Exercise03 {
public static void main(String[] args) {
int score = 85; //score 변수에 85 저장
String result = (!(score>90))? "가":"나"; //result 변수 score>90 (비교연산자) 연산값은 false 이고 그다음
// !(논리 부정 연산자) 있으니 ture로 변환됨
// ? : (삼항연산자) ture이면 "가" 출력 false면 "나" 출력
System.out.println(result);
}
}
------------------------------------------------------------------------------------------------
Console
가
------------------------------------------------------------------------------------------------
4. 534 자루의 연필을 30명의 학생들에게 똑같은 갯수로 나누어 줄 때 학생당 몇 개를 가질 수 있고, 최종적으로 몇 개가 남는지를 구하는 코드입니다. (#1) 과 (#2) 에 들어갈 알맞은 코드를 작성하세요.
--------------------[ Exercise04.java ]----------------------------------------------
package verify;
public class Exercise04 {
public static void main(String[] args) {
int pencils = 534; //연필의갯수 pencils 변수에 534 저장
int students = 30; // 학생의 숫자 students 변수에 30 저장
//학생 한 명이 가지는 연필 수
int pencilsPerStudent = ( pencils/student ); // pencilsPerStudent 변수에 학생 한명이 가지는 연필을 계산
// 산술연산자중 나눗셈(/) 사용하여 계산 연필수/학생수
// pencils/student = int 타입이므로 소숫점 삭제됨
System.out.println(pencilsPerStudent); // pencilsPerStudent 변수 출력
//남은 연필 수
int pencilsLeft = ( pencils%student ); // pencilsLeft 변수에 나눠주고 남는 연필수 계산
// 산술연산자중 나머지(%) 사용하여 계산 연필수%학생수
System.out.println(pencilsLeft); // pencilsLeft 변수 출력
}
}
-------------------------------------------------------------------------------------------
Console
17
24
-------------------------------------------------------------------------------------------
5. 다음은 십의 자리 이하를 버리는 코드입니다. 변수 value의 값이 356 이라면 300이 나올 수 있도록 ( #1 ) 에 알맞은 코드를 작성하세요. (산술 연산자만 사용하세요.)
--------------------[ Exercise05.java ]---------------------------------------------------------------------------------
package verify;
public class Exercise05 {
public static void main(String[] args) {
int value = 356; // value 변수에 356 값을 저장
// int 타입이므로 소숫점 버려짐
// 356/100 이면 3.56이아닌 3 이되고 다시 100을 곱해서 300을 만든다.
System.out.println( value/100*100 ); //value/100*100 을 출력
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
6. 다음 코드는 사다리꼴의 넓이를 구하는 코드입니다. 정확히 소수자릿수가 나올 수 있도록 (#1) 에 알맞은 코드를 작성하세요.
--------------------[ Exercise06.java ]---------------------------------------------------------------------------------
package verify;
public class Exercise06 {
public static void main(String[] args) {
int lengthTop = 5; //사다리꼴 윗변길이 lengthTop 변수에 5 저장
int lengthBottom = 10; //사다리꼴 아랫변길이 lengthBottom 변수에 10 저장
int height = 7; //사다리꼴 높이 height 변수에 7 저장
//사다리꼴넓이공식=(윗변+아랫변)/2*높이
double area = ( (lengthTop + lengthBottom) / 2.0 * height ); // (5+10)/2 = 7.5 지만 그냥 계산하면 int 타입이기 때문에
// 소숫자릿수 표현이 되지않음 소숫자릿수를 표현해야하므로
// 2가아닌 2.0 을 나눌때 사용하여 double타입으로 변환됨
//double area = ( (double)lengthTop + lengthBottom) / 2 * height ); // lengthTop을 double타입으로 강제변환후 계산 (결과동일)
System.out.println(area); // area 출력
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------
Console
52.5
--------------------------------------------------------------------------------------------------------------------------------------------------------
7. 다음 코드는 비교 연산자와 논리 연산자의 복합 연산식입니다. 연산식의 출력 결과를 괄호 ( ) 속에 넣으세요.
--------------------[ Exercise07.java ]---------------------------------------------------------------------------------
package verify;
public class Exercise07 {
public static void main(String[] args) {
int x = 10; //x 변수에 10 저장
int y = 5; //y 변수에 5 저장
System.out.println( (x>7) && (y<=5) ); // (10>7) ture &&(논리연산자and) (5<= 5) ture 이므로 결과는 ture
System.out.println( (x%3 == 2) || (y%2 != 1) ); // (10%3=1) == 2 false ||(논리연산자or) (5%2=1) !=(비교연산자) 1이면
// false 이므로 결과는 false
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------
Console
true
false
----------------------------------------------------------------------------------------------------------------------------------------------------
8. 다음은 % 연산을 수행한 결과값에 10을 더하는 코드입니다. NaN 값을 검사해서 올바른 결과가 출력될 수 있도록 (#1) 에 들어갈 NaN을 검사하는 코드를 작성하세요
--------------------[ Exercise07.java ]---------------------------------------------------------------------------------
package verify;
public class Exercise08 {
public static void main(String[] args) {
double x = 5.0; //x변수에 5.0 저장
double y = 0.0; //y 변수에 0.0 저장
double z = 5 % y; //z 변수 5 % 0.0 이면 %연산자일때의 무한대값 NaN(Not a Number) 값이나옴
if( Double.isNaN(z) ) { //Double.isNaN() 메소드 NaN 값이면 ture 를 리턴
System.out.println("0.0으로 나눌 수 없습니다."); //ture일때
} else {
double result = z + 10; //false 일 때 z변수 + 10 해서 result 변수에 저장
System.out.println("결과: " + result); //result 변수 출력
}
}
}
--------------------------------------------------------------------------------------------------------------------------------
Console
0.0으로 나눌 수 없습니다.
'legacy' 카테고리의 다른 글
이것이java다 3.4 이항 연산자 (0) | 2023.04.16 |
---|---|
이것이java다 3.5 삼항 연산자 (0) | 2023.04.16 |
이것이java다 4.1 조건문 (0) | 2023.04.16 |
이것이java다 4.2 반복문 (0) | 2023.04.16 |
이것이java다 4. 확인문제 풀이 (0) | 2023.04.16 |