SW개발 (22.01~)/java (22.01~)

국비교육 1주일차 java 복습 1 (String 객체에 대한 멤버 메서드)

류드리 2022. 2. 2. 22:30

String 객체에 대한 멤버 메서드

		String str3 = "Have a Nice Day";
        	String str4="   Happy Day   ";

		System.out.println("공백포함 str3의 길이: "+str3.length()); // 15
		System.out.println("공백포함 str4의 길이: "+str4.length()); // 15
		System.out.println("앞뒤공백제거 str4의 길이: "+str4.trim().length()); // 9
		
		System.out.println("*"+str4+"*"); // *   Happy Day   *
		System.out.println("*"+str4.trim()+"*"); // *Happy Day*

*.length() : 문자열의 길이 구하기

*.trim() :문자열 앞뒤 공백제거

*.trim().length() : 문자열 앞뒤 공백제거한 후 길이 구하기

 

		String str3="Have a Nice Day";
        
		System.out.println("str3에서 0번문자: "+str3.charAt(0)); // H
		System.out.println("str3에서 7번문자: "+str3.charAt(7));  // N
		System.out.println("str3에서 H의 인덱스: "+str3.indexOf('H')); // 0
		System.out.println("str3에서 N의 인덱스: "+str3.indexOf('N')); // 7
        
		System.out.println("str3에서 Have출력: " + str3.substring(0, 4)); // Have 0~3추출
		System.out.println("str3에서 Nice출력: " + str3.substring(7, 11)); // Nice 7~10추출
        	System.out.println("str3에서 Nice부터 출력 : " + str3.substring(7)); // Nice Day

*.charAt(인덱스번호)

*.indexOf('찾을문자')

*.substring(처음 인덱스,끝 인덱스)

인덱스에 숫자 하나만 있으면 숫자부터 끝까지 출력

		String str1 = "apple";
		String str2 = "Apple";
        
        	System.out.println("문자열비교: " + str1.equals(str2)); // false
		System.out.println("문자열비교: " + str1.equalsIgnoreCase(str2)); // true
		
		System.out.println(str1.compareTo(str2)); // 97-62= 32 => 앞에것이 더 크다
		System.out.println(str1.compareTo(str1)); // 0
		System.out.println("computer".compareTo("command")); // 3 => 앞에가 다 똑같으면 p와 m을 비교
		System.out.println("hello".compareTo("hello")); // 0
		System.out.println("apple".compareTo("banana")); // 97-98 = -1 => 뒤의것이 더 크다
		System.out.println("kiwi".compareTo("orange")); // -4
		System.out.println("김".compareTo("홍")); // -10253 김<홍 오름차순
		System.out.println("홍".compareTo("차")); // 2597 홍>차 내림차순

A.eqauls(B)

A.equalsIgnoreCase(B)

A.compareTo(B)
A와 B가 같은 경우 0
A와 B보다 작은 경우 -값(알파벳 차이만큼 음수)
A와 B보다 큰 경우 +값(알파벳 차이만큼 양수)

compareTo() 함수는 비교대상 문자열의 각 문자들을 첫번째자리 부터 하나씩 비교하다가 가장 먼저 만나는 상이한 문자들의 ASCII코드 값 차이를 반환하고 끝낸다.

 

		String str3 = "Have a Nice Day";
        
        	// str3가 ***로 시작하면 true
        	System.out.println("시작문자 검사: "+str3.startsWith("Have")); // true
		System.out.println("시작문자 검사: "+str3.startsWith("have")); // false
		
        	// str3가 ***로 끝나면 true
		System.out.println("끝문자 검사: " +str3.endsWith("Day")); // true
		System.out.println("끝문자 검사: " +str3.endsWith("day")); // false

시작,끝문자 검사 / 대소문자 구분

*.startsWith("시작문자열")

*.endsWith("끝문자열")

		String str5 ="red,blue,green,yellow,pink,white";
        
		System.out.println("str5를 ,로 분리하여 배열화하여 출력하기");
		String[] arr =str5.split(",");
		System.out.println(",로 구분된 색상 개수: "+arr.length); // 6
		
		for(String color:arr)
			System.out.println(color);

red
blue
green
yellow
pink
white

=========

String[] ** = *.split("구분문자")

 

		String str3 = "Have a Nice Day";
         
		System.out.println("str의 소문자 출력: "+str3.toLowerCase()); // have a nice day
		System.out.println("str의 대문자 출력: "+str3.toUpperCase()); // HAVE A NICE DAY

*.toLowerCase() : 전부 소문자로

*.toUpperCase() : 전부 대문자로

 

		String a1 = String.valueOf(100); // int-->String
		String b1 = String.valueOf(12.345); // double-->String
		
		System.out.println(a1+b1); // 10012.345
	
		String a2 = 100+ ""; // int-->String 
		String b2 = 23.5+ ""; // double-->String
		
		System.out.println(a2+b2); // 10023.5
		
		int a3 = Integer.valueOf("1234"); // String==>int
		int b3 = Integer.parseInt("1234"); // String==>int
		
		System.out.println(a3+b3); // 2468

Stirng * = String.valueOf(숫자) : 숫자를 String으로

String * = 숫자+""; : 숫자를 String으로

 

int * = Integer.valueOf("문자열(숫자형태)") // String을 int로  참조자료형/객체화된 자료형인 Integer를 반환

int * = Integer.parseInt("문자열(숫자형태)") // String을 int로  기본자료형인 int형을 반환