CS

[CS] Java 기초 (형 변환, 문자열 기능)

y_lime 2025. 2. 14. 15:32

형 변환

(자료형) 변수명 or 값;

int score = 93;
float score_f = (float)score;
double score_d = (double)93;

이때 (float) 과 (double)은 생략이 가능한데, 이를 묵시적 형 변환(=자동 형 변환)이라고 한다.

즉, int ➝ long ➝ float ➝ double 처럼 데이터 크기가 작은 것을 보다 더 큰 것으로 변환하는 것은 생략 가능하다.

 

반대로, 명시적 형 변환은 double ➝ float ➝ long ➝ int 처럼 데이터 크기가 큰 것을 보다 작은 것으로 변환하는 것이므로 이 과정에서는 데이터의 손실이 발생할 수 있으므로 변화하려는 자료형을 생략할 수 없다.

 

문자열 기능

String s = "I like Java" ;

기능 설명  예시 결과
length 길이 s.length(); 11
toUpperCase 대문자로 s.toUpperCase(); I LIKE JAVA
toLowerCase 소문자로 s.toLowerCase(); i like java
contains 포함 여부 s.contains("Java"); true
indexOf 위치 정보 s.indexOf("Java"); 7
lasIndexOf 마지막 위치 정보 s.lastIndexOf("a"); 10
startsWith 문자열로 시작하는가? s.startsWith("I like") true
endsWith 문자열로 끝나는가? s.endsWith("."); false
replace 문자열 변환 s.replace("like","love"); I love Java
substring 문자열 자르기 s.substring(7); Java (0~6제거하고 그 후 출력)
trim 앞뒤 공백 제거 s.trim(); I like Java
concat 문자열 결합 s.concat(" and Python)" I like Java and Python

 

 

문자열 비교

틀린 방법

String s1 = "Java";
String s2 = "Java";
System.out.println(s1==s1); //true

 

옳은 방법

String s1 = new String("Java");
String s2 = new String("Java");
System.out.println(s1==s1); //false

String s1 = new String("Java");
String s1 = new String("Java");
System.out.println(s1.equals(s2)); //true

 

위와 같이 문자열 비교를 하려면 equals라는 함수를 써준다 !