카테고리 없음

클래스 종류

장꾸꾸 2020. 10. 14. 15:31

28.자바의 중요한 클래스 
(1)String 클래스: 불변객체(immutable)
   ①concat(str):str로 설정된 문자열결합
   ②substring(n1,n2):n1과 n2 사이의 문자열 반환
   ③toUpperCase():대문자로바꾸기
   ④equals():문자열비교        <----중요!!
   ⑤charAt():특정위치의 문자를 리턴
 
(2)StringBuffer클래스: 가변객체(mutable)
      Buffer를 두어 문자열 연산을 하여, 속도가 빠르다
   ①append() :추가
   ②reverse() :거꾸로출력
   ③delete()  :삭제
   ④length()  :문자열의길이
   ⑤capacity():버퍼의size (기본:16byte)

(3)StringTonkenizer클래스                                        
   ex)127.0.0.1#9000#뽀로로#안녕~~
   ①countTokens() : 문자열에 있는 토큰의 갯수반환
   ②nextToken() : 다음 토큰 문자열을 반환
   ③hasMoreElements(): 토큰이 있으면 true,없으면 false반환

(4)Calendar클래스
   :날짜나 시간을 나타내는 클래스

(5)Random클래스 : import java.util.Random

   : 임의의 난수 발생
  ①Random 변수1 = new Random();
  ②int 변수2 = 변수1.nextInt(최대값); 

 

package stringex;

public class StringEx {
	public static void main(String[] args) {
		String a="aaa";
		int b = 10;
	
		String str1="korea";
		String str2=" fighting";
		
		//012345678901234
		//korea fighting
		String str3=str1.concat(str2);      // korea fighting
		String str4=str3.substring(6,11);   // fight
		String str5=str3.substring(6);      // fighting   
		String str6=str3.toUpperCase();     // KOREA FIGHTING (소문자는 toLowerCase()
		char s=str3.charAt(4);              // a 
		
		System.out.println(str3);  
		System.out.println(str4);
		System.out.println(str5);
		System.out.println(str6);
		System.out.println(s);  
		
	}
}

 

자바 도움말 찾기

docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

impor java.lang.String 이걸 검색하고 싶으면

 

위에서 java.lang 검색

밑에서 String 찾기

 

 

	public static void main(String[] args) {
		String s1="Hello";
		String s2="Hello";
		String s3 = s2;
		
		String s4 = new String ("Hello");
		String s5 = new String ("Hello");
		
		System.out.println(s1==s2); 
		System.out.println(s1==s3);
		System.out.println(s1.equals(s2));
		System.out.println(s2.equals(s3));
		System.out.println(s4==s5);
		System.out.println(s4.equals(s5));
		

출력하면

true
true
true
true
false
true

 

이렇게 나옴. 괄호 안의 식의 참/거짓을 구분해줌

 

 

false인 이유 : 주소가 다름)

new String이니까 메모리가 Heap에 위치함

-> s4 / s5 는 주솟값이 다르다. 각각 new로 만들어진거라서

 

-> 이러니까 String은 겉으로 봤을 때 같아도 주솟값이 다를 수 있기 때문에

equals로 비교한다. 

활용) 아이디 중복체크시 주소로 비교하면 있는데 없다고 나올 수 있음.

그러니까 equals로 해줘야함

 

 

 

StringTokenizerEx 클래스

package stringex;

import java.util.StringTokenizer;

public class StringTokenizerEx {
	public static void main(String[] args) {

		String str="학교,집,도서관,카페#술집$게임방,노래방";
		StringTokenizer ob=new StringTokenizer(str,",#$");  //구분자: , # $
		System.out.println("파싱할 문자열의 수:" + ob.countTokens()+"개");
		
		while(ob.hasMoreTokens()) {
			System.out.println(ob.nextToken());
		}
	}
}

출력값)

파싱할 문자열의 수:7개
학교

도서관
카페
술집
게임방
노래방

package stringex;

import java.util.StringTokenizer;

public class StringTokenizerEx {
	public static void main(String[] args) {
		String str="학교,집,도서관,카페,술집,게임방,노래방";
		String[] value=str.split(",");   //구분자: ,
		for(int i=0; i<value.length; i++) {
			System.out.println(value[i]);
		}
   }
}

학교

도서관
카페
술집
게임방
노래방

 

CalendarEx 클래스

package stringex;

import java.util.Calendar;

class Today{
	public void print() {
		//System.out.println("오늘 날짜: " + new Date());
		
		Calendar ca=Calendar.getInstance();  //시스템에 설정된 날짜/시간
		System.out.println("오늘날짜:" 
		                    + ca.get(Calendar.YEAR)+"년"
		                    + (ca.get(Calendar.MONTH)+1)+"월"
		                    + ca.get(Calendar.DAY_OF_MONTH)+"일");
		System.out.println("현재시간:" 
			                + ca.get(Calendar.HOUR_OF_DAY)+"시"
			                + ca.get(Calendar.MINUTE)+"분"
			                + ca.get(Calendar.SECOND)+"초");
	}
}
public class CalendarEx {
	public static void main(String[] args) {
		new Today().print();
	}
}

오늘날짜:2020년10월14일
현재시간:16시36분53초