자바 이름의 형태

특수문자 $,_만 가능하다. (중간에는 어떤 특수문자든 상관없나..? 셤공부할 때 확인해보기 ) 

$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차원 배열의 크기 문제 

배열의 크기 or 형변환 관련 

* 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의 경우에는 정렬까지 가능하다. 
 

제네릭 

+ Recent posts