신입개발자

문자열메소드1 본문

프로그래밍 언어/자바

문자열메소드1

dks_a 2022. 5. 8. 18:24
package pk40;

import java.util.Arrays;

public class 문자열메소드1 {

	public static void main(String[] args) {
		// 문자열 길이 : length()
		String s1 = "Hello world";
		String s2 = "안녕하세요";
		System.out.println("s1.length = " +s1.length()); //11
		System.out.println("s2.length = " +s2.length()); //5, 바이트수 아님, 글자수
		//자바는 유니코드를 사용하여 한글의 한문자도 1길이로 취급
		System.out.println();
		
		// 문자열 검색 charAt(인덱스) : 해당 인덱스의 문자를 반환
		System.out.println(s1.charAt(1)); //e
		System.out.println(s2.charAt(1)); //녕
		//indexOf() vs lastIndexOf() : 찾는 문자(열)의 시작 인덱스 변환
		System.out.println(s1.indexOf('l')); //2, 좌측에서 정방향 검색
		System.out.println(s1.lastIndexOf('l')); //9, 좌측에서 역방향 검색
		System.out.println(s1.indexOf("ll")); //2
		System.out.println(s1.lastIndexOf("ld")); //9
		System.out.println(s1.indexOf('o', 5)); //7, 5번 인덱스부터 정방향 검색
		System.out.println(s1.lastIndexOf('o', 5)); //4, 5번 인덱스부터 역방향 검색
		System.out.println(s1.indexOf('x')); //-1, 찾는 문자(열)이 없을 때
		System.out.println();
		
		// 다른 자료형 -> 문자열로 반환 : String.valueof()
		System.out.println(String.valueOf(true) + String.valueOf(3.14)); //true3.14
		
		// 문자열 연결 : concat()
		System.out.println("Hello".concat("world")); //덧셈 연산자를 이용하는 것이..
		
		// 문자열 -> byte[] 배열로 변환 : getBytes()
		byte[] a1 = "Hello".getBytes();
		System.out.println(Arrays.toString(a1)); 
		//[72, 101, 108, 108, 111], 영문자는 1바이트씩 자름
		
		byte[] a2 = "안녕하세요".getBytes();
		System.out.println(Arrays.toString(a2)); 
		//[-20, -107, -120, -21, -123, -107, -19, -107, -104, -20, -124, -72, -20, -102, -108]
		// 한글은 여러바이트를 1글자로 사용하므로 바이트단위값이 깨짐
		
		//문자열 -> char[] 배열로 변환 : toCharArray()
		char[] a3 = "Hello".toCharArray();
		System.out.println(Arrays.toString(a3)); //[H, e, l, l, o]
		char[] a4 = "안녕하세요".toCharArray();
		System.out.println(Arrays.toString(a4)); //[안, 녕, 하, 세, 요]
		
		
	}

}

 

'프로그래밍 언어 > 자바' 카테고리의 다른 글

클래스와 객체  (0) 2022.05.08
문자열메소드2  (0) 2022.05.08
문자열3  (0) 2022.05.08
문자열2  (0) 2022.05.08
문자열1  (0) 2022.05.08
Comments