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는 다른 인스턴스 참조");
+-----------------------+
| String Pool |
|-----------------------|
| str1: "Simple String" |
| str2: "Simple String" |
+-----------------------+
|
v
+-----------------------+
| Heap (new String) |
|-----------------------|
| str3: "Simple String" |
| str4: "Simple String" |
+-----------------------+
Comparison Results:
str1과 str2는 동일 인스턴스 참조
str3과 str4는 다른 인스턴스 참조
-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();
}
}