Java/Java의 정석
[Java의 정석] 05. 배열
모르는 것만 짧고 빠르게 정리한 노트입니다. 1.2 배열의 선언과 생성 byte, short, int, long 타입 배열 : 0으로 초기화 char 타입 배열 : null('/u0000')로 초기화 float, double 타입 배열 : 0.0 으로 초기화 boolean : false 로 초기화 참조 타입 배열 : null 로 초기화 1.3 배열의 길이와 인덱스 - 배열은 한번 생성하면 길이를 변경할 수 없다. - 배열의 길이는 JVM 이 별도로 갖고 있다. - (배열이름).length 로 값을 읽을 수 있다. (상수이기 때문에 변경은 불가능하다.) 1.4 배열의 출력 - 배열 이름을 그대로 println 하게 되면, '배열타입@배열주소' 와 같이 출력된다. - 하지만 char[] 배열은 string ..
[Java의 정석] 04. 조건문
모르는 것만 짧고 빠르게 정리한 노트입니다. 2.1 enhanced for statement for (타입_변수명 : 배열_또는_컬렉션) { // do something } - read only, jdk 1.5 부터 추가됨. 2.6 이름 붙은 반복문 Loop1 : for (int i = 2; i
[Java의 정석] 03. 연산자
모르는 것만 짧고 빠르게 정리한 노트입니다. 1.4 연산자 우선순위 - instanceof 는 비교연산자 , = 와 우선순위가 동일하다. 1.5 일반 산술 변환 - 피연산자의 타입이 다르면, 더 큰 타입으로 자동 형변환된다. (overflow 방지) - 피연사자의 타입이 int 보다 작은 타입이면 int 로 변환된다. 3.1 사칙 연산자 - 상수 또는 리터럴 간의 연산은, 컴파일러가 최적화를 진행한다. char c1 = 'a' // char c2 = c1 + 1; // compile error! 명시적 형변환 필요! char c2 = 'a' + 1; // java complier 에 의해 'b'로 치환됨. 3.2 나머지 연산자 - 우항은 0이 될 수 없다. - 음수도 가능한데, 양수일 때와 절대값이 동일..
[Java의 정석] 02. 변수
모르는 것만 짧고 빠르게 정리한 노트입니다. 1.1 변수란? : 단 하나의 값을 저장할 수 있는 메모리 공간. 1.2 변수의 선언과 초기화 : 변수를 선언하면, 메모리 빈 공간에 변수타입에 알맞은 크기의 저장공간이 확보되고, 이 공간은 변수이름을 통해 사용할 수 있게 된다. : 추가로 하나의 프로세스는 가상 메모리를 OS 의해 할당받는데, 하나의 java application 또한 가상 메모리를 할당 받는다. 할당받은 가상 메모리를 이용하여, JVM을 띄운다. JVM 은 특별한 설정을 하지 않으면 기본 350MB 정도의 힙 메모리 제한을 갖는다고 한다. 보통 로컬 변수를 생성할 때는 이 힙 메모리에 생성되고 GC 에 의해 관리된다. : 한번 JVM 이 할당한 물리메모리는 GC 가 JVM 내의 힙메모리에서..
![[Java의 정석] 01. 자바란](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxcHcT%2FbtruNijLer9%2FnWxam14U8sK6Z3KVKD3dL1%2Fimg.png)
[Java의 정석] 01. 자바란
모르는 것만 짧고 빠르게 정리한 노트입니다. 자바란 현재는 오라클 사에 인수된 썬 마이크로시스템즈에 의해 개발된 객체지향 프로그래밍 언어이다. JVM 때문에 운영체제에 독립적인 이식성(portability)이 뛰어난 언어이다. 전통적인 컴파일러와 인터프리터의 성격을 모두 갖는 하이브리드 컴파일러의 특성을 갖고 있다. 소스코드는 javac(java compliler) 에 의해 bytecode 로 변환된 후 java(java interpreter) 에 의해 런타임으로 해석된다. 자바 언어의 특징 운영체제에 독립적이다. 객체지향 언어이다. 비교적 배우기 쉽다. Garbage Collection 으로 프로그래머가 메모리 관리에 신경을 덜 써도 된다. 네트워크와 분산처리를 지원한다. 멀티쓰레드를 지원한다. 동적 ..