String Instance 생성의 두 가지 방법
Stirng str1 = new String("simple String");
String str2 = "The Best String";
String Class
- String str = new String("String");
- new 선언을 통해 만들어진 String은 각각의 Instance를 생성한다.
- new 선언을 통해 만들어지지 않은 String은 동일한 Instance를 참조한다. (생성되는 Instance 최소화)
- 동일한 문자열을 가지고 있을 때 위와 같은 개념이 성립 된다.
String Instance는 Immutable Instance
- Immutable Instance는 값을 변경 할 수 없다. (기존에 만들어 둔 String Class의 Instance를 참조하게 한다)
String Class의 Method
class StirngConcat{
public static void main(String [] args){
String st1 = "Coffee";
String st2 = "bread";
String st3 = st1.concat(st2);
System.out.println(st3);
String st4 = "Fresh".concat(st3);
System.out.println(st4);
}
}
String Class Method
String.concat();
- String Instance.
concat(st3)
을 사용하여 문자열을 연결해 주는 역할을 한다.
- concat Method는 문자열만 매개변수 인자로 받을 수 있다.
- String.concat(str1).concat(str2) 처럼 연속적으로 concat()를 사용 할 수 있다.
Stirng str = "age : " + 17;
String str = "age : " + .concat(String.valueOf(17));
StringBuilder
StringBuilder
- concat와 다르게 데이터 타입 여부와 상관없이 모든 데이터를 Builder 영역에 저장 한다.
- toString()가 호출되면 모든 데이터에 대한 String Instance의 참조 값을 반환 해준다.
String.subString()
- String str = "Apple";**
- str.subString(시작 위치, 끝 위치-1);
- 0 ~ 끝자리 -1 로 구성된다.
- 인덱스를 기준으로 문자열 출력.
String.equals()
- String str = "lex";
- String str2= "lex";
- str.equals(str2);
- str이 가지고 있는 문자열, str2이 가지고 있는 문자열 비교
- 두 문자열이 동일하면 boolean 형태로 값을 반환 해준다.
String.compareTo()
- str.compareTo(st2);
- str이 가지고 있는 문자열, str2이 가지고 있는 문자열 비교 후 숫자 반환
사전 편찬
순서 상 비교 하여 앞서면
음수
, 뒤면
양수
기본 자료형의 값을 문자열로 바꾸기
String.valueOf(e);
- String.valueOf(e)
- valueOf(e)에 들어온 'e' 변수 값을 문자열로 치환 해주는 Method.
StringBuffer
StringBuffer
- StringBuffer는 쓰레드에 안전하다.
- 따라서 쓰레드 안정성이 불 필요한 상황에서 StringBuffer를 사용하면 성능 저하 유발.
- 그래서 StringBuilder가 등장.
콘솔 출력
콘솔 출력
toString() Method??
- 매개변수로 전달되는 인자를 문자열로 반환해 주는 Method.
println() - print()의 특징
- println(참조 값)이 전달되면 해당 참조 값의 toString() Method가 호출된다. (없으면??)
- 모든 클래스에는 toString() Method가 존재한다.
- 즉 toString()이 존재하지 않는 Instance는 없다는 의미다.
문자열의 조합 printf Method
printf
- 첫번째 영역에는 문자열 형식이 와야 한다.
- 두번째 영역에는 형식에 맞춰 출력 할 데이터가 온다.
콘솔 입력
pulic static void main(String [] args){
String source = "1 3 5";
Scanner sc = new Scanner(**source**);
Scanner sc = new Scanner(**System.in**);
int num1 = sc.nextInt();
int num1 = sc.nextInt();
int num1 = sc.nextInt();
int sum = num1 + num2 + num3;
System.out.println(sum);
}
콘솔 입력
Scanner Class (Program은 기본적으로 입력, 출력이 가능해야 한다)
→ Scanner Class의 Instance 생성은 데이터를 뽑아 올 대상과의 연결을 의미한다.
- Scanner(File source)
- Scanner(String source)
- Scanner(InputStream source)
Scanner
- Data를 위에서부터 순서대로 읽는 클래스를 Scanner Class.
- Keyboard, File의 데이터를 읽는 클래스.
Scanner Method
- int nextInt()
- byte nextByte()
- String nextLine()
- double nextDouble()
- boolean nextBoolean()