한빛 아카데미에서 출판한 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);
}
혹시 틀린 것이 있다면 알려주세요 !!
피드백은 언제나 환영입니다 !!!
'Android > Android Stdio를 활용한 안드로이드 프로그래밍' 카테고리의 다른 글
[Android] 안드로이드 프로그래밍 7판 2장 연습 문제 (0) | 2022.10.13 |
---|