JAVA Programming for Beginners...

JAVA, 초보

문자열과 숫자를 사용해 봅시다..

JAVA API, JAVADOC사용하기...

JAVADOC, JAVA API살펴보기

"Hello, JAVA"라든지.. "배고프지 않아요!!!" 라든지...

문자열은 이미 사용해 봤습니다.

자바는 완전한 객체지향언어 입니다.

따라서 기본형의 자료 외에는 모두가 클래스를 갖는 객체라고 했습니다.

문자열도 객체입니다.

객체는 클래스가 있어야 만들어 지요??

문자열은 String이라는 클래스의 객체입니다...

그럼 String class는 어디에 있을까요..?

자바가 기본으로 포함하고 있는 java.lang패키지 안에 존재 합니다. 찾아 볼까요???

http://www.oracle.com/technetwork/java/index.html 요기에 접속합니다.

예전에는 sun이라는 회사의 http://java.sun.com에 자주 갔었는데 오라클이 썬을 인수하면서 좀 길어 졌습니다. 하지만 예전의 링크도 살아있네요...

Java APIs를 클릭하여 API로 들어가 봅시다. ㅎㅎㅎ

 JAVA API가 에디션별로 버전별로 잘 정리되어 있지요??

혹여 인터넷이 안될 경우를 대비하여 다운로드 받아 두시는 것이 좋습니다. 많이 보게 되실 겁니다...


최근의 API로 가봅시다. 화면에 삼등분 되어 있습니다.

왼쪽 윗부분에는 package아랫부분에는 선택한 패키지가 가지는 class들이, 오른쪽에는 내용들이 들어있습니다. 그죠? 찾으셨나요??

기본적으로 포함되는 java.lang패키지를 클릭해 보세요.. 머 여러가지 클래스들이 나오지요?

오늘은 그중 String클래스와 Math클래스를 살펴 보겠습니다..

String 클래스부터 눌러봅시다..

맨 위에

java.lang.Object

 java.lang.String

이라고 있지요?

맞습니다. String 클래스는 Object라는 클래스를 상속받은 클래스입니다.

(~ 상속이라...다음에 자세히 이야기 하죠.. 상속.. 안하구 갈수도 없는데...)

밑에 보니

All Implemented Interfaces:

Serializable, CharSequence, Comparable<String> 이라고 있네요...

맞습니다.. (머가 자꾸 맞다는 건지..) Serializable, CharSequence, Comparable 인터페이스들을 구현하고 있는 겁니다. (피휴우우~~ 인터페이스에.. 구현까지... 이것도 나중으로 패스~~)

드디어 우리가 알아볼 수 있는 클래스의 선언이 나오네요..

public final class String 이라고 있네요...

공개클래스인 String클래스는 더이상 상속받아 사용할 수 없다.. 라는 정의 네요..

(final이 나왔지요.. 이건 마지막으로.. 라는 겁니다. 상수를 만들 때 주로 사용하지요.. final double PI = 3.141592; 라면 PI는 상수가 됩니다.. 클래스를 상수로 만들 수 없으므로 더 이상 상속받아 사용할 수 없다.. 라는 의미 정도가 됩니다.)

그리고 예시가 조금 나온후에 필드(멤버변수)와 컨스트럭터(생성자)와 메소드 요약이 나옵니다.

머 복잡하지만 String 클래스는

String abc = "abc";

String bcd = new String("bcd");

정도로 만든다.. 문자열을 처리하는데 사용한다. 정도로 알면 되겠네요.. 그죠??    

 

쓸만한 메소드들로는...

char charAt(int index) : 몇 번째 글짜를 뽑아주세요..

int compareTo(String other) : 다른 문자열과 비교해 주세요!!! *

String concat(String other) : 다른 문자와 붙여주세요...

boolean contains(String other) : 다른 문자열이 포함되어 있나요?

boolean equals(String other) : 다른 문자열과 같나요?? *

static String format(String format, Object... args) : printf문과 비슷한 format...

int length() : 문자열의 길이를 알려주세요...

String[] split(String regex) : regex로 쪼개 주세요.. 문자열 나누기..

String substring(int, int) : 부분 문자열을 주세요...

String toString() : 문자열을 반환*

등등... (빨간색의 * 표가 있는 메소드들은 중요합니다.. 자기 자신의 클래스를 만들때에도 가급적 만들어 두면 좋은 메소드입니다...compareTo정렬할 때, equals비교할 때, toString출력할때)

!! String클래스를 살펴봤습니다. 이제 우린 강가에 까지 왔습니다....

물을 드셔야될 차례입니다....    

이제 각자 java.lang.Math클래스를 살펴봅시다...

필드(멤버변수.. static이네요.. 생각 나십니까?? static main()함수에 붙어 있었지요? 객체를 생성하지 않고도 사용가능한... final은 아니지만 상수네요..)EPI가 있네요.. 자연상수 e와 원주율인 pi를 나타내는 상수죠.. Math.E, Math.PI 이런식으로 사용합니다.

메소드는 모두 static메소드입니다... Math라는 객체를 만들지 않고 Math.XXXX()로 사용합니다...

재미있지요? 재미없나요??? 그럴리가.. 재미있어야 하는데.... 

머 많은 메소드가 있습니다. sin, cos, tan, max, min, abs, log, round(반올림) 등등등...

재일 재밌는 함수(또는 여기 저기 많이 쓰이는 함수는) 바로...

static double random() 메소드입니다.

0이상 1미만의 아무 숫자나 돌려주는 메소드 인데... 여기에 원하는 정수를 곱해 사용합니다...

예를 들어 int randNumber = (int)(Math.randon() * 6); 하면 0 부터 5까지의 아무런 숫자가 하나 튀어 나오겠지요.. 주사위를 만들어 보세요!! 기타 API를 살펴보세요...!!

댓글

댓글 본문