-
[java] object 클래스/toString()/래퍼 클래스/스트링/math클래스/Calendar 클래스Languages/Java 2021. 4. 23. 17:52반응형
object 클래스
java.lang 패키지에 포함
모든 클래스의 수퍼 클래스
모든 클래스에 강제 상속
모든 객체가 공통으로 가지는 객체의 속성을 나타내는 메소드 보유
주요 메소드
메소드 설명 boolean equals(Object obj) obj가 가리키는 객체와 현재 객체를 비교하여 같으면
true 리턴Class getClass() 현 객테의 런타임 클래스를 리턴 int hashCode() 현 객체에 대한 해시 코드 값 리턴 String toStrong() 현 객체에 대한 문자열 표현을 리턴 void notify() 현 객체에 대해 대기하고 있는 하나의 스레드를 끼운다. void notifyAll() 현 객체에 대해 대기하고 있는 모든 스레드를 깨운다 void wait() 다른 스레드가 깨울 때까지 현재 스레드를 대기하게 한다. 객체를 문자열로 반환
String toString()
객체를 문자열로 반환
개발자는 자신만의 toString() 작성 필요
object의 tostring() 오버라이딩
person class에 Person 객체를 문자열로 리턴하는 toString() 메소드를 작성
package practice; class Person { String name,addr; public Person(String name,String addr) { this.name = name; this.addr = addr; } @Override public String toString() { return "Person (" + name + "," + addr + ")"; } } public class ToStringEx{ public static void main(String[] args) { Person p = new Person("IU","seoul"); System.out.println(p.toString()); System.out.println(p); System.out.println(p + "입니다"); } }
wrapper 클래스
자바의 기본 타입을 클래스화한 8개 클래스
기본타입 byte short int long char float double boolean
wrapper calss Byte Short Int Long FCharacter Float Double Boolean
이름이 Wrapper인 클래스는 존재 하지 ㅇ낳는다
용도 : 기본 타입의 값을 객체로 다룰 수 있게 한다
Wrapper 객체 생성
기본 타입의 값으로 Wrapper 객체 생성
Integer i = Integer.valueOf(10);
Character c = Character.valueOf('c');
Double f = Double.valueOf(3.14);
Boolean b = Boolean.valueOf(true);
문자열로 Wrapper 객체 생성
Integer i = Integer.valueOf("10");
Double d = Double.valueOf("3.14");
Boolean b = Boolean.valueOf("false");
Float 객체는 double타입의 값으로 생성
Float f = Float.valueOf((double)3.14);
주요 메소드
주로 static 타입으로 변환
static int parleInt(String s) : 문자열 s를 10진 정수로 변환한 값 리턴
static String toString(int i) : 정수 i를 문자열로 변환하여 리턴
...
package Project3; public class WrapperEx { public static void main(String[] args) { System.out.println(Character.toLowerCase('A')); String x = "-123"; String y = "10"; System.out.print("x+y=?"); System.out.println(Integer.parseInt(x) + Integer.parseInt(y)); Double d = Double.valueOf(3.14); System.out.println(d.toString()); System.out.println(Double.parseDouble("3.14")); } }
실습결과
4는 숫자
F는 영문자
-123
1c
11100
3
3.14
3.14
true
false
String의 특징과 객체 생성
String - java.lang.String
String클래스는 하나의 문자열 표현
String 생성자
생성자 설명 String() 빈 스트링 객체 생성 String(char[] value) char 배열에 있는 문자들을 스트링 객체로 생성 String(String original) 매개변수로 주어진 문자열과 동일한 스트링 객체 생성 String(StringBuffer buffer) 매개변수로 주어진 스트링 버퍼의 문자열을 스트링 객체로 생성 스트링 리터럴과 new String
스트링 생성 방법
리터럴로 생성, String s = "Hello";
JVM이 리터럴 관리,응용프로그램 내에서 공유됌
String 객체로 생성, String t = new String("Hello");
힙 메모리에 String 객체 생성
스트링 객체의 주요 특징
스트링 객체는 수정 불가능
스트링 비교시 반드시 equals()를 사용
equals()는 내용을 비교하기 때문
문자열 연결
+연산자로 문자열 연결
피연산자에 문자열이나 객체가 포함되어 있는 경우
객체는 객체.toString()을 호출하여 문자열로 변환하여 연결
기본 타입 값은 문자열로 변환하여 연결
Math 클래스
산술 연산 메소드 제공,java.lang.Math
모든 메소드는 static 타입 : 클래스 이름으로 바로 호출해야 된다
Math 클래스를 활용한 난수 발생
난수 발생
static double random()
java.util.Random 클래스
다양한 형태로 난수 발생 가능
Calendar 클래스
calendar 클래스의 특징
java.util 패키지
시간과 날짜 정보 저장 관리
년,월,일,요일,시간,분,초,밀리초, ...
Calendar 클래스의 각 시간 요소를 설정하거나 알아내기위한 필드들
YEAR : 년도
MONTH : 달
HOUR : 시간
HOUR_OF_DAY : 24시간을 기준으로 한 시간
SECOND : 초
DAY_OF_MONTH : 한달의 날짜
DAY_OF_WEEK : 한 주의 요일
AM_PM : 오전인지 오후인지 구분
MINUTE : 분
MILLISECON : 밀리초
Calendar 객체 생성
Calendar now = Calendar.getlnstance();
날짜와 시간 알아내기
int year = now.get(Calendar.YEAR); //now 저장된 년도
날짜와 시간 설정하기
Calendar 객체에 저장
firstDate.clear(); // 현재 날짜와 시간 정보를 지운다
firstData.est(2016,11,25) // 2016년 12월 25일. 12월은 11로 설정
package Project3; import java.util.Calendar; public class CalendarEx { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int day = cal.get(Calendar.DAY_OF_MONTH); int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); int hour = cal.get(Calendar.HOUR); int hourOfDay = cal.get(Calendar.HOUR_OF_DAY); int ampm = cal.get(Calendar.AM_PM); int minute = cal.get(Calendar.MINUTE); System.out.println("현재"+year+"/"+month+"/"+day+"/"); System.out.println(+hourOfDay+"시"); System.out.println(minute+"분"); } }
반응형'Languages > Java' 카테고리의 다른 글
[JAVA] 바이트 스트림/버퍼스트림/File 클래스/바이트스트림과버퍼스트림 속도차이를 보여주는 예제/파일 복사 예제 (0) 2021.04.23 [JAVA] 입출력 스트림/파일 입출력/FileReader/FileWriter (0) 2021.04.23 [JAVA]java 인터페이스/인터페이스 구현과 형 변환/인터페이스와 다형성/인터페이스 상속 (0) 2021.03.08 [JAVA]java 추상 클래스/템플렛 매서드 (1) 2021.03.01 [JAVA]java 오버로딩(overloading)과 java 오버라이딩(overriding)/java 다형성/java 다운캐스팅(downcasting) (0) 2021.02.28