IT CookBook JAVA 마스터/연습문제

IT CookBook JAVA 마스터 Ch.06 연습문제

은행털이 2024. 4. 13. 16:27

01. 다음 중 1차원 배열의 구문이 아닌 것은 무엇인가?

① int arr[];

② int []arr;

③ int[] arr;

④ int[] arr[];

 

02. 다음 프로그램의 실행 결과는 무엇인가?

class MyClasss {

    public static void main(String[] args) {
        int marks[] = new int[4]; // 배열의 크기는 0부터 n-1까지 할당되므로 4일 경우 0,1,2,3만 할당됨
        marks[0] = 65;
        marks[1] = 65;
        marks[2] = 65;
        marks[3] = 65;
        marks[4] = 65; // 3을 초과한 값을 참조하려 하므로 오류 발생
        for ( int i = 0; i < marks.length; i++) {
            System.out.println(marks[i]);
        }
    }
}

① 모든 marks 값이 하나씩 표시된다.

② 모든 marks가 배열 형식으로 표시된다.

③ 요소의 초기화가 배열의 길이보다 크므로 컴파일 오류가 발생한다.

④ 컴파일되었지만 아무것도 출력되지 않는다.

 

03. 자바에서 배열의 요소를 표시하는 데 사용된는 루프문은 무엇인가?

① switch ~ case문

② for문

③ 중첩된 if문

④ if ~ elses문

 

04. 다음 중 두 문자열을 비교하는 구문은 무엇인가?

① S1 == S2

② S1.isequals(s2)

③ S1 = S2

④ S1 equal to S2

 

05. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {

	public static void main(String[] args) {
		String arr[] = {"C", "C++", "Java"}; // C, C++, Java 문자열 배열 할당
		arr[0] = "Python"; // 0번 인덱스의 값 C를 Python으로 대체
		for ( int i = 0; i < arr.length; i++) {
			 System.out.println(arr[i]); // 대체된 Python, C++, Java 순으로 출력
		}
	}
}

① C C++ JAVA

② Python C++ Java

③ Python

④ C

 

06. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {

	public static void main(String[] args) {
		int arr[][] = { {100, 200}, {300, 400} }; // 2x2 행렬 할당
		
		for ( int i = 0; i < arr.length; i++ ) { // i = 행
			for (int j = 0; j < arr.length; j++ ) { // j = 열
				System.out.println(arr[i][j]); // [0][0]=100, [0][1]=200...
			}
		}
	}
}

① i j

② arr[i][j]

③ 100 200 300 400

④ 400 300 200 100

 

07. 자바에서 문자열을 선언하는 방법으로 옳지 않은것은 무엇인가?

① String = "data";

② String var = "value";

③ String var = new String("Value");

④ char c = {'V', 'a', 'l', 'u', 'e'}; String var = new String(c);

 

08. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {

	public static void main(String[] args) {
   		// char 데이터 타입은 1글자만 할당 가능하지만 배열 선언 시 문자열로 할당 가능
		char data[] = {'j', 'a', 'v', 'a'}; 
		String s = new String(data); // data를 s에 동적 할당
		System.out.println(s);
	}
}

① java

② JavaBook

③ Java..concat(two)

④ 컴파일 오류

 

09. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {

	public static void main(String[] args) {
		String one = "Java"; // one에 Java 할당
		char arr[] = {'B', 'o', 'o', 'k'}; // char타입 배열 arr에 Book 할당
		String two = new String(arr); // two에 arr 동적 할당(arr의 값 = Book)
		System.out.println(one.concat(two)); // one과 two의 문자열 병합 후 출력
	}
}

① java

② JavaBook

③ Java..concat(two)

④ 컴파일 오류

 

10. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {

	public static void main(String[] args) {
		String datas = "Java, Book";
		String data[] = datas.split(","); // ,를 기준으로 문자열을 슬라이스하여 배열에 할당
		System.out.println(data[0]); 
        // 0번 인덱스 = Java
        // 1번 인덱스 =  Book
        // 슬라이스하여도 공백은 사라지지 않는 점을 유의
	}
}

① Java

② Book

③ Java, Book

④ Java Book