Menu



Manage

Cord > Study_JAVA 전체 다운로드
파일 목록
Study_JAVA > 6/Reference1.java Lines 39 | 1.6 KB
다운로드

                        package week6;

public class Reference1 {
	public static void main(String[] args) {
		//기본 데이터 타입의 변수는 스택영역에 생성되고 값도 같이 저장됨
		int iVal1 = 100;
		int iVal2 = 100;
		System.out.println("ival1 == iVal2 :" + (iVal1 == iVal2));
		
		//참조 타입의 변수는 스택영역에 생성되고 해당 객체의 주소를 저장함
		String sVal1 = "Java";
		String sVal2 = "Java";
		//자바는 문자열 리터럴이 동일하면 String객체를 공유해서 주소가 같다고 뜬 것임
		System.out.println("sVal1 == sVal2 : "+(sVal1==sVal2?"refer O":"none refer"));
		
		//참조타입의 변수는 초기값으로 null을 사용할 수 있다(스택영역서만 생성됨)
		String sVal5 = null;
		//참조타입의 변수가 null 값을 가지고 있는 경우 해당 변수를 사용할 수 없어요
		// =>사용시  NullPointerExeption 에러 발생
		//System.out.println("sVal5.length = " + sVal5.length);
		
		sVal5 = "Java";
		System.out.println("sVal5 = " + sVal5);
		System.out.println("sVal1 == sVal5 : " + (sVal1 == sVal5? "yre": "nre"));
		
		//new 연산자를 이용하는 경우에는 힙 영역에 새로운 String객체가 생성됨
		String sVal3 = new String("Java");
		String sVal4 = new String("Java");
		System.out.println("sVal3 == sVal4 : " + (sVal3 == sVal4? "yre": "nre"));
		
		//String 객체가 동일한 문자열을 가지고 있는지 비교하는 경우 equals()메소드 이용
		if (sVal3.equals(sVal4))
			System.out.println("same");
		else
			System.out.println("not same");
		
	}
}