2023.04.03 ~ 2023.04.09
1. Did
- 월
Java 문법 종합 1주차
- JVM에 대해 이해 - OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터
- JVM 구성요소 (클래스 로더, 실행 엔진, 런타임 데이터 영역, Garbage collection, Thread, …)
- JVM에서의 메모리 관리 (Stack, Heap) 영역에 대한 이해
- Java의 저장공간 종류(변수 타입)와 변환에 대해 이해
- 화
Java 문법 종합 2주차
- 연산자, 조건문, 반복문을 통해 문맥 구성
- 배열, 컬렉션으로 연속된 데이터들을 효율적으로 저장하고 관리하는 법
- 수
Java 문법 종합 3주차
- 객체지향 프로그래밍 개념
- 객체의 구성요소(필드, 메서드, 생성자)
- 클래스 변수, 인스턴스 변수 차이점
- 생성자, 오버로딩
- this, this(), super, super() 키워드
- pakage, import
- 다형성의 원리와 구현방법
- 추상클래스
- 인터페이스 역할, 구성요소, 구현방법, 메서드 등
Java Baseball 팀과제
- 목:
Java 문법 종합 4주차
- 오류 및 예외의 개념
- try-chatch, finally 문으로 다루는 방법
- Generic 문법이 왜 필요한지, 어떠한 효용이 있는지, 대표적 사용 예시인 Collection이 어떻게 구현되는지
- Wrapper 객체
Git 명령어로 다루기
- 금:
- 토:
프로그래머스 Java Lv.1 (2)
- 14문제 페어 프로그래밍(Navigator, Driver) 번갈아가며 수행
- 일: 휴식
2. Problems
2.1 Java 문법 종합 1주차
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String title = sc.nextLine();
float rate = sc.nextFloat();
sc.nextLine();
String input1 = sc.nextLine();
String input2 = sc.nextLine();
problem
- nextLine을 받다가 nexFloat을 받고 다시 nextLine을 받으니 입력이 한줄 스킵됐다.
Why ?
- next는 사이띄기, tab키, enter키로 분리해서 데이터를 가져가기 때문에 enter키 = 데이터가 남아있어서 그 enter키를 가져가서 사용
Try
- nextLine직전에 scan.nextLine()을 한번 더써서 입력버퍼를 비워준다.
2.2 Java Baseball 팀과제
while (true) {
System.out.println(count + "번째 시도:");
String player = scan.next();
for(int i=0; i<player.length(); i++){
intplayer[i] = player.charAt(i)-'0';
}
problem
- 처음 player의 input 값을 int형으로 받을 경우 3번의 입력값으로 데이터를 받아야 했다.
- ex) 2 3 5 → {2, 3, 5}
Why ?
- 235라는 값을 한번에 받았을 때 235라는 숫자로 인식이 되기 때문에 String으로 받아 인덱스값으로 int배열에 넣어줘야한다.
Try
- 235값을 받았을 때 {2, 3, 5} 같이 배열에 입력되기 위해 String으로 받아 Char로 형변환 후 Int형 변환
- 아스키코드 입력을 막기 위해
intplayer[i] = player.charAt(i)-'0';
사용
- 형 변환을 위해 List를 사용하는 경우도 있는 것 같다.
2.3 프로그래머스 Java Lv.1
- 시간복잡도 생각해보기
- 반복문을 쓸때 for과 while중 고민하게 되는데 보통 for가 빠르다고 들었다. 찾아보니 for가 빠를 수 도있고, while이 빠를 수 도있다. 주어진 환경에 따라 다르게 판단해야 하는 것이 옳다고 한다.
- btw i++(후위)보다 ++i(전위)가 더 빠르다고한다.
- 찾아보니 이경우는 1. 내부 타입의 경우 속도는 같다. 2. 객체의경우 전위연산자가 빠르다
- 입출력 외에 연산시에도 형 범위를 넘지 않을까 생각해보기
3. Goals
Java 문법 종합 3주차
, Java 문법 종합 4주차
, Java 문법 종합 5주차
다시 학습하기
- Object 클래스 이해하기
- Wrapper 클래스에 대해 이해하기
- 클래스, 인스턴스, 인터페이스 이해하기
- 프로그래머스 Java 문제 풀기