자바 이름의 형태
특수문자 $,_만 가능하다. (중간에는 어떤 특수문자든 상관없나..? 셤공부할 때 확인해보기 )
$jungwon.java // _jungwon.java
숫자로 시작하는건 불가능하다.
// 1z.java(불가)
예약어는 불가능하지만 대문자로 쓰면 예약어가 아니기에 가능하다. (키워드는 되나 근데? 해보기 )
// If.java(가능) // if.java(불가)
데이터 타입
* 기본 타입은 8개 ( boolean, byte, int, short, long , char, float, double)
* 참조 타입은 class, interface, array, String 등이 있고 객체의 번지를 참조하고 Heap 영역에서 만들어짐.
* short, byte, char는 +연산이 붙으면 int로 자동 형변환이 된다.
이를 유의해야함.
* long 뒤엔 L, float뒤엔 f붙는다
기본 문법
* Math.ceil = 올림
* Math.floar= 내림.
* Math.round= 반올림.
* switch break~ (case: 해당) 실행되고 break가 없으며 나머지 case와 default까지 다 실행)
* 클래스 배열 생성 형태
* 문자와 숫자 형변환 및 2차원 배열의 크기 문제
* valueOf와 parseInt와 차이점
valueOf = 객체 반환. parseInt = 기본형 반환.
* equals 와 ==의 차이?
equals는 객체(=값)을 비교 , == 는 주소를 비교.
* 연산자 다중 정의도 지원하지 않고 define, typedef이런거 안쓴다.
a >> 2 = a *(1/4)
a << 3 = a *(2^3)
collection
Collection의 종류 ? Set, List, Map 등이 있다. //stack, vector도 있음.
모두 인터페이스라 객체로 생성할 순 없고, 각각 특징이 다르다.
Map은 키와 벨류를 가지는 해쉬 테이블 처럼 사용.
List는 일반적으로 Linkedlist, arraylist가 있다.
arraylist : 배열로 되어있기 때문에 추가, 삭제가 많은 경우 Linked 리스트보다 성능이 안좋고 메모리 낭비가 많다. 또 배열을 늘려 주기 위한 연산이 추가로 들어간다.
Linkedlist : 추가 삭제가 용이함. 검색이나 접근에 있어서는 arraylist가 훨씬 빠르다.
Set: 중복이 없고 treeSet의 경우에는 정렬까지 가능하다.
제네릭
'개발 및 언어 > 자바' 카테고리의 다른 글
생성자 (0) | 2020.02.09 |
---|---|
접근제어자(private, default, protected, public ) (0) | 2020.02.09 |
자바 추가필요부분 + 참고문헌 및 기타지식 (0) | 2020.02.09 |
오버라이딩 vs 오버로딩 [다형성] (0) | 2020.02.09 |
추상클래스 및 인터페이스 (0) | 2020.02.09 |