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("같다");
}
}
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;
}
}
}
}