JAVA 프로그래밍

문제

클래스 객체 참조형 연산자를 실습하고 그 결과를 출력하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 
  color = green
( color == green ) = false,     ( color == blue ) = false,      ( color == red ) = false
  color.equals( green ) = true,   color.equals( blue ) = false,   color.equals( red ) = false
  color.compareTo( green ) = 0,   color.compareTo( blue ) = 5,    color.compareTo( red ) = -11 

알고리즘

프로그램 시작 
   첫째 ==: 참조값 비교
      예) (obj01)와 (obj02)을 비교하면 거짓
   둘째 equals: 참조한 객체에 저장된 값이 같은지 비교후 boolean 반환
      예) 문자열 'green'과 'green'을 비교하면 참
   셋째 compareTo: 참조한 객체에 저장된 값을 비교후 int 반환
      예) 'g'-'b'= 5, 'g'-'r'= -11, 'g'-'g'= 0, 'r'-'r'= 0, 'e'-'e'= 0, 'n'-'n'= 0
프로그램 종료

프로그램 코드

	// 파일명 : ./Chapter04/ReferenceOperators.java
			 
	public class ReferenceOperators
	{
		// 프로그램 시작 
1		public static void main( String[] args ) {
2			String color = new String( "green" );
3			String green = new String( "green" );
4			String blue = new String( "blue" );
5			String red = new String( "red" );
6			System.out.print( "  color = green\n" );
			 
			// 첫째 ==: 참조값 비교  
			// 예) (obj01)와 (obj02)을 비교하면 거짓   
7			System.out.print( "( color == green ) = " + ( color == green ) + ",     " );
8			System.out.print( "( color == blue ) = " + ( color == blue ) + ",      "  );
9			System.out.print( "( color == red ) = " + ( color == red ) + "\n" );
			 
			// 둘째 equals: 참조한 객체에 저장된 값이 같은지 비교후 boolean 반환   
			// 예) 문자열 'green'과 'green'을 비교하면 참  
10			System.out.print( "  color.equals( green ) = " + color.equals( green ) + ", "  );
11			System.out.print( "  color.equals( blue ) = " + color.equals( blue ) + ", "  );
12			System.out.print( "  color.equals( red ) = " + color.equals( red )  + "\n" );
			 
			// 셋째 compareTo: 참조한 객체에 저장된 값을 비교후 int 반환 
			// 예) 'g'-'b'= 5, 'g'-'r'= -11, 'g'-'g'= 0, 'r'-'r'= 0, 'e'-'e'= 0, 'n'-'n'= 0   
13			System.out.print( "  color.compareTo( green ) = " + color.compareTo( green )  + ", " );
14			System.out.print( "  color.compareTo( blue ) = " + color.compareTo( blue ) + ",  "  );
15			System.out.print( "  color.compareTo( red ) = " + color.compareTo( red ) + "\n" );
	 
		// 프로그램 종료 
16		}
	}

실행 순서

 
 					※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다