java 12

산야(Sanya)·2024년 1월 12일

java 족보

목록 보기
13/28

1.immutable 에 대하여 설명하시오.

  • Immutable은 변경할 수 없는 상태를 나타냅니다. 예를 들어, Java의 String 클래스는 Immutable입니다. 한 번 생성된 String 객체는 수정할 수 없으며, 수정이 필요한 경우 새로운 String 객체가 생성됩니다.

2. 아래의 결과를 예측하고,이유를 설명하시오.

String str1 = "Simple String";
String str2 = "Simple String";

String str3 = new String("Simple String");
String str4 = new String("Simple String");

예측:

str1과 str2는 동일 인스턴스 참조
str3과 str4는 다른 인스턴스 참조

이유:
'str1'과 'str2'는 동일한 문자열 리터럴을 참조하므로 동일 인스턴스를 참조할 것입니다.
'str3과 'str4'는 새로운 String 객체를 생성하므로 다른 인스턴스를 참조할 것입니다.

//참조변수의 참조 값 비교

if(str1 == str2)
System.out.println("str1과 str2는 동일 인스턴스 참조");
else
System.out.println("str1과 str2는 다른 인스턴스 참조");

if(str3 == str4)
System.out.println("str3과 str4는 동일 인스턴스 참조");
else
System.out.println("str3과 str4는 다른 인스턴스 참조");

3. 2번의 메모리를 그리시오.

        +-----------------------+
        |      String Pool      |
        |-----------------------|
        | str1: "Simple String" |
        | str2: "Simple String" |
        +-----------------------+
                    |
                    v
        +-----------------------+
        |   Heap (new String)   |
        |-----------------------|
        | str3: "Simple String" |
        | str4: "Simple String" |
        +-----------------------+

        Comparison Results:
        str1과 str2는 동일 인스턴스 참조
        str3과 str4는 다른 인스턴스 참조

4.사용자에게 받은 문자열을 역순으로 화면에 출력하는 프로그램을 작성하시오.

-scanner 함수와
-string 함수의 charAt() 함수를 이용해 볼것

입력:abcde
출력:edcba

import java.util.Scanner;

public class ReverseString {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("입력: ");
        String input = scanner.nextLine();

        // 문자열을 역순으로 출력
        System.out.print("출력: ");
        for (int i = input.length() - 1; i >= 0; i--) {
            System.out.print(input.charAt(i));
        }

        scanner.close();
    }
}
profile
개발일지

0개의 댓글