그럼에도 불구하고

👨‍💻

String 클래스의 여러가지 메서드 본문

Java, Servlet/Java basics

String 클래스의 여러가지 메서드

zenghyun 2022. 10. 25. 11:01

 

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

 

[JAVA][String] String Class

자바에서 가장 대표적인 클래스인 String 클래스를 얘기해보려고 한다. String 클래스는 두 가지의 특징을 가지고 있다. 1. 객체 생성법이 두 가지이다. (암시적, 명시적) 2. 한번 생성된 문자열의 내

despiteallthat.tistory.com

 

 

	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