본문 바로가기

JAVA/Study

23. 확인복습

코드를 따라치지말고 먼저 머리속으로 계산해보세요 도움됩니다

정답은 맨 아래 기술

다음으로 출력될 z의 값을 구하세요 

		int x = 10;
		int y = 20;
		int z = (++x) + (y--);
		System.out.println(z);

다음에 출력될 result를 구하세요

		int score =85;
		String result = (!(score>90))? "가":"나";
		System.out.println(result);

다음에 출력될 pPS와 pL을 구해보세요

pPS와 pL은 int

		int pencils =534;//연필의 갯수
		int students=30;//학생의 수
		
		
		int pPS= (534/30);
		System.out.println(pPS);
		
		
		
		int pL=(534%30);
		System.out.println(pL);

System.out.println((value/100)*100);에 출력될 값은?

		int value =356;
		System.out.println((value/100)*100);

다음에 출력될 area를 구하세요

		int lT=5;
		int lB=10;
		int height =7;
		double area = (double) (lT+lB)*height/2;
		System.out.println(area);

다음에 출력될 값 2가지를 쓰세요

		int x =10;
		int y = 5;
		System.out.println((x>7)&&(y<=5));
		System.out.println((x%3 == 2)||(y%2 !=1));

 

 

 

 

 

 

 

 

 

 

 

 

답안

		int x = 10;
		int y = 20;
		int z = (++x) + (y--);
		System.out.println(z);
 이것의 정답은 31이다
 x는 ++x로 전위연산을 해 먼저 11로 만든후 더한것이고
 y는 y--로 후위연산을해 11과 20을 더한 후 -1을 하기때문
 즉 계산순서가
 int z = 11+20;
 y = y - 1;
 System.out.println(z);
 이렇게 되었다고 보면된다

		int score =85;
		String result = (!(score>90))? "가":"나";
		System.out.println(result);
        
  정답은 가
  score>90은 85가 90보다 클경우 '가'를 아닐경우 '나'를 출력하라 인데
  앞에 !가 붙어 score<90으로 바뀌었다고 보거나
  출력결과가 반대로 된다로 생각하면 된다
  즉 , 85는 90보다 작으니 원래는 나 를 출력하지만 앞에 !가 붙어 가를 출력한것

		int pencils =534;//연필의 갯수
		int students=30;//학생의 수
		
		
		int pPS= (534/30);
		System.out.println(pPS);
		
		
		
		int pL=(534%30);
		System.out.println(pL);
        
        정답은 pPS = 17
        pL=24이다
        이유는 int는 정수타입만 받을수있어서
        소수점은 다 잘라버리고 정수타입만 받을수있기 때문에
        원래 17.8이지만 소수점을 잘라버려 17이 나온것이고
        
        24는 534를 30으로 나눈 나머지
        30을 534에 최대한 집어넣으면 510 을 만들수있고 그 나머지값 24가 된것

		int value =356;
		System.out.println((value/100)*100);
        
        정답은 300
        value/100 : 아앗 나는 int타입이라 소수점은 못받아버려엇 -> 3
        3*100 = 300

		int lT=5;
		int lB=10;
		int height =7;
		double area = (double) (lT+lB)*height/2;
		System.out.println(area);
        
   정답은 52.5
   (double)은 강제형변환을 의미한다

2023.03.19 - [JAVA/Study] - 8. 자동형변환 - Type conversion

 

8. 자동형변환 - Type conversion

형변환 public static void main(String[] args) { //자동 형 변환 = auto casting = promotion //프로그램에서 용량(byte)이 작은 자료형의 데이터를 큰 자료형에 대입하거나 계산되어 입력될때 발생 byte a = 120; //1byte

nxx5xxx.tistory.com

지금보니까 강제형변환에대한 설명이 너무 부족해 나중에 시간이되면 추가하도록 한다


		int x =10;
		int y = 5;
		System.out.println((x>7)&&(y<=5));
		System.out.println((x%3 == 2)||(y%2 !=1));
        
        정답
        true
        false
        
        1번은 오체풀만족 AND문을 사용한것
        x는 7보다 크고 y는 5보다 작거나 같은것 두개다 만족할경우 true
        하나라도 틀릴경우 false
        
        2번은 둘중하나만 충족해도 만족하는 대인배 OR문을 사용한것
        x를 3으로 나눈 나머지값이 2와 같거나
        y를 2로 나눈 나머지값이 1과 같지않으면 true
        아니면 false