이번 Unit에서는 이론보다는 실습 위주였기 때문에 문제를 풀면서 알게 된 부분을 정리해 보았습니다.
이 외에도 다양한 메서드가 있을텐데, Oracle에서 확인해보자!
Java의 String은 C언어와는 다르게, 인덱스로 접근할 수 없다.
String str = "helloworld";
// 잘못된 접근
System.out.println(str[5]);
// 올바른 접근
System.out.println(str.charAt(5));
그래서 charAt(index)
를 사용한다.
(str.charAt(index)와 str[i]의 의미는 동일하다.)
❓ string은 왜 index로 접근할 수 없는 걸까?
(아직 이유는 찾지 못했음)
// 유니코드를 활용
int num = character - '0';
// getNumericValue 메서드를 사용
int num = Character.getNumericValue(character);
System.out.println("A" + 3); // string + int
System.out.println('1' + "ABC"); // char + string
System.out.println("A" + "A"); // string + string
이는 덧셈 연산자를 진행할 때, 피연산자 중 한 쪽이 String 형이면 나머지 쪽을 String 형태로 변환한 다음에 문자열을 결합하는 방식으로 작동하기 때문이다. (참고)
str = str.replace(oldChar, newChar)
str = str.deleteCharAt(index)
beginIndex < = x < endIndex
만큼을 자른다.str = str.substring(0, result.length()-1);
public boolean isPrime(int num) {
if (num == 1 || num % 2 == 0) {
return false;
}
if (num == 2) {
return true;
}
for (int i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
}