JAVA

23-01-31 (2) JAVA (StringBuffer, Math 클래스, Wrapper 클래스

모건이삼촌 2023. 1. 31. 17:49

※ 과제풀이

 

 

 

 

1. StringBuffer

 

1) StringBuffer 메서드

p.321 표 작성필요

1-1) append

문자열 결합

package chapter12;

public class StringBufferTest {
	public static void main(String[] args) {
		String str = new String();
		str = str.concat("a").concat("가"); //concat은 문자열 결합
//		str + "a" + "가";
		System.out.println(str);
		
		StringBuffer sb = new StringBuffer();
		sb.append("a").append("가");
		System.out.println(sb);
		//반환타입 this
		
	}

	
}

실행 결과

1-2) delete

삭제되고난 원본에 대한 this리턴

package chapter12;

public class StringBufferTest {
	public static void main(String[] args) {
		String str = new String();
		str = str.concat("a").concat("가"); //concat은 문자열 결합
//		str + "a" + "가";
//		System.out.println(str);
		
		StringBuffer sb = new StringBuffer();
		sb.append("abcde").append("가나다라").delete(1, 3).append("1234");
		System.out.println(sb);
		//반환타입 this
		
	}

	
}

 

 

1-3)insert

해당 위치에 매개변수값을 문자열로 변환하여 추가

package chapter12;

public class StringBufferTest {
	public static void main(String[] args) {
		String str = new String();
		str = str.concat("a").concat("가"); //concat은 문자열 결합
//		str + "a" + "가";
//		System.out.println(str);
		
		StringBuffer sb = new StringBuffer();
		sb.append("abcde").append("가나다라").delete(1, 3).append("1234").insert(2, false);
		System.out.println(sb);
		//반환타입 this
		
	}

	
}

위 예제는 2번인덱스 자리에 false가 추가되었다

 

※ StringBuffer와 StringBuilder의 차이

StringBuffer는 thread의 safe,

StringBuilder는 thread의 unsafe

StringBuilder의 속도가 더 빠르다.

 

 

2.Math 클래스

수학계산에 관련된 기능을 가진 클래스이다

p.325 표 삽입

 

3. Wrapper 클래스

기본자료형을 랩핑하는것

Wrapper클래스들의 이름은 기본자료형 이름의 첫글자를 대문자로 한것이다

다만 int와 char는 풀네임인 Integer와 Character를 사용한다.

Wrapper클래스와 기본자료형은 서로 자동형변환이 가능한데, 이것을 박싱, 언박싱이라 부른다.

박싱 (기본자료형 -> Wrapper 객체), 언박싱 (Wrapper객체 -> 기본자료형)

package chapter12;

public class IntegerTest {
	public static void main(String[] args) {
		Integer i = 10;
		int i2 = 20;
		
//		Integer = i3 = new Integer(i2);
		int i4 = i.intValue();
		
		Integer i5 = i2;
		int i6 = i5;
		
		System.out.println(i);
		System.out.println(i2);
		System.out.println(i+i2);
		// i에는 컴파일러가 i.intValue()로 변환해줘서 서로 계산이 가능해진다.
		
		String str = "1";
		Integer i7 = Integer.valueOf(str);
		
		String str2 = i7.toString();
		
		long l = 10;
		Long l2 = (long)i4;
		
		String.format("%d %d #s" , 10, 20, "abcd");
		
	}

}

4. Scanner 클래스

 

화면이나 파일, 문자열 등의 입력으로부터 문자를 읽어주는 클래스

사용자가 입력한 값은 nextLine() 메서드를 통해 input변수에 대입된다.

메서드는 nextLine()메서드만 사용하자.

 

5. Date 클래스

package chapter12;

import java.util.Date;

public class DateEx {
	public static void main(String[] args) {
		Date date = new Date();
		System.out.println(date);
		System.out.println(date.toString());
		System.out.println(date.toLocaleString());
	}

}