'java coding'에 해당되는 글 2건



안녕하세요. 제임스 입니다. 


최근 Java Number 관련 함수에 대해 계속해서 알아 보고 있습니다.

이번에는 compareTo() 라는 함수에 대해 이야기 해보겠습니다. 



compareTo() 함수는 함수를 호출한 Number 객체를 인자값과 비교를 합니다.

Byte, Double, Integer, Float, Long 또는 Short 등을 비교 할 수 있습니다. 단, 서로 다른 형을 비교 할 수는 없으므로 함수를 호출하는 인수와 비교대상이 되는 Number 객체는 동일한 형이어야 합니다. 


예를 들면 Integer 는 Integer 형 인자값과 비교가 가능하지만, Long 형 인자 값을과는 비교가 불가능 합니다. 



Syntax


public int compareTo( NumberSubClass referenceName )



Parameters


referenceName 은 Byte, Double, Integer, Float, Long 또는 Short 등이 될수 있습니다. 



Return Value


▶ 비교 대상이 동일한 값일 경우 0

▶ 비교 대상이 작은 경우 -1

▶ 비교 대상이 큰 경우 1 

을 반환합니다. 



Sample Code


1
2
3
4
5
6
7
Integer x = 7;
          
System.out.println(x.compareTo(3));
        
System.out.println(x.compareTo(7));
        
System.out.println(x.compareTo(77));
cs


비교 대상은 Integer 형인 7 입니다. 


첫번째 7과 3의 비교인데요... 당연히 비교대상인 7이 인자값인 3보다 크죠. 

예상되는 결과 값은 1 입니다. 


두번째는 7과 7의 비교입니다. 당연히 동일한 값입니다.

예상 결과 값은 0 입니다. 


세번째 7과 77의 비교! 인자값 77보다 작습니다. 

예상 결과 값은 -1이 됩니다. 



결과는 어떨까요? 


1

0

-1


맞습니다. 예상대로 결과 값이 리턴 됩니다. 



이번에는 Double 형으로 테스트 해보겠습니다. 

1
2
3
4
5
6
7
Double y = 12.5;
        
System.out.println(y.compareTo(3.0));
        
System.out.println(y.compareTo(12.5));
        
System.out.println(y.compareTo(27.8));
cs


결과가 예상이 되시나요? 


1

0

-1


위와 같은 결과 값이 나옵니다. 

예상하신 값과 동일 한가요? ^^




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



안녕하세요. 제임스 입니다. 


자바에서 사용하는 함수들 중 xxxValue() 라는 형태의 함수들을 종종 보실 수 있습니다. 

이 함수들에 대해 간단히 설명 하고자 합니다. 


xxxValue() 함수는 함수를 호출하는 Number 객체의 값을 함수에서 반환된 primitive data type 으로 변환 합니다.


※ primitive data type 이란 자바 키워드로 정의 되어 있는 byte, short, int, long, double, boolean 등의 타입을 의미 합니다. 이런 primitive data type 을 제외한 다른 타입들은 모두 reference data type 이라고 부릅니다. 

이와 관련된 내용은 차후 다시 다루도록 하겠습니다. 


Syntax

각각의 primitive data type 의 함수 형태는 아래와 같습니다. 

byte byteValue()
short shortValue()
int intValue()
long longValue()
float floatValue()
double doubleValue()


파라미터를 별도로 입력 받지 않고 아래와 같은 방법으로 사용 합니다. 


1
2
3
4
5
6
7
8
9
Integer x = 7;
          
System.out.println( x.byteValue() );
 
System.out.println( x.longValue() );
        
System.out.println( x.doubleValue() );
        
System.out.println( x.floatValue() );
cs


Integer 형으로 초기화 했습니다. 

만약 int 형으로 초기화 한다면 위와 같은 방법으로 사용 할 수 없습니다. Number 객체의 값을 primitive data type 으로 변환 하는 것이기 때문입니다. int 형은 이미 primitive data type 입니다. 


결과는 아래와 같습니다. 


7

7

7.0

7.0




다른 예로 이번에는 Float 형의 값을 지정해 보겠습니다. 


1
2
3
4
5
6
7
8
9
Float y = 10.15f;
        
System.out.println( y.byteValue() );
 
System.out.println( y.longValue() );
        
System.out.println( y.doubleValue() );
        
System.out.println( y.floatValue() );
cs



위 코드의 결과 값은 아래와 같습니다. 


10

10

10.149999618530273

10.15




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,