프로그래밍/자바

[자바2일차] JDK라이브러리 시간/수학/함수/문자열/랜덤

RBWSN 2014. 10. 13. 21:50
728x90

뇌를 자극하는 Java 프로그래밍
국내도서
저자 : 김윤명
출판 : 한빛미디어 2006.08.31
상세보기

인용하였습니다.



자바의 프로그래밍 언어는 JDK 표준라이브러리에 의해 제공됩니다.
규격서는http://docs.oracle.com/javase/8/docs/api/  <se 8버젼 API규격서를 조회하면 각 함수의 쓰임을 알수 있습니다.


문자열 관련 클래스----------------
문자열 조작 클래스로는 많이 쓰이는 StringBuilder 클래스와 StringBuffer 클래스가 있다.

기본적으로 알아보자 

만약 스트링 변수를 2개 생성한다면 참조값이 같으므로 둘다 같다고 뜬다 하지만



스트링 객체를 두개 생성한다고 하면 이렇게 다름이라고 뜬다.
왜냐하면 스트림 객체의 참조값으로 같다 아니다를 판명하는데 이것은 엄연히 다른 참조값 스트링 객체이기 때문이다.

이것을 해결할 수 있는 방안은 equals로 문자열 자체를 비교하면 가능하다.


이런식으로 말이다.


-------------------날씨와 시간에 관련된 클래스들

날씨와 시간에 관련된 클래스들은 abstrat 추상메소드로 선언 되어있어 있기때문에 이로직은 이클래스를 상속하는 서브클래스에서 구현하도록 되어있다.

우리나라는 Calendar 클래스의 GregorianCalendar 인 서브클래스에서 구현하면된다.


하지만 이렇게 하나씩 쓰려면 얼마나 귀찮을까
자바에서는 날짜와 시간을 포맷하는 기능을 가진 클래스가 있다.
DateFormat 클래스로써 이것의 유일한 서브클래스SimpleDateFormat으로 데이터 포맷이 가능하다.
먼저 SimpleDateFormat의 패턴문자를 보자


이것을 이용하여 쉽게 출력 할 수 있다.

이런식으로 사용이 가능하다.




------------수학관련클래스
Math의 max,min 그리고 난수를 발생시키는 random 메소드를 알아보도록 하겠다.
 


기본적인 맥스와 랜덤메소드의 사용법이다.
하지만 주사위같은 랜덤함수를 돌릴때는 정수가 필요하지 실수가 필요하지 않다. 
그에대한 해결방법은 캐스팅 연산자로 형변환을 하여사용한다. 
math의 random메소드의 캐스팅 연산은


이런식으로 사용하면 된다.
하지만 이런것도 힘들다면 math가 아닌 Ramdon 클래스가 따로 있는데 Math의 random메소드보다 다양한 방법으로 난수가 생성 가능하다.
Random클래스도 메소드가 많다. 
간단하게 사용 할 수있는 nextInt를 알아보도록 하겟다.
nextInt는 int형으로 뒤에 값을 안쓰면 int형 난수를 리턴하고
nextInt(100)처럼 값을 쓰게된다면 0이상 100미만의 int타입의 값을 리턴한다.


랜덤함수로 100번돌려 동전 앞면 뒷면 나오는 숫자 세는 프로그램






728x90