728x90
728x90

 

 

본 글은 명품자바프로그래밍 2장 연습문제의 문제와 풀이이며 2장 이론요약은 여기로, 실습문제는 여기로 이동해주세요.

 


 

명품자바프로그래밍 2장 연습문제

 

 

연습문제 2-1 자바에서 클래스를 선언할 때 사용하는 자바의 키워드는? #명품자바프로그래밍2장연습문제1번

 

--> class

 

 

 

연습문제 2-2 다음은 10과 20을 더해 합을 출력하려고 작성하였으나 오류가 있는 프로그램이다. #명품자바프로그래밍2장연습문제2번

public class SampleProgram{
    int i, j;
    i=10; j=20;
    System.out.println(i+j);
}

 

(1) 오류를 수정해보자.  --> SampleProgram 클래스에 main() 메소드를 넣는다.

(2) 이 자바 클래스를 저장하는 소스파일의 이름은?  --> SampleProgram.java

(3) 명령창에서 이 프로그램을 컴파일하는 명령은?  --> javac SampleProgram.java

(4) 명령창에서 이 프로그램을 실행하는 명령은?  --> java SampleProgram

 

 

 

연습문제 2-3 다음 중 식별자 사용이 잘못된 경우를 모두 골라라.#명품자바프로그래밍2장연습문제3번

 

(1) int _i;

(2) int %j;

(3) char 안녕;

(4) double 1var;

(5) char student_ID;

(6) final int abcedfghijklmnopqrstuvwxyz;

연습문제 2-4 다음 각 항목이 나타내는 변수를 선언하라. #명품자바프로그래밍2장연습문제4번

 

(1) int 형 변수 height int height;

(2) 0.25로 초기화된 double형 변수 size double size=0.25;

(3) height 변수의 값과 size변수의 값을 더한 값으로 초기화된 double형 변수 total double total=height+size;

(4) 문자 'a'로 초기화된 char형 변수 c char c='a';

(5) 자신의 이름으로 초기화된 문자열변수 name String name = "name";

 

연습문제 2-5 다음 수식의 결과 값과 타입은? #명품자바프로그래밍2장연습문제5번

 

(1) 67+12.8  79.8, 실수형

(2) 10/3  3, 정수형

(3) 10.0/3  3.333333... 실수형

(4) 10==9  false, 논리형

 

연습문제 2-6 체온 값 36.5로 초기화된 상수 bodyTemp를 double형으로 선언하라. #명품자바프로그래밍2장연습문제6번

 

--> final double bodyTemp=36.5;

 

연습문제 2-7 다음 각 항목의 코드에서 컴파일 오류를 수정하라. #명품자바프로그래밍2장연습문제7번

 

(1) while(1){ }  while(true){ }

(2) int n=3.5;  double n=3.5;

(3) int b=(3<5)?true:false;  boolean b=(3<5)?true:false;​​

(4) int score=85; if(80<score<90) System.out.print(score);  int score=85; if(80<score && score<90) System.out.print(score);

연습문제 2-8 다음 문장을 조건식으로 나타내라. #명품자바프로그래밍2장연습문제8번

 

(1) age는 12보다 작거나 같다  age <= 12

(2) age는 b보다 작고 c보다 크다  age <b && age >c

(3) age는 빼기 5는 10과 같다  age-5 == 10

(4) age는 b와 같지 않거나 c와 같다  age!b || age == c

 

연습문제 2-9 다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라. #명품자바프로그래밍2장연습문제9번

 

if(sum>100) sum = 100;
else sum = 0;

--> sum = (sum>100)? 100:0;

 

 

 

연습문제 2-10 다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라. #명품자바프로그래밍2장연습문제10번

 

if(n>5) System.out.println(n);
else System.out.println(5);

--> System.out.println((n>5)?n:5);

 

 

연습문제 2-11 System.out.print(text);로 출력할 때 다음과 같이 출력되는 문자열 text는 무엇인가? #명품자바프로그래밍2장연습문제11번

 

"를 출력하려면 \ 다음에 "를 붙여 \"과 같이 하면 됩니다.  --> \"를 출력하려면 \\다음에 \"를 붙여 \\\"과 같이 하면 됩니다.

 

 

연습문제 2-12 다음 출력문에 의해 출력되는 텍스트는? #명품자바프로그래밍2장연습문제12번);

 

System.out.print("나는 \"Java를 "+ 100 + "%\"" + "사랑해");

--> 나는 "Java를 100%"사랑해

 

연습문제 2-13 다음 switch문이 있을 때 (1)~(4) 문항에 따라 출력되는 결과는? #명품자바프로그래밍2장연습문제13번

 

package test02;

public class test0213 {

	public static void main(String[] args) {
		
		//char grade = 'A';
		char grade = 'F';
		int sum = 0;

		switch (grade) {
		case 'A':
			sum += 100;
		case 'B':
			sum += 50;
		case 'C':
			sum += 30;
		case 'D':
			sum += 10;
		}
		System.out.print(sum);
	}

}

 

(1) grade가 'A' 일 때 : 190

(2) grade가 'B' 일 때 : 90

(3) grade가 'C' 일 때 : 40

(4) grade가 'F' 일 때 : 10

연습문제 2-14 다음 if문을 switch문으로 바꾸어라. #명품자바프로그래밍2장연습문제14번

 

if(in.equals("가위")) System.out.println(1); 
else if(in.equals("바위")) System.out.println(2); 
else if(in.equals("보")) System.out.println(3); 
else System.out.println(0);

 

* 문자열끼리의 비교는 ==가 아닌 equals.를 사용해야 한다.

switch(in.equals) {
    case "가위" : System.out.println(1); break; 
    case " 바위" : System.out.println(2); break; 
    case "보" : System.out.println(3); break; 
    default : System.out.println(0); 
    }

 

* 자바 ==와 equals 차이

 

== : 기본형데이터 (int 등), 비교를 위한 연산자 <-> equals 메소드 : 객체형

== : 메모리에서 참조하고 있는 값(주소값) 비교 <-> equals : 메모리에 저장되어 있는 값 비교

== : 같은 객체를 참조하는가? <-> equals : 들어있는 값이 같은가?

 

* Call By Value(CBV), Call By Reference(CBR)

 

CBV : 대상에 주소값을 가지지 않으며 값을 할당받는 형태. int, float, double, byte 등 primitive type (원시형, 기본형데이터)

CBR : 대상을 선언했을 때 주소값이 부여. 객체를 불어올 때 주소값을 불러온다고도 한다. class, object가 해당

 

 

 

 

 

 

 

명품자바프로그래밍 2장 실습문제 바로가기

728x90
728x90
블로그 이미지

coding-restaurant

코딩 맛집에 방문해주셔서 감사합니다.

,

v