
1.다음 중 기본형 이 아닌 것은 (primitive type) ?(2)(★★★☆☆)
(출제의도 : 객체지향 언어인 자바에 대한 이해)
①. int
②. Byte
③. double
④. boolean
-> 2번
- 다음 중 형변환을 생략할 수 있는 것은 모두 고르시오 ?
(2)(★★★☆☆)(출제의도 : 객체지향 언어인 자바에 대한 이해)
byte b = 10;
char ch = 'A';
int i = 100;
long l = 1000L;
①. b = (byte)i;
②. ch = (char)b;
③. short s = (short)ch;
④. float f = (float)l;
⑤. i = (int)ch
-> 4번, 5번
- 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는
코드이다. 만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를
담을 수 있다면 13개의 바구니가 필요할 것이다 (?)에 알맞은 코드를
넣으시오 . (2)(★★★☆☆)(출제의도 : 객체지향 언어인 자바에 대한 이해)
int numOfApples = 123; // 사과의 개수
int sizeOfBucket = 10; // 바구니의 크기 (바구니에 담을 수 있는 사과의 개수)
int numOfBucket =
numOfApples/sizeOfBucket + (?) ;
System.out.println(" 필요한 바구니의 수 :"+numOfBucket);
-> numOfApples/sizeOfBucket + (numOfApples%sizeOfBucket > 0 ? 1 : 0)
- 다음과 같은 배열이 있을 때 arr[3].length의 값은
얼마인가?(2)(★★★☆☆)(출제의도 : 배열에 대한 이해)
int[][] arr = {
{ 5, 5, 5, 5, 5},
{ 10, 10, 10},
{ 20, 20, 20, 20},
{ 30, 30}
};
-> 2
- 다음 중 생성자에 대한 설명으로 옳지 않은 것은?
(2)(★★★☆☆)(출제의도 : 객체지향 언어인 자바에 대한 이해)
①. 모든 생성자의 이름은 클래스의 이름과 동일해야한다
②. 생성자는 객체를 생성하기 위한 것이다
③. 클래스에는 생성자가 반드시 하나 이상 있어야 한다
④. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다
-> 2번
- 다음 코드의 실행 결과를 예측하여 적으시오.(2)(★★★☆☆)
(출제의도 : 객체지향 언어인 자바에 대한 이해)
class Exercise6_16
{
public static void change(String str) {
str += "456";
}
public static void main(String[] args)
{
String str = "ABC123";
System.out.println(str);
change(str);
System.out.println("After change:"+str);
}
}
-> ABC123
After change:ABC123
- 다음 코드의 실행 결과를 예측하여 적으시오.(2)(★★★★☆)
(출제의도 : 객체지향 언어인 자바에 대한 이해)
public static void main(String args[])
{
int i = 3; int k = 1;
switch(i)
{
case 1: k += 1;
case 2: k++;
case 3: k = 0;
case 4: k += 3;
case 5: k -= 10;
default: k--;
}
System.out.print(k);
}
-> -8
- 다음 코드의 실행 결과를 예측하여 적으시오.(2)(★★★★☆)
(출제의도 : 객체지향 언어인 자바에 대한 이해)
public class good{
public static void main(String[] args){
int[][]arr
= new int[][]{{45,50,75},{89}};
System.out.println(arr[0].length);
System.out.println(arr[1].length);
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
}
}
-> 3
1
45
50
89
- 다음 코드의 실행 결과를 예측하여 적으시오.(2)(★★★★☆)
(출제의도 : 객체지향 언어인 자바에 대한 이해)
public class good {
public static void main(String[] args)
{
int i, j;
for(j=0, i=0; i<=5; i++)
{
j+=i;
System.out.print(i);
if(i==5)
{
System.out.print("=");
System.out.print(j);
}
else
{
System.out.print("+");
}
}
}
}
-> 1+2+3+4+5=15
- 다음 코드의 실행 결과를 예측하여 적으시오.(2)(★★★★★)
(출제의도 : 객체지향 언어인 자바에 대한 이해)
public class good
{
public static void main(String[] args)
{
int i=0;
int sum=0;
while (i<10)
{
i++;
if(i%2 ==1)
continue;
sum += i;
}
System.out.println(sum);
}
}
-> 30
11.두 개의 주사위를 던졌을 때 눈의 합이 6이 되는 모든 경우의 수를 출력하는
프로그램이다. (?)에 들어갈 내용을 작성하여라.(2)(★★★★★)
class Exercise4_6 {
public static void main(String[] args) {
for(int i=1;i<=6;i++){
for(int j=1;j<=6;j++){
if((?)){
System.out.println(i+"+"+j+"="+(i+j));
}
}
}
} // main
}
-> i+j==6
12.다음의 코드에 정의된 변수들을 종류별로 구분해서
적으시오.(2)(★★★★★)
class PlayingCard {
int kind;
int num;
static int width;
static int height;
PlayingCard(int k, int n) {
kind = k;
num = n;
}
}
static 변수 : width, height
인스턴스 변수 : kind, num
지역 변수 : k, n
13.아래는 변수의 값에 따라 ‘양수’, ‘음수’, ‘0’ 을 출력하는 코드이다. 삼항
연산자를 이용해서 (1)에 알맞은 코드를 넣으시오.(2)(★★★★★)
class Main01 {
public static void main(String[] args) {
int num = 10;
System.out.println(num > 0 ? "양수" : ( (1) ));
}
}
-> (num < 0 ? "음수" : "0")
14.차원 배열 에 담긴 모든 값의 총합과 평균을 구하는 프로그램의 (1), (2)에
입력해주세요.(2)(★★★★★)
class Exercise5_4
{
public static void main(String[] args)
{
int[][] arr = {
{ 5, 5, 5, 5, 5},
{10,10,10,10,10},
{20,20,20,20,20},
{30,30,30,30,30}
};
int total = 0;
float average = 0;
for(int i=0; i < arr.length;i++) {
for(int j=0; j < arr[i].length;j++) {
(1)
}
}
average = (2)
System.out.println("total="+total);
System.out.println("average="+average);
} // end of main
} // end of class
-> (1) : total += arr[i][j];
(2) : total /(float)(arr.length * arr[0].length)
- 다음 중 지역변수에 대한 설명으로 옳지 않은 것은 모두 고르시오?
(2)(★★★★★)
①. 자동 초기화되므로 별도의 초기화가 필요없다
②. 지역변수가 선언된 메서드가 종료되면 지역변수도 함께 소멸된다
③. 매서드의 매개변수로 선언된 변수도 지역변수이다
④. 클래스변수나 인스턴스변수보다 메모리 부담이 적다
-> 1번