클래스 종류
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초