이세개발

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 을 출력    

}

}

-------------------------------------------------------------------------------------------------------------------------------------------------

Console
300

---------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

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
profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!