String

jinkyung·2021년 1월 14일
0

JAVA2

목록 보기
12/35

string

:객체, 클래스
비교하면 값이 아닌 주소와 비교하게 된다.

package ex02.classobj.string06;

public class ImmutableString {
	public static void main(String[] args) {
		// String : 클래스
		String str0 = "My String";
		String str1 = "My String";
		String str2 = new String("My String");
		
	}
}

package ex02.classobj.string06;

public class ImmutableString {
	public static void main(String[] args) {
		// String : 클래스
		String str0 = "My String";
		String str1 = "My String";
		String str2 = new String("My String");
		
		//== 저장된 공간이 같은지를 판단
		if(str0 == str1)
			System.out.println("str0 == str1 같다");
		if(str0 == str2)
			System.out.println("str0 == str2 같다");
		
		//문자열 내용이 같은지 판별하기 위해서는
		if(str0.equals(str1))
			System.out.println("str0.equals(str1) 같다");
		if(str0.equals(str2))
			System.out.println("str0.equals(str2) 같다");
		
		if(str0.compareTo(str1)==0)
			System.out.println("같다");
		if(str0.compareTo(str2)==0)
			System.out.println("같다");
	}
}

equals로 비교해야 값 비교가 가능하다.
package ex02.classobj.string07;

import java.util.Scanner;

public class InputSeason {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("계절을 영어로 입력하세요 : ");
		String season = sc.nextLine();
		
		if(season.equals("spring"))
			System.out.println("봄");
		else if(season.equals("summer"))
			System.out.println("여름");
		else if(season.equals("fall"))
			System.out.println("가을");
		else if(season.equals("winter"))
			System.out.println("겨울");
		
//		if(season == "spring")
//			System.out.println("봄");
//		else if(season == "summer")
//			System.out.println("여름");
//		else if(season == "fall")
//			System.out.println("가을");
//		else if(season == "winter")
//			System.out.println("겨울");
		
		sc.close();
	}
}

전화번호부 예제

package ex02.classobj.encapsulation08;

/*
sw공부 시 낮선 용어???
1) 문법 틀을 만든 사람들이 문법을 지칭할 용어 필요
2) 영미 문화권의 함축적 의미
3) 번역 -> 일본 -> 한자 : 우리가 잘 안쓰는 한자

용어가 중요하진 않다 : 의미 이해에는 꼭 필요한 건 아니다
용어가 중요할 때도 있다 : 다른 it인과 대화할 때
*/
public class PhoneMain {
	public static void main(String[] args) {
		PhoneInfo pInfo0 = new PhoneInfo("김연아","010-1111-2222","92,08,12");
		PhoneInfo pInfo1 = new PhoneInfo("홍길동","010-2222-3333");
		pInfo0.showPhoneInfo();
		pInfo1.showPhoneInfo();
		
		
	}
}

package ex02.classobj.encapsulation08;

public class PhoneInfo {
	// 필드
	private String name;
	private String phoneNumber;
	private String birth;
	
	// 메서드
	public PhoneInfo(String name, String num, String birth) {
		this.name = name;
		this.phoneNumber = num;
		this.birth = birth;
	}
	
	public PhoneInfo(String name, String num) {
		this.name = name;
		this.phoneNumber = num;
		this.birth = null;
	}
	
	public void showPhoneInfo() {
		System.out.println("name : " + name);
		System.out.println("phone : " + phoneNumber);
		if(birth != null)
			System.out.println("birth : " + birth);
		
		System.out.println("");
	}
}

전화번호부 업그레이드 버전
package ex02.classobj.encapsulation09;

public class PhoneMain {
	public static void main(String[] args) {
		PhoneBookManager.mainRun();
		
	}
}

package ex02.classobj.encapsulation09;

public class PhoneInfo {
	// 필드
	private String name;
	private String phoneNumber;
	private String birth;
	
	// 메서드
	public PhoneInfo(String name, String num, String birth) {
		this.name = name;
		this.phoneNumber = num;
		this.birth = birth;
	}
	
	public PhoneInfo(String name, String num) {
		this.name = name;
		this.phoneNumber = num;
		this.birth = null;
	}
	
	public void showPhoneInfo() {
		System.out.println("name : " + name);
		System.out.println("phone : " + phoneNumber);
		if(birth != null)
			System.out.println("birth : " + birth);
		
		System.out.println("");
	}
}
package ex02.classobj.encapsulation09;

import java.util.Scanner;

public class PhoneBookManager {
	
	static Scanner sc = new Scanner(System.in);
	
	public static void showMenu() {
		System.out.println("선택하세요...");
		System.out.println("1. 데이터 입력");
		System.out.println("2. 프로그램 종료");
		System.out.println("선택 : ");
	}
	
	public static void readDate() {
		System.out.println("이름 : ");
		String name = sc.nextLine();
		System.out.println("전화번호 : ");
		String phone = sc.nextLine();
		System.out.println("생년월일 : ");
		String birth = sc.nextLine();
		
		PhoneInfo info = new PhoneInfo(name, phone, birth);
		System.out.println("\n 입력된 정보 출력");
		info.showPhoneInfo();
	}
	
	public static void mainRun() {
		int choice;
		while(true) {
			showMenu();
			choice = sc.nextInt();
			sc.nextLine();
			
			switch(choice) {
			case 1:
				readDate();
				break;
			case 2:
				System.out.println("프로그램을 종료합니다");
				return;
				
			}
		}
	}
}

0개의 댓글

관련 채용 정보