자격증 요약/정보처리기사

[정보처리기사 실기] 자바(JAVA) 기출 유형_1 (반복문, 제어문, 연산)

문성 2026. 4. 7. 14:00


[20년 1회]

13. 다음은 자바 소스코드이다. 출력 결과를 쓰시오.

public class good {
    public static void main(String[] args) {
        int i;
        int[] a = {0, 1, 2, 3};
        for (i = 0; i < 4; i++) {
            System.out.print(a[i] + " ");
        }
    }
}
답: 0 1 2 3
                               

public class good {
    public static void main(String[] args) {
        int i;
        int[] a = {0, 1, 2, 3};
→ 변수 정의

        for (i = 0; i < 4; i++) {
            System.out.print(a[i] + " ");

i = 0 : i 의 초기값 0
i < 4 : i 가 4보다 작은 동안 반복 수행 해라.
i++ : 수행된 i 의 값을 1 올려라.
System.out.print(a[i] + " ") : 반복수행된 i 를 넣어서 출력해라.


그러므로 출력값은 0 1 2 3 (출력문에 " " 가 있으므로 띄어쓰기가 된다.)

 

 

[20년 1회]

14. 다음은 자바 소스코드이다. 출력 결과를 쓰시오.

public class good {
    public static void main(String[] args) {
        int i = 3;
        int k = 1;
        swich (i) {
            case 0;
            case 1;
            case 2;
            case 3
                k = 0;
            case 4
                k += 3;
            case 5
                k -= 10;
            default:
                k--;
        }
        system.out.print(k);
    }
}
답: -8
                               

 


[20년 3회]

17. 다음은 자바 코드이다. 출력 결과를 쓰시오.

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
                               

    public static void main(String[] args) {

        int i = 0;
        int sum = 0;
→ 변수 정의

        while (i < 10) {
            i++;
while (i < 10) : i 가 10보다 작은 동안 반복
i++ : i 의 값을 1 올린다.

            if (i % 2 == 1)
                continue;
            sum += i;
if (i % 2 == 1) : i 의 값을 2로 나눈 나머지가 1이면 continue, 아니면 sum + i 값을 해서 sum 에 넣는다.
continue : 하게 되면, 위의 while (i < 10) 문으로 돌아간다.

        System.out.println(sum);
→ 계산된 sum 값을 출력하고 엔터(ln) 친다.

 


[21년 1회]

17. 다음은 Java 프로그램이다. 실행 결과를 쓰시오.

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("+");
            }
        }
    }
}
답: 0 + 1 + 2 + 3 + 4 + 5 = 15
                               

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("+");

※ if문 들어가기 전에 System.out.print(i) 가 있어서 i 값이 매번 출력된다

 


[21년 3회]

11. 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.

public class testco {
    public static void main(String[] args) {
        int a = 3, b = 4, c = 3, d = 5;
        if ( (a == 2 | a == c) & !(c > d) & (1 == b ^ c != d) ) {
            a = b + c;
            if (7 == b ^ c != a) {
                System.out.println(a);
            } else {
                System.out.println(b);
            }
        } else {
            a = c + d;
            if (7 == c ^ d != a) {
                System.out.println(a);
            } else {
                System.out.println(d);
            }
        }
    }
}
답: 7
                               

public class testco {
    public static void main(String[] args) {
        int a = 3, b = 4, c = 3, d = 5;
→ 변수 정의

        if ( (a == 2 | a == c) & !(c > d) & (1 == b ^ c != d) ) {
→ 위에서 정의된 숫자를 넣은 후, 왼쪽부터 값을 풀어가면 된다.
※ 거짓은 0, 참은 1 (※0을 제외한 다른 모든 숫자는 참이다.)
 | : or, 둘 중 하나만 참이어도 참
 &  : and, 둘 다 참이어야 참
 ! : 값 반전(거짓 → 참)

 ^ : 두 값이 다르면 참

→ (3 == 2 | 3 == 3 & !(3>5) & (1 == 4 ^ 3 != 5)
→ (거짓 | ) & !(거짓) & (거짓 ^ )
 () & () & ()
→ 참
                               

            a = b + c;
→ 참이므로 실행된다.
→ a = 4 + 3
→ a는 이제부터 7이다.

            if (7 == b ^ c != a) {
→ (7 == 4 ^ 3 != 7)
→ (거짓) ^ (참)
→ (참)

                System.out.println(a);
→ 참이므로 a 값 출력된다.
→ 7 값 출력
                               

→ 이 아래로는 거짓이었을 때 실행되므로, 코드는 여기서 종료

            } else {
                System.out.println(b);
            }
        } else {
            a = c + d;
            if (7 == c ^ d != a) {
                System.out.println(a);
            } else {
                System.out.println(d);

 

 

[22년 1회]

3. 다음 자바 문법에 알맞는 출력 결과를 작성하시오.

class A {
    int a;
    int b;
}
public class Main {
    static void func1(A m) {
        m.a *= 10;
    }
    static void func2(A m) {
        m.a += m.b;
    }
    public static void main(String args[]) {
        A m = new A();
        m.a = 100;
        func1(m);
        m.b = m.a;
        func2(m);
        System.out.printf("%d", m.a);
    }
}
답: 2000
                               

 


[22년 2회]

7. 다음 자바 코드에 알맞는 출력값을 작성하시오.

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
                               

 


[22년 3회]

20. 다음 자바 코드에 대한 출력 값을 작성하시오.

public class Exam {
  public static void main(String[] args){
  int a = 0;
  for(int i=1; i<999; i++){
    if(i%3==0 && i%2!=0)
      a = i;
    }
    System.out.print(a);
  }
}
답: 993
                               
3의 배우시면서 홀수인 수를 찾기
조건에 맞을때마다 a = i 로 i 의 값에 a로 덮어씌어진다.
a +=i 처럼 a에 가산되는 것이 아니므로, 최종에 가까운 값 하나만 출력되는 셈

998 → 997 → 996 으로 생각해보면 쉽다.
998: 3의 배수가 아님 (X)
997: 3의 배수가 아님 (X)
996: 3의 배수이지만, 짝수임 (996 % 2 != 0이 거짓) (X)
995: 3의 배수가 아님 (X)
994: 3의 배수가 아님 (X)
993: 993 % 3 == 0 (참) / 993 % 2 != 0 (참: 홀수임)
                               

public class Exam {
  public static void main(String[] args){
 String[] : 문자열 배열이라는 타입 정의
 args : 그 배열의 이름 정의
→ 용도 : 프로그램 외부에서 전달되는 데이터를 받기 위한 입력 통로란 뜻

  int a = 0;
→ 변수 정의

  for(int i=1; i<999; i++){
    if(i%3==0 && i%2!=0)
      a = i;

    System.out.print(a);

 

 

[26년 1회]
17.
다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.

public class Main {
    public static void main(String[] args) {
        int x1 = 9;
        int x2 = 2;
        String x3 = "3";
        System.out.println(x1 + x2 + "2" + x3);
    }
}
답: 1123