오늘의 키워드
- 랩퍼 클래스 객체의 비교법
- parse- 계열 메서드
오늘의 내용
- 랩퍼 클래스에서 객체의 비교법
- == 연산자가 아닌 equals메서드를 사용해서 비교해야 한다
- ==연산자로 비교하면 레퍼런스 데이터형 변수의 주소 값을 비교하기 때문에 완전 동일한 객체가 아닌 이상 '다르다(!=)'는 결과가 나온다
- 아래 코드를 사용하면 ==연산자를 사용해서 비교해 else부분이 실행된다
package num4.compare; public class compare1 { public static void main(String[] args) { Integer x = new Integer(100); Integer y = new Integer(100); if(x==y) { System.out.println(x + "==" + y); } else { System.out.println(x + "!=" + y); //x,y에 100으로 같은 값을 저장했는데 다르다는 결과가 출력 } } }
- 아래 코드는 equals를 사용해 x와 y를 비교해서 if문이 실행된다
package num4.compare;
public class compare2 {
public static void main(String[] args) {
Integer x = new Integer(100);
Integer y = new Integer(100);
if(x.equals(y)) {
System.out.println(x + "==" + y);//equals를 사용해서 같다가 표시
} else {
System.out.println(x + "!=" + y);
}
}
}
- parse-계열 메서드
- 문자형을 숫자 데이터로 바꾸어주는 메서드이다
- 사용법은 (변수) = (숫자형).Parse(변수);이다
- 변환과정에서 예기치 못한 에러가 발생할 수 있어 try-catch로 감싸 예외처리를 해줘야한
- 아래 코드는 11이라는 10진수를 각각의 진법으로 변경한 코드다
package num4.radixtest;
public class Main {
public static void main(String[] args) {
String num = "11";
try {
int bin = Integer.parseInt(num,2);
int oct = Integer.parseInt(num,8);
int dec = Integer.parseInt(num,10);//dec=Integer.parseInt(num)과 같다
int hex = Integer.parseInt(num,16);
System.out.println("기본값 : " + num);//기본값 11출력
System.out.println("2진수 : " + bin);//2진수로 변환 3이 출력
System.out.println("8진수 : " + oct);//8진수로 변환 9가 출력
System.out.println("10진수 : " + dec);//10진수라 입력값 11이 출력
System.out.println("16진수 : " + hex);//16진수로 변환 17이 출력
} catch (NumberFormatException e) {
System.out.println("Error:"+e);
}
}
}
오늘의 회고
- 병원 예약이 있는날이라 하루를 다 날려 공부를 별로 못했다 이렇게 밀리다보면 점점 따라가기 힘들어질텐데 걱정이다
- 실시간 강의를 못들어서 따로 공부하던 책을 보면서 공부를 했는데 강의에선 못보던 내용이 있어서 그런가 신선했다
'TIL' 카테고리의 다른 글
내일배움캠프 5주차 API, HTTP, 테스트 코드 ..... (0) | 2024.05.13 |
---|---|
내일배움캠프 4주차 Call by Value, Call by Reference, ... (0) | 2024.05.09 |
내일배움캠프 4주차 객체지향 (0) | 2024.05.07 |
내일배움캠프 3주차 람다와 스트림 (0) | 2024.05.03 |
내일배움캠프 3주차 쓰레드 이어서 (2) | 2024.05.02 |