본문 바로가기

개발 공부52

[자바다] System.in.read() 사용법을 반복문 그리고 엔터와 함께 살펴보기 백준 10871 문제를 풀다가 발견한 System.in.read() 코드! 10871번: X보다 작은 수 (acmicpc.net) 저는 BufferedReader을 사용해서 문제를 풀었는데 시간을 훨씬 단축시킨 사람들 코드를 보니 System.in.read()을 사용하고 있었습니다. 그런데 이해가 잘 가지 않아서 혹시 저와 같은 사람이 있을까봐 글을 씁니다. 우선 System.in.read()는 문자 char타입인 문자 하나를 입력값으로 받고 그 문자에 대응하는 아스키 코드를 int값으로 출력하는 코드입니다. 이 문제는 공백을 포함한 긴 문자열인 '10 5 \n'를 입력값으로 받은 후 System.in.read()로 읽어들여야 하는데요 System.in.read()는 '문자 하나'만을 입력으로 받습니다... 2022. 9. 27.
[자바다] int string등 각 타입에서 'equals' 와 '==' 구별하는 법 자바를 공부하면서 제일 헷갈리는게 equals와 ==여서 한 번 정리하고 넘어가려 합니다. 우선 제일 상위 클래스고 모든 클래스를 포함하는 Object 클래스에서 equals와 == 는 '주소값 비교'라는 같은 역할을 수행합니다. 그런데 단 한가지 클래스! String 클래스에선 equals가 주소값이 아닌 '값을 비교'하도록 오버라이딩 되어 있습니다. 그러니 String 외의 다른 모든 클래스를 equals로 비교하면 주소값을 비교해서 리턴하고 String 클래스의 값을 equals로 비교하면 값을 비교합니다. //같은 값을 가졌지만 주소값은 다르게 두 객체를 만들어주기 String str1 = new String("str"); String str2 = new String("str"); //equals.. 2022. 9. 22.
[자바다] 클래스, 객체, 인스턴스란 무엇일까? 각 개념의 차이점 자바를 공부하는 와중 라는 단어가 계속 반복되면서 혼란이 오기 시작했습니다. 객체와 인스턴스의 차이가 뭐지? 왜 객체를 어떤 때는 객체라고 부르고 어떤 때는 인스턴스라고 부르지? 클래스 자체가 객체 아닌가? 라는 의문이 들었는데 이 글을 보고 있는 분들도 저와 같은 의문을 갖고 글을 검색해서 들어왔다면 아주 잘 모시겠습니다!! 그럼 시작! 우선 클래스가 '뭔지'는 다들 아실거라고 생각합니다. 예제를 작성할 때 마다 public class DateExample{ } 이렇게 선언하곤 하는데 이때의 public class!를 클래스라고 말합니다. 예제를 실행시키기 위해선 main문을 포함한 class도 있어야 하는데요 이때 클래스를 객체로 선언해줍니다. public class Date{ public stati.. 2022. 9. 19.
[자바다] 윈도우와 맥에서의 캐리지리턴(\r), 라인피드(\n) 캐리지 리턴 (Carriage Return) - \r - 커서의 위치를 제일 앞으로 이동 라인 피드 (Line Feed) - \n - 현재 위치에서 바로 아래로 이동 캐리지 리턴 예제 애플 뒤에 캐리지 리턴이 오기에 다시 커서가 제일 앞으로 이동 후 carriage return만을 출력! 라인 피드 예제 애플을 출력하고 커서가 한 칸 아래로 내려간 후 라인피드 출력! 유의할 점은 운영체제 별로 줄바꿈의 정의가 다르다는 것입니다. 윈도우 : CR+LF 조합으로 줄바꿈을 정의 맥과 같은 리눅스 계열 : LF 만으로 줄바꿈을 정의 2022. 9. 15.
반응형