Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자바
- webpack
- media query
- cleancode
- Servlet
- java
- github
- 반응형 페이지
- HTML
- 코드업
- 변수
- node.js
- 그럼에도불구하고
- coding
- 프론트엔드
- JavaScript
- git
- redux
- @media
- react-router-dom
- 코딩테스트
- 자바문제풀이
- node
- TypeScript
- CSS
- react
- max-width
- 그럼에도 불구하고
- frontend
- JS
Archives
- Today
- Total
그럼에도 불구하고
String 클래스의 여러가지 메서드 본문
String 클래스에는 여러가지 메서드가 있다.
이 중에서 자주 쓰이는 메서드에 대해서 적어보려고 한다.
메서드란? : 특정한 작업을 수행하기 위한 명령문들의 집합
.length()
String str = "Hong Gil Dong";
int index = str.length(); // ★★ 많이 씀~! ★★
System.out.println("str의 길이: " + index);
.length()는 해당 문자의 길이를 알려준다. (띄어쓰기 포함)
length는 1부터 시작한다.
즉, str의 길이는 13이다.
.indexOf()
String str = "Hong Gil Dong";
int index = str.indexOf('o');
System.out.println("맨 앞 소문자 'o'의 위치: " + index);
indexOf('?');는 ?가 처음부터 몇번째의 위치에 있는지 알려준다.
.length()와는 다르게
length()를 제외한 모든 메서드는 0부터 시작한다.
즉, index = str.indexOf('o');의 위치는 1이다.
String str = "Hong Gil Dong";
int index = str.indexOf('Gil');
System.out.println(" Gil의 위치: " + index);
위 처럼 한글자 이상의 값도 찾을 수 있다.
index = str.indexOf("Gil'); 의 위치는 5이다.
.lastIndexOf()
String str = "Hong Gil Dong";
int index = str.lastIndexOf('o');
System.out.println("맨 뒤 소문자 'o'의 위치: " + index);
lastIndexOf('?')는
?가 뒤부터 몇번째에 있는지 알려주는 메서드이다.
즉, index = str.lastIndexOf('o'); 의 위치는 10이다.
.charAt()
String str = "Hong Gil Dong";
char a = str.charAt(0);
System.out.println("0번째 위치의 문자: " + a);
charAT('?')는 어떤 문장에서
?번째 위치의 문자의 값이 어떤 값인지를 알려준다.
즉, a = str.charAt(0);의 문자는 H이다.
equals()와 그 외 여러가지 메서드
equals() 메서드의 부분은
전에 작성한 String Class 게시글을 읽고 오는 것이 도움이 될 것이다.
https://despiteallthat.tistory.com/17
Scanner sc = new Scanner(System.in);
System.out.print("apple 입력하세요: ");
String s1 = sc.next();
String s2 = "apple";
String str ="Hong Gil Dong"
if (s2.equals(s1)) {
System.out.println("같습니다. if_1");
}
if(s2.equals("Apple")) {
System.out.println("같습니다. if_2");
//거짓임 equals가 대문자 소문자도 비교하기 때문
}
//s2는 암시적으로 apple 값을 잡음, s1은 apple는 명시적으로 새롭게 만든 공간에 받음
// 결국 s1과 s2는 주소값이 다르기 때문에 같지 않음
// s1과 s1를 비교하려면 .equals()를 써야함 <- 결국 이것도 값 비교임
// ★ String class는 절대 ==로 비교하지 않는다.
// s2와 "apple" 은 값 자체를 비교하는 것이기 때문에 같음
if(s2.equalsIgnoreCase("Apple")) {
System.out.println("같습니다.");
// 대소문자 구별 없이 단어만 같으면 참임
}
//영단어를 모두 대문자로 변경
System.out.println(s2.toUpperCase());
//영단어를 모두 소문자로 변경
System.out.println(str.toLowerCase());
String id = " pipo36 ";
// id에 공백을 포함할 경우 아래 조건문은 거짓이 나옴
if(id.equals("pipo36")) {
// 공백 때문에 조건문 성립 x
System.out.println("로그인성공");
}
String t_id = id.trim(); //문장 앞뒤의 의미없는 공백을 제거 (중간은 제거하지 않음 -> 띄어쓰기)
if(t_id.equals("pipo36")) {
System.out.println("로그인성공");
} // trim으로 인해 공백이 제거되어 같음
String arr[] = str.split(" ");
// " "를 기준으로 문장을 나눈다.
// str에 Hong Gil Dong 이니 [0] = Hong, [1] = Gil, [2] = Dong가 들어간다.
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}//outer
//스트링 클래스의 메서드는 아니지만 자주 사용하는 메서드
String number = "10";
int n = Integer.parseInt(number);
// 정수형태의 문자열을 실제 정수로 변경해주는 메서드 (진짜 많이 쓰임!!!!)
// 대신 진짜 정수처럼 생겨야 함 !!!!!!!!!!!
System.out.println(n+1);
char[] carr = {'A', 'B', 'C'};
String cs = new String(carr);
System.out.println(cs);
결과
'Java, Servlet > Java basics' 카테고리의 다른 글
String Class (0) | 2022.10.25 |
---|---|
삼항연산자란 무엇인가? (0) | 2022.09.21 |
형변환이란 무엇인가? (2) | 2022.09.21 |
데이터 타입이란? (1) | 2022.09.17 |
변수란 무엇인가 (1) | 2022.09.17 |
Comments