자바 짤막 지식 - 논리 연산, 비트 연산, 시프트 연산
·
JAVA
논리 연산과 비트 연산에서 연산자가 살짝 헷갈릴 수 있다. 한번 집어가면 좋을거 같다.시프트 연산도 논리와 산술 시프트로 나뉘어서  한 번 집어가면 좋을 것이다.논리 연산논리 연산자내용! aa가 true이면 false, false이면 truea ^ ba와 b의 XOR 연산, a,b가 같은면 falsea || ba와 b의 OR 연산a && ba와 b의 AND 연산 비트 연산비트 연산자내용~ aNOT 연산으로 1을 0으로, 0을 1로 변환a ^ bXOR 연산, 논리 연산자와 동일하다a | bOR 연산a & bAND 연산  시프트 연산시프트 연산자내용a >> b산술적 오른쪽 시프트로 최상위 비트의 빈자리는 시프트 전의 최상위 비트로 다시 채운다.a >>> b논리적 오른쪽 시프트로 최상위 비트의 빈자리는 0으로..
자바 짤막 지식 - 타입 변환
·
JAVA
타입 변환타입 변환이란 변수나 상수 혹은 리터럴을 다른 타입으로 변환하는 것을 말한다. 자동 타입 변환치환문(=)이나 수식 내에서 타입이 일치하지 않을 때, 컴파일러는 작은 타입을 큰 타입으로 자동 변환한다. 예를 들어, int는 long으로 또는 int를 double로 변환한다. 강제 타입 변환반대로 큰 타입에서 작은 타입으로 변환해야 할 때는 손실이 발생할 수 있기 때문에 컴파일러는 자동 변환 대신 컴파일 오류를 발생시킨다. 개발자가 손실을 인지하고 변환하기를 원하면 타입을 강제로 지정하여 변환시킨다. 강제 타입 변환을 캐스팅이라고도 부른다.
자바 짤막 지식 - 리터럴의 타입
·
JAVA
자바에서 정수 리터럴은 int 타입으로 컴파일한다. 정수 리터럴을 long 타입으로 지정하고자 하면 숫자 뒤에 L 또는 l을 붙이면 된다. 실수 리터럴은 double 타입으로 자동 처리되며 실수 뒤에 f나 F를 붙이면 float 타입으로 강제 변환할 수 있다.
자바 짤막 지식 - char 타입 크기
·
JAVA
char가 1바이트인 C/C++와 달리 자바의 char는 2바이트이다.  그 이유 자바에서는 문자를 2바이트로 표준화된 유니코드 체계를 사용하기 때문이다. ! 유니코드유니코드는 전 세계의 모든 문자를 표현하기 위해, 문자당 2바이트의 산업 표준 코드 체계이다.
자바의 특징
·
JAVA
자바의 특징은 다음과 같다. 운영체제에 독립적이다.자바는 플랫폼(CPU, 운영체제)에 종속되지 않는 독립적인 바이트 코드로 컴파일되며 자바 가상 기계만 있으면 어떤 플랫폼이든 자바 프로그램의 실행이 가능하다. 객체지향 언어이다.자바는 객체 지향 언어로서 상속, 캡슐화, 다형성 등을 지원한다. 자동 메모리 관리(Garbege Collection)가비지컬렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리하지 않아도 된다. 멀티 쓰레드를 지원한다.일반적으로 멀티쓰레드의 지원은 사용되는 운영체제에 따라 구현방법도 상이하며, 처리방식도 다르다. 그러나 자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 관련 라이브러리(Java API)가 제공되므로 구현이 쉽다. 동적..
자바의 컴파일
·
JAVA
기존 언어의 플랫폼 종속성C/C++ 언어로 작성된 프로그램이 컴파일되면 플랫폼(CPU와 운영체제)에 종속된 기계어 코드로 변환된다.  예를 들어, 같은 Intel CPU라도 리눅스와 윈도우에 따라 컴파일되는 기계어 코드가 다르다. 그 이유는 CPU마다 기계어가 다르고 운영체제마다  API 와 실행파일 형식이 다르기 때문이다. 어러한 특성을 플랫폼 종속성이라고 한다. 자바의 플랫폼 독립성, WORA 자바 언어는 플랫폼 독립적으로 설계되었기 때문에 한번 컴파일된 자바 코드는 플랫폼(CPU와 운영체제)에 상관없이 자바 가상 기계(JVM)만 있으면 어떤 플랫폼에서든 실행할 수 있다. 이를 WORA(Write Once Run Anywhere)이라고 한다. 자바 가상 기계와 바이트 코드자바 컴파일러가 자바 코드를 ..