혼자 공부하는 자바 03장 연산자 확인 문제

2023. 2. 8. 23:00공부/자바

반응형

 

 
혼자 공부하는 자바
혼자 해도 충분하다! 1:1 과외하듯 배우는 자바 프로그래밍 자습서 (JAVA 8 &11 지원) 이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다! 20명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서 20명의 베타리더와 함께 구성하여 입문자에게 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. ‘혼자 공부해본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.
저자
신용권
출판
한빛미디어
출판일
2019.06.10

 

<혼자 공부하는 자바> 신용권 저, 한빛 미디어 출판(2019.06.10)

 

※ 직접 풀이한 문제

 

03-1 확인 문제 106p

03-1-1 틀린 것은 무엇입니까?

  • ③ - 연산식은 하나 이상의 값을 산출할 수 없다.

03-1-2 틀린 것은 무엇입니까?

  • ④ - 산술 연산이 논리 연산보다 우선순위가 높다.

 

03-2 확인 문제 127p

03-2-1 에러가 발생하는 위치와 이유를 설명해보세요.

  • b=-b
  • 부호를 바꾸는 -연산은 int형으로 변환되므로 byte형 변수인 b에 저장할 수 없다.

03-2-2 출력 결과는 무엇입니까?

  • 31
  • x는 11, y는 20이다.

03-2-3 빈칸에 들어갈 알맞은 조건식을 작성해보세요.

  • !stop
// answer
boolean stop=...;
while(!stop){
	...
}

03-2-4 ①~②에 들어갈 알맞은 코드를 작성하세요.

  • ① pencils/students
  • ② pencils%students
// answer
package sec02.verify.exam04;

public class Example {
	public static void main(String[] args) {
		int pencils=534;
		int students=30;

		int pencilsPerStudent=pencils/students;
		System.out.println(pencilsPerStudent);

		int pencilsLeft=pencils%students;
		System.out.println(pencilsLeft);
	}
}

03-2-5 어디에서 잘못 작성된 것일까요?

  • double var3=var1/var2;
  • → double var3=(double)var1/var2;
  • var1과 var2가 int형이라서 정수형끼리 계산되어서 소수점이 없다. 따라서 형변환을 해줘야 한다.
// answer
package sec02.verify.exam05;

public class Example {
	public static void main(String[] args) {
		int var1=5;
		int var2=2;
		double var3=(double)var1/var2;
		int var4=(int)(var3*var2);
		System.out.println(var4);
	}
}

03-2-6 빈칸에 알맞은 코드를 작성하세요.

  • value/100*100
// answer
package sec02.verify.exam06;

public class Example {
	public static void main(String[] args) {
		int value=356;
		System.out.println(value/100*100);
	}
}

03-2-7 어디에서 잘못 작성된 것일까요?

  • if(var2==0.1){
  • → if(var2==0.1f){
// answer
package sec02.verify.exam07;

public class Example {
	public static void main(String[] args) {
		float var1=10f;
		float var2=var1/100;
		if(var2==0.1f){
			System.out.println("10%입니다.");
		}else{
			System.out.println("10%가 아닙니다.");
		}
	}
}

03-2-8 빈칸에 알맞은 코드를 작성하세요.

  • (double)(lengthTop+lengthBottom)*height/2
// answer
package sec02.verify.exam08;

public class Example {
	public static void main(String[] args) {
		int lengthTop=5;
		int lengthBottom=10;
		int height=7;
		double area=(double)(lengthTop+lengthBottom)*height/2;
		System.out.println(area);
	}
}

03-2-9 코드를 작성해보세요

// answer
package sec02.verify.exam08;

import java.util.Scanner;

public class Example {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("첫 번째 수: ");
		double value1=Double.parseDouble(sc.next());
		System.out.print("두 번째 수: ");
		double value2=Double.parseDouble(sc.next());
		System.out.println("-----------------");
		System.out.println("결과: "+((value2==0.0 || value2==0)?"무한대":value1/value2));
	}
}

03-2-10 올바른 결과가 나오도록 코드를 수정해보세요.

//answer
package sec02.verify.exam10;

public class Example {
	public static void main(String[] args) {
		int var1=10;
		int var2=3;
		int var3=14;
		double var4=var1*var1*Double.parseDouble(var2+"."+var3);
		System.out.println("원의 넓이: "+var4);
	}
}

03-2-11 ①~②에 알맞은 코드를 작성해보세요.

  • ① name.equals(”java”)
  • ② password=12345
//answer
package sec02.verify.exam11;

import java.util.Scanner;

public class Example {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);

		System.out.print("아이디: ");
		String name=scanner.nextLine();

		System.out.print("패스워드: ");
		String strPassword=scanner.nextLine();
		int password=Integer.parseInt(strPassword);

		if(name.equals("java")){
			if(password==12345){
				System.out.println("로그인 성공");
			}else{
				System.out.println("로그인 실패: 패스워드가 틀림");
			}
		}else{
			System.out.println("로그인 실패: 아이디가 존재하지 않음");
		}
	}
}

03-2-12 연산식의 출력 결과를 괄호()속에 넣으세요.

  • (x>7)&&(y<=5) → (10>7)&&(5<=5) → (true)&&(true) → true
  • (x%3==2)||(y%2!=1) → (10%3==2)||(5%2!=1) → (false)||(false) → false
//answer
true
false

03-2-13 대입 연산자 하나로 구성된 실행문으로 변경해보세요.

//answer
int value=0;

value+=10;
value-=10;
value*=10;
value/=10;

03-2-14 출력 결과는 무엇입니까?

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형