1. 문자열 비교


1) equals(): 대상들의 값 자체로만 비교

2) == 연산자: 대상들의 주소값을 비교 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package whileex;
 
public class WhileTest10 {
    public static void main(String[] args) {
 
        String str1 = "apple";
        String str2 = "apple";
        String str3 = new String("apple");
 
        System.out.println(str1 == str2);             // true
        System.out.println(str1 == "apple");         // true
        System.out.println(str1 == str3);             // false
        System.out.println(str1.equals("apple"));   // true
        System.out.println(str1.equals(str2));        // true
 
    }
}
cs



2. charAt(index)


1) 반환형은 char형 

2) 문자형 char는 내부적으로 정수로 계산된다. 


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
package whileex;
 
public class WhileTest11 {
    public static void main(String[] args) {
 
        String str1 = "mango";
        System.out.println(str1.charAt(0));            // m
        System.out.println(str1.charAt(1== 'a');    // true
        
        String str2 = "1234";
        System.out.println(str2.charAt(2));            // 문자열 3
    
        System.out.println((int)str2.charAt(2));     // 아스키코드 51
        System.out.println(str2.charAt(2+ 3);      // 아스키코드 51 + 3 = 54 
        System.out.println(+ str2.charAt(2));      // 아스키코드 51 + 3 = 54
    
        System.out.println(str2.charAt(2+ "3");    // 33
        System.out.println(str2.charAt(2+ '3');     // 51 + 51 = 102
        
        System.out.println(str2.charAt(2== 3);     // false
        System.out.println(str2.charAt(2== '3');   // true
        
        System.out.println(str2.charAt(2/ 3);        // 51 / 3 = 17
        
    }
}
cs

# 설명

문자열 3에 대한 아스키코드 값은 51이 된다. 

Line 13: 질문

Line 14: 문자 + 정수 = 문자에 대한 아스키코드 값 + 정수

Line 17: 질문