이 시리즈는 이미 코딩에 많이 익숙한 분들이 빠르게 Java를 습득할 수 있도록 만든 시리즈입니다.다음을 이미 알고 있다고 가정합니다.이미 기본적인 코딩 문법 및 객체지향 개념을 이해하고 있음 (C/C++/Kotlin에 숙달되어있다고 가정)전반적인 시스템 프로그래밍/O
type과 이름을 지정하면 된다.(;은 statement 끝마다 붙여야 한다.)=와 적절한 값을 사용하면 된다.대소문자가 다르면 다른 변수다 (hi와 Hi는 다른 변수 취급)길이 제한 없음예약어(reserved words) 사용 불가 (ex : true 사용 불가, J
기본형과 참조형으로 나뉘어진다. 기본형은 총 8개다 : byte, short, int, long, float, double, char, boolean나머지는 전부 참조형이며, class의 이름을 활용해 선언된다.기본형의 타입은 선언시 사용한 이름이다.참조형의 타입은 선
기본적인 출력은 System.out.println을 하면 된다. 표준 출력에 출력후 줄바꿈을 한다.System.out.printf를 활용.문법은 C랑 매우 유사하다.다만 정수는 type 상관없이 %d로 출력을 한다.newline은 %n를 권장한다. \\n은 OS에 따라
(Java의 문법이랑 많이 관련되었다기보단, 숫자가 컴퓨터 시스템 상에서 어떻게 저장되는거랑 많이 관련된 내용으로 이해가 잘 안되면 따로 검색해보시길)변수/literal을 특정 type으로 변환시키는 것.(타입)literal/변수형태로 하면 된다.위에서 봤듯 bit r
연산자 (operator) : 수행하는 연산을 나타내는 기호피연산자 (operand) : 연산자 작업 대상ex : 1 + 2 에서 +는 연산자, 1, 2는 피연산자다.연산 후 언제나 결과값이 나온다. (return value)연산자당 필요 피연산자가 꼭 2개일 필욘 없
본격적으로 제어문(control statement)에 대해 알아보도록 하자.C, C++에서 이미 어느정도 배웠다고 가정.C, C++이랑 크게 다른게 없다.condition 안의 값이 무조건 boolean type이어야 한다. C나 C++의 경우 정수형들도 가능한데 Ja
C, C++에서 어느정도 배웠다고 가정.기본 구조는 동일하다. 다만 condition 확인 부분이 boolean type이어야 한다.응용도 대체로 비슷한데, 자세한 것은 생략판별 진행도 동일하다. initialize 이후 condition확인, 이후 progress 부
C++이랑 유사한데, new를 무조건 사용해야 한다는 차이점이 있다. (memory management를 본인이 직접 안하기 때문에 그렇다.)당연히 reference 넣을 변수 선언 후 들어갈 reference를 집어넣는 것도 가능하다.new로 배열 생성시 배열이 내용
OOP paradigm의 장점은 생략OOP 관련 기본 terminology들은 알고 있다고 가정.Person이라는 class가 어떻게든 정의되어 있다고 해보자. attribute로 name이 있고 method로 printName이 있다고 해보자.기본형과는 다르게, Ko
class 및 interface들의 모임.같은 이름의 class가 하나의 package 안에 존재하는건 안되지만, 다른 package에 존재하는 것은 괜찮다.모든 class의 full name은 package 이름을 앞에 포함한다. 예를들어 String class의 f
Inheritence 알다시피 OOP에서 inheritence는 코드의 재사용성을 높여준다. 문법은 밑과 같다. 위에서 Cow가 child class, Animal이 parent class다. parent class의 attribute와 method는 child c
Error and Exception 프로그램이 실행되는 도중에 오류(runtime error)가 발생할 수 있는데, Java는 이를 오류(Error)와 예외(exception)으로 나눴다. 일반적인 OS의 fault랑 exception과 동치는 아니고, 발생시 수습이
Java에서 기본적으로 사용되는 애들이 모인 패키지다. Object class 이전에 OOP에서 나왔던 모든 class의 ancestor에 해당하는 class다. 여기서는 notify(), notifyAll(), wait()를 제외한 method들에 대해서 설명한다
심심풀이로 백준을 풀다가 두 날짜가 주어졌을 때 몇일이 차이가 나는지에 대한 문제를 풀게 되었다.윤년까지 고려해야 했는데, 어려운 문제는 아니지만 Java 자체에 이걸 손쉽게 풀어줄 수 있는 패키지가 있는지를 찾아봤다.가장 먼저 찾을 수 있었던 내용은 java.util
Java record 관련 참고할만한 글https://www.baeldung.com/java-record-keyword -> 기본적으로 설명 잘 되어 있음.https://colevelup.tistory.com/28 -> compact construct
빠른 IO 관련 class.잘 정리된 글이 있다.출력의 경우 C++의 std::cout에서 std::endl을 너무 자주 쓰지 말고 대신 \\n을 쓰는 것이 좋은것과 비슷한 원인으로 느린 것으로 추정. C++에서 std::endl을 할 때마다 stream에서 flush
백준에서 PriorityQueue를 활용하다가 알게 된 정보.Java의 PriorityQueue class에 대해 for each문을 사용하면서 iterate를 할 때는 순서가 보장되지 않는다. Documentation에도 해당 언급이 있다.순서가 보존된 iterati