1. 자바 이론
1) 자바의 역사
자바 개발자: 제임스 고슬링 가정용 전자 제품에 사용하기 위해 만들었음
2) 자바의 특징
Write Once Run Everywhere(한 번만 작성해서 어디서나 실행시키세요) → 자바는 컴퓨터에 가상 기계만 설치되어 있으면 어디서든 실행할 수 있다.
3)가상 기계
자바는 운영 체제가 다르더라도 어디서든 실행시킬 수 있다. 반면 C언어나 C++ 언어 등은 운영체제나 CPU가 다르면 실행이 불가능하다.
자바 프로그램 실행 과정 자바 컴파일러는 가상적인 컴퓨터의 기계어인 바이트 코드(nyte code)를 생성하는데 바이트 코드는 JVM에 의해 한 줄 씩 해석되면서 각각의 OS에서 실행된다.
네이티브 코드(native code) 컴파일 하지 않아도 운영체제에서 바로 실행시킬 수 있는 코드이다. C언어는 네이티브코드이고 JAVA는 네이티브 코드가 아니다.
4) JDK(Java Development Kit)
JDK와 JRE의 관계
자바가 오라클에 인수된 시점은 1.8버전일 때이기 때문에 1.9버전부터는 오라클 소유의 자바가 되었다.
오라클은 유료화의 화신이기 때문에 1.9부터 오라클 버전 JDK인지 oepn JDK인지가 나뉜다.
JDK의 폴더
bin: 컴파일러(java.exe, javac.exe), 디버거 등의 도구가 들어 있다. lib: 개발 도구들이 필요로 하는 추가적인 클래스 라이브러리와 지원 파일들이다.
5) 변수와 자료형
int x; // int는 자료형, x는 변수 이름이다. // 선언만 되어 있기 때문에 x 안의 값은 null이다.(빈 박스만 만들어 놓음)
자료형
자바의 자료형은 크게 기초형(primitive type)과 참조형(reference type)으로 나뉜다.
기초형
int(4byte): -21억 ~ +21억(2의 32 제곱) long(8byte): -800경 ~ +800경(2의 64 제곱) double(8byte) char(2byte) boolean(1bit): true / false
공간을 효율적으로 쓰기 위해 자료형을 구분해 놓았다.
패키지: .java파일들을 모아 놓은 곳(디렉토리, 폴더 개념)
2. 자바 실습
1) 자바의 규칙
모든 코드를 class{} 안에 넣어야 한다.
자바의 파일명은 class 이름과 동일해야 한다. 그렇지 않으면 오류남.
2) 자료형
package ex01; public class VarEx01 { // 모든 코드는 main 메서드 내부에 적는다. public static void main(String[] args) { // 자료형 int n1 = 1; // 4Byte. 21억까지 // 1정도는 바이트에 저장하면 공간이 절약되겠지만 변수이기 때문에 값을 바꾸려면 한계가 생겨. double d1 = 1.5; // 8Byte. 21억까지. 그런데 소숫점 아래도 표현(실수)되기 때문에 더 큰 공간이 필요해. // 21억 이상을 저장하려면 long big1 = 20000000000L; // 8Byte. 경까지 저장. 범위 안이라도 숫자 뒤에 L을 적어줘야 해. 정수 표현 범위를 넘어서면 오류가 나기 때문에 퉁쳐서 L을 적어줘. boolean b1 = true; //true, false //true, false 1bit만 사용하지만 외부에서 그 위치를 찾을 수 있게 하려면 1bit여도 1byte를 모두 사용한다. char c1 = '가'; // ''를 쓴다. ""이거 말구. 한글, 영어 상관 없이 1글자만 저장됨. 설정하기에 따라 크기가 달라져서 크기를 지금은 몰라도 돼. // n1을 적으면 그것에 해당하는 값을 찾아준다. 누가? OS가! System.out.println(n1); System.out.println(d1); System.out.println(big1); System.out.println(b1); System.out.println(c1); // ctrl + d 하면 한 줄 복사 } // main의 끝. 자바 프로그램 종료됨. 자바프로그램의 생명주기! }
Share article