ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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+"분");
    	}
    }
    
    반응형

    댓글

Designed by Tistory.