Android/Android Stdio를 활용한 안드로이드 프로그래밍

[Android] 안드로이드 프로그래밍 7판 3장 연습 문제

Meezzi 2022. 10. 18. 17:26
728x90

 

 

한빛 아카데미에서 출판한 Android Studio를 활용한 안드로이드 프로그래밍 책을 기반으로 작성하였습니다.

 

 

1. 다음 중 틀린 것을 모두 고르시오.

 1) Java는 C++와 마찬가지로 포인터를 활용할 수 있다.

 3) Java는 연산자 오버로딩을 지원한다.

 

 

2. Java에서 사용되는 데이터 형식 중에서 정수형에 대해 설명하시오.

 - byte : 1byte를 사용하며 -128 ~ +127까지 입력

 - short : 2byte를 사용하며 -32768 ~ +32767까지 입력

 - int : 4byte를 사용하며 약 -21억 ~ +21억까지 입력

 - long : 8byte를 사용하며 상당히 큰 정수까지 입력 가능

 

 

 

 

3. 다음은 점수에 따라서 A~F로 학점을 나누는 프로그램이다. 빈칸을 채우시오.

public static void main (String[] args) 
	{
		int input = 85;
		int jumsu = (input /10) *10;
 
		switch(jumsu) {
			case 100:
			case 90 : System.out.println("A 학점"); break;
			case 80 : System.out.println("B 학점"); break;
			case 70 : System.out.println("C 학점"); break;
			case 60 : System.out.println("D 학점"); break;
			default : System.out.println("F 학점"); break;
		}
	}

 

 ① switch(jumsu)

 ② default : System.out.println("F 학점"); break;

 

 

 

4. 다음과 같이 3X3 이차원 배열을 선언하고, for문을 이용하여 값을 대입하는 코드를 작성하시오.

 

public static void main (String[] args) {
	int array[][] = new int[3][3];
    
	int row = 0;
    int col = 0;
	int res=100;
 
 	for(row=0; row<3; row++) {
		for(col=0; col<3; col++) {
			array[row][col]=res;
			System.out.print(array[row][col] + " ");
			res= res+ 10;
		}
		System.out.println();
	}
}

 

 

5. 다음코드가 출력하는 값을 차례로 쓰시오.

static int data = 100;
	public static void main (String[] args) throws java.lang.Exception
	{
		int data = 200;
		data++;
		System.out.println(data);
		func1(data);
	}
	
	static void func1(int data) {
		data ++;
		System.out.println(data);
	}
출력되는 값 : 201, 202

 

 

6. [예제3-7]의 Car 클래스를 상속받은 Truck 클래스를 다음 조건에 맞게 생성하시오.

 - 배기량 변수 cc를 추가한다(정수형).

 - 배기량 값을 파라미터로 받는 생성자를 추가한다.

 - 트럭의 생산 연도 상수 필드 YEAR를 선언하고, 값을 2013으로 한다.

 - 배기량을 반환하는 getCC() 메소드를 추가한다.

 - upSpeed(int) 메소드를 최대 속도 150으로 오버라이딩한다.

class Truck extends Car {
	int cc;
	final int YEAR = 2013;
	
	Truck(int YEAR) {
		this.YEAR = YAER;
	}
	
	static int getCC() {
		return cc;
	}
	
	void upSpeed(int value) {
		if (speed + value >=150)
			speed=150;
		else
			speed = speed + (int) value;
	}
}

 

 

7. 다음은 객체지향과 관련된 내용이다. 틀린 것을 모두 고르고 그 이유를 설명하시오.

 3) 정적 필드는 앞에 final 키워드를 붙여야 한다.

  -> static 키워드를 붙여야 한다.

  -> final은 상수 필드 앞에 붙인다.

5) Java는 클래스의 다중 상속이 가능하지만 되도록 사용하지 않는 것이 좋다.

  -> 다중 상속을 지원하지 않는다.

8) 추상 메소드도 필요하다면 메소드 본체를 만들고 메소드에서 작동할 내용을 코딩할 수 있다.

  -> 추상 메소드 본체에서 코딩을 작성하지 않는다.

 

 

8. 다음 코드는 컴파일 오류는 없으나 실행 시에 오류가 발생한다. 이를 제네릭스로 수정하여 컴파일 시에 오류가 발생하게 하시오.

public static void main (String[] args) {
		ArrayList<Integer> numList = new ArrayList<Integer>();
		numList.add(1);
		numList.add(2);
		numList.add("3");
 
		int hap = 0;
		for(int i=0; i<numList.size(); i++) {
			hap += (int) numList.get(i);
		}
		System.out.print(hap);
	}

 

 

혹시 틀린 것이 있다면 알려주세요 !!

피드백은 언제나 환영입니다 !!!

728x90