본문 바로가기

study/JAVA25

Scanner 대신 BufferedReader 사용하기 기록해두기용 2022. 4. 15.
자바 다중배열에서 빠져나가기(feat. break & label) 틀린 그림 찾기 자바ver 이 둘의 차이는 label. 그냥 break만 써주면 안쪽 j for문에서만 나가서 cnt가 lastDate보다 커도 원하지 않는 값을 출력하게 됨. 해당 조건에 부합할 시에 반복문에서 아예 빠져나가기 위해 label을 지정해줘서 빠져나가게 해 준다. return을 못쓰는 이유는 밑에 또 실행해야 할 코드들이 있기 때문 break만 썼을 때 결과 label도 썼을 때 결과 굿굿 2022. 4. 15.
nextInt 다음에 nextLine 쓰면 문제가 되는 이유. (feat. buffer) nextInt에 int가 아닌 다른 값을 넣었더니 그 값이 다음에 수행할 nextLine()에 들어가서 nextLine을 자동 종료시켜버린 모습. nextInt에 int가 아닌 값을 입력하면 값이 버퍼에 남아있음. 사용자가 값을 입력하면 cpu는 값이 다 입력될때까지 버퍼에 값을 담아놓음. 그러다가 다 입력되면 nextInt의 경우 cpu는 버퍼에 담긴 enter전까지의 숫자로 전환 가능한 입력값을 int로 내보내게 됨. 그러나 숫자가 아닌 문자를 입력해버리면 해당되는 데이터가 없어서 내보낼 수가 없음. 만약 a를 입력하면 a + enter가 버퍼에 남아있게 됨. 버퍼에 그 값이 남아있는 상태에서 nextLine을 호출하게 되면 문제가 됨. nextLine은 입력값 + \n까지 버퍼에 저장했다가 가져옴... 2022. 4. 9.
JAVA Calendar와 LocalTime 활용 문제 문제 [출력 결과] 수능일 : 2021-11-18 오늘 : 2021-11-3 남은일 : 15 Calendar로 구현 변수명 그지 같은 거 앎. 일단 구현이 더 시급. (15가 나와야 하는데 14가 나옴. 초까지 새는 거라서 오차가 있을 수 있다고 함. ) LocalDate로 구현해본 결과. 뭔가 더 간단해 보임 남은일을 구하기 위해 수능 날짜에서 오늘 날짜 빼야 하는데 그러려면 밀리세컨드 그 걸로 바꿔서 계산해야 함. 근데 Calendar에서는 getTimeMillis가 있었지만 LocalTime에는 없음. LocalTime 클래스 타입을 밀리세컨드으로 가져오는 방법 검색 결과 localtime변수명.atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli(); 이.. 2022. 4. 8.
JAVA Casting 객체형변환 - 참조데이터타입 기본적으로는 안되지만 상속관계(is a)일때 가능. 반드시 업캐스팅이 발생된 후 다운캐스팅을 할 수 있다. 업캐스팅(up-casting) : 부모객체로 자식객체를 참조할 수 있도록 형 변환하는 기술 다운 캐스팅(down-casting) : 업캐스팅을 다시 원상 복구해주는 형 변환하는 기술 독립적인 참조 데이터 타입(객체)은 형 변환이 안된다 Up-casting 자식을 부모로 변환은 가능한데 부모를 자식으로 변환은 불가능 부모로 형 변환하면 자식에 있는 메서드 사용 안됨 p=c P에 c의 주소가 할당됨 그러나 p에 있는 거만 호출 가능(부모 클래스에 있는 거) 오버라이딩된거는 오버 라이딩된 거로 호출됨 부모를 자식으로 형 변환 사실 가능 down-casting 단 원래부터 자식.. 2022. 4. 5.
자바 상속 inheritance 기초 상속 : 다른 클래스가 가지고 있는 멤버들을 새로 만들 클래스에서 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있게 만든 기술 상속(inheritance) 기본 클래스를 재사용해서 새로운 클래스를 정의하는 것이다. 두 클래스를 조상과 자손 관계를 맺어준다. (extends) 상속을 해주는 클래스 : 수퍼클래스(super), 부모클래스, 기본클래스 상속을 받는 클래스 : 서브클래스, 자식클래스, 유도클래스 자식(손)클래스는 조상의 모든 자원을 상속받는다. (생성자, static{}은 제외) 자식(손)의 자원은 부모보다 크거나 같아야 한다. 상속을 할때 사용되는 키워드 : extends(단일상속) 사실 오브젝트가 최 상위. 생략되어있음 모든 클래스는 오브젝트를 상속을 받는다. .. 2022. 4. 4.
728x90