Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바의 정석 기초편 ch7
- 스프링 mvc1 - 서블릿
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch14
- @Aspect
- 자바의 정석 기초편 ch11
- 스프링 mvc2 - 타임리프
- 게시글 목록 api
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch13
- jpa - 객체지향 쿼리 언어
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch9
- 스프링 mvc2 - 로그인 처리
- 타임리프 - 기본기능
- 스프링 db2 - 데이터 접근 기술
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch2
- 2024 정보처리기사 시나공 필기
- 스프링 입문(무료)
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch5
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch4
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch12
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch8
Archives
- Today
- Total
나구리의 개발공부기록
Chapter 03 - 자바(기출문제_2) 본문
2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/실기 6강 - 프로그래밍 언어 활용
Chapter 03 - 자바(기출문제_2)
소소한나구리 2024. 6. 22. 17:222024년도 수제비 실기책(6판) 내용 정리
** 자바 이론은 자바의 정석기초편 글을 참조, 여기서는 생략
11. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int[][] arr = new int[][] {{45, 50, 75}, {89}}; // 2차원 배열
System.out.println(arr[0].length); // 배열 arr[0]번째의 길이
System.out.println(arr[1].length); // 배열 arr[1]번째의 길이
System.out.println(arr[0][0]); // 배열arr[n][n]의 값
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
}
}
// 3
// 1
// 45
// 50
// 89
12. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int i, j;
for (j=0, i=0; i<=5; i++) {
j+=i; // i는 1씩 증가, j는 i의 값을 + 누적 연산
System.out.print(i); // 개행없이 i출력 0 ~ 5
if(i == 5) { // i가 5가 되면 아래 코드를 실행
System.out.print("="); // 개행 없이 =출력
System.out.print(j); // 개행 없이 j의 값 출력 0 ... 15
}
else { // 그 외에는 아래의 코드를 시행
System.out.print("+"); // 개행 없이 +출력
}
}
}
}
//0+1+2+3+4+5=15
13. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
class ovr1 {
public static void main(String[] args) { // 프로그램 실행
// 각 클래스 객체 생성
ovr1 a1 = new ovr1();
ovr2 a2 = new ovr2();
// 각 클래스의 san 메서드의 호출 결과를 + 연산해서 출력
System.out.println(a1.san(3, 2) + a2.san(3, 2)); //5 + 6
}
int san(int x, int y) {
return x+y; // 매개변수의 값을 + 연산, 5 = 3 + 2
}
}
class ovr2 extends ovr1{
int san(int x, int y) { //
// 조상의 san 메서드의 연산결과를 +, 6 = 3 - 2 + 5
return x - y + super.san(x,y);
}
}
// 11
14. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
class Soojebi{
// Soojebi 클래스에서만 접근 가능한 private, 프로그램 구동시 바로 메모리에 올라가는 static
// Soojebi 클래스 타입 변수 instance를 null로 초기화하여 선언
static private Soojebi instance = null;
private int count = 0; // int타입 클래스 변수 count 선언(private 제어자)
static public Soojebi get() { // Soojebi타입 get()메서드 작성
if(instance == null) { // 변수의 값이 null 이면, 코드 실행
instance = new Soojebi(); // 새로운 객체를 생성해서 instance 변수에 저장
}
return instance; // 변수의 값을 반환
}
public void count() {count++;} // 해당 함수가 호출되면 count 변수의 값 증가
public int getCount() {return count;} // 해당 함수가 호출되면 count의 값을 반환함
}
public class Soojebi2 {
public static void main(String[] args) {
Soojebi s1 = Soojebi.get(); // get 메서드를 호출하여 새로운 객체를 생성(값이 null 이였으므로)
s1.count(); // s1 객체의 count메서드를 호출하여 count의 값을 1증가
Soojebi s2 = Soojebi.get(); // get 메서드를 호출 -> instance의 값이 null이 아니므로 기존의 값을 반환
s2.count(); // s2 객체의 count메서드를 호출하여 count의 값을 1증가, (s1 == s2)
Soojebi s3 = Soojebi.get(); // get 메서드를 호출 -> instance의 값이 null이 아니므로 기존의 값을 반환
s3.count(); // s3 객체의 count메서드를 호출하여 count의 값을 1증가, (s1 == s2 == s3)
System.out.print(s1.getCount()); // s1 객체의 getCount 메서드를 호출하여 count의 값을 출력
}
}
//3
// s1 == s2, s1 == s3 연산을 해보면 true가 반환되는 것을 확인해 볼 수 있음
15. 다음 자바 밑줄 친 곳에 들어갈 키워드를 작성
출력 결과 : positive
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
System.out.println(Soojebi.check(1));
}
_____ String check(int num) { // 객체 생성 없이 바로 호출이 가능해야하므로 static이 필요함
return (num > 0) ? "positive" : "negative";
}
}
// static
16. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int a = 3, b = 4, c = 3, d = 5;
// 비트 부호 연산 -> 2진법으로 변환 후 계산
// &: 모두 1이면 1, |: 둘중 하나라도 1이면 1, ^: 둘의 값이 같으면 0,
// 3 == 10, 4 == 11, 5 == 100
if ((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)){
// 0|1 & !0 & 0 ^ 1 -> 1 & 1 & 1 -> true, 아래 코드 실행
a = b + c; // a = 7;
if(7 == b ^ c != a) {
// 7 == 4 ^ 3 != 7 -> 0 ^ 1 -> true, 아래 코드 실행
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
17. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
class A {
int a;
int b;
}
public class Soojebi {
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(); // A 클래스 객체 생성
m.a = 100; // m(A클래스)의 변수 a에 100을 저장
func1(m); // func1함수에 m객체를 전달하여 호출 -> m.a = 10 * 100
m.b = m.a; // m.a의 값을 m.b에 저장
func2(m); // func1함수에 m객체를 전달하여 호출 -> m.a = 1000 + 1000
System.out.printf("%d", m.a); // m.a의 값 출력
}
}
// 2000
18. 다음의 스레드에 관한 코드의 밑줄에 알맞은 코드를 작성
문제 및 풀이
class Car implements Runnable { // 스레드를 실행하기 위한 방법중 하나인 Runnalbe 인터페이스르 구현
int a;
public void run() { // 쓰레드 실행 메서드 오버라이딩
System.out.println("run");
}
}
public class Soojebi {
public static void main(String[] args) {
Thread t1 = new Thread(new __________()); // Thread 객체를 생성할 때, 매개변수의 값이 필요함
t1.start();
}
}
// Car
19. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
int a;
public Soojebi(int a) { // 생성자, 매개변수의 값을 클래스변수 a에 저장
this.a = a;
}
int func() {
int b = 1;
for (int i=1; i<a; i++) { // a의 값미만 까지 반복 (1 ~ 4)
// 5 * 1 + 1
// 5 * 2 + 6
// 5 * 3 + 16
// 5 * 4 + 31
b = a * i + b;
}
return a + b; // 5 + 51
}
public static void main(String[] args) {
Soojebi obj = new Soojebi(3); // 3을 아규먼트로 Soojebi 객체 생성
obj.a = 5; // a의 값을 5로 변경
int b = obj.func(); // fucn함수의 호출 결과를 b에 저장
System.out.print(obj.a + b); // a + b의 값을 출력 5 + 56
}
}
// 61
20. 자바 소스 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int[] result = new int[5];
int[] arr = {79, 34, 10, 99, 50};
for(int i = 0; i < 5; i++) {
result[i] = 1; // result배열의 i인덱스의 위치에 1을 저장
for(int j = 0; j < 5; j++) {
// arr[i] 값이 arr[j]값보다 작으면 result[i]의 값을 1증가
if(arr[i] < arr[j]) result[i]++;
// 1. 79 < 99 -> result[i]++, 2
// 2. 34 < 79, 99, 50 -> result[i]++, 4
// 3. 10 < 79, 34, 99, 50 -> result[i]++, 5
// 4. 99 는 없음, 1
// 5. 50 < 79, 99 -> result[i]++, 3
}
}
for(int k = 0; k < 5; k++) {
System.out.print(result[k]);
// result 배열의 값을 모두 출력
}
}
}
// 24513
'2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비) > 실기 6강 - 프로그래밍 언어 활용' 카테고리의 다른 글
Chapter 03 - 자바(예상문제) (0) | 2024.06.23 |
---|---|
Chapter 03 - 자바(기출문제_3) (0) | 2024.06.22 |
Chapter 03 - 자바(기출문제_1) (0) | 2024.06.19 |
Chapter 02 - C언어(예상문제) (2) | 2024.06.17 |
Chapter 02 - C언어(기출 문제_5) (1) | 2024.06.16 |