JAVA/chapter02_variable_dataTaye
chapter08 : parsing
GAWON
2023. 5. 25. 15:13
package org.joonzis.ex;
public class Ex08_parsing {
public static void main(String[] args) {
/*
* 문자열 변환은 형 변환(casting)이 아니고, 구문 분석(parsing)이다.
*
* 1. 문자열 > 정수(String > int)
* Integer.parseInt("10") > 10 > Integer는 int의 참조 자료형
*
* 2. 문자열 > 실수(String > double)
* Double.parseDouble("3.14") > 3.14
*
* 3. 정수 / 실수 > 문자열 (int/double > String)
* String.valueOf(10) > "10"
* String.valueOf(3.14) > "3.14"
*/
String strAge = "20";
String strHeight = "180.5";
int age = Integer.parseInt(strAge);
double height = Double.parseDouble(strHeight);
System.out.println("나이 : " + (age+1) + ", 키 : " + height + "cm");
// 문자열의 비교는 "=="로 진행하지 않는다.
// equals() 메소드를 이용하여 비교한다.
String s1 = "aaa";
String s2 = s1;
String s3 = new String("aaa");
if(s1 == s2) { // true
System.out.println("같다");
}else {
System.out.println("다르다");
}
if(s1 == s3) { // false
System.out.println("같다");
}else {
System.out.println("다르다");
}
if(s1.equals(s3)) { // true
System.out.println("같다");
}else {
System.out.println("다르다");
}
/*
* == 연산자의 경우 객체의 주소 값을 비교
* .equals() 메소드의 경우 대상의 값 자체를 비교
*
* CBV(Call By Value) - 원시 데이터 타입(주소 값을 가지지 않는다.)
* CBR(Call By Reference) - 참조 객체(클래스 등)
*/
}
}