모든 운영체제에서 실행 가능 : 윈도우에서 개발된 프로그램을 수정하지 않고 바로 리눅스에서 실행 가능하다.
객체 지향 프로그래밍 : 객체(부품)을 만들고, 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법을 객체 지향 프로그래밍이라고 한다. 자바는 객체 지향 프로그래밍을 위한 최적의 언어이다.
메모리 자동 정리 : 자바는 메모리(RAM)을 자동 관리하므로, 개발자는 핵심 기능인 코드 작성에 집중할 수 있다.
무료 라이브러리 풍부 : 무료로 사용 가능한 오픈 소스 라이브러리가 풍부하기 때문에 프로그램 개발 기간을 단축할 수 있다.
자바가 JVM을 사용하는 이유는 바이트 코드 파일을 다양한 운영체제에서 수정하지 않고 사용할 수 있도록 하기 위함이다.
자바 언어로 코드를 작성하면 .java인 텍스트 파일이 생성된다. 이 소스 파일을 javac 명령어로 컴파일 하면 .class인 바이트 코드 파일이 생성된다. 이후 java 명령어를 실행하면 JVM이 기계어로 번역해준다.
// ...
//부터 라인 끝까지 주석으로 처리한다./* ... */
사이에 있는 내용은 모두 주석으로 처리한다./** ... */
사이에 있는 내용은 모두 주석으로 처리한다. 주로 javadoc 명령어로 API 도큐먼트를 생성하는데 사용한다.자바가 제공하는 기본 타입은 총 8개이다.
구분 | 저장되는 값에 따른 분류 | 타입의 종류 |
---|---|---|
정수 타입 | byte, char, short, int, long | |
기본 타입 | 실수 타입 | float, double |
논리 타입 | boolean |
값의 허용범위가 작은 타입이 허용범위가 큰 타입으로 저장될 때 발생한다. ex) int형 변수 = byte형 변수
byte < short < int < long < float < double
char 타입은 양수범위이기 때문에 주의해야한다.
큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장할 때 발생한다.
int intValue = 10;
byte byteValue = (byte) intValue;
이처럼 (작은 타입) 큰 타입 형태로 사용한다. 실수를 정수로 변환할 경우 소수점 이하 부분이 버려진다는 것을 주의한다.
정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 byte, short 타입의 변수는 int 타입으로 자동 변환되어 연산을 수행한다.
실수 타입 변수가 산술 연산식에서 피연산자 중 하나가 double 타입이라면 다른 피연산자도 double타입으로 자동 타입 변환된다.
String str = "10";
byte value = Byte.parseByte(str);
다른 타입도 위와 같이 가능하다.
String str = String.valueOf(기본값)
1) System.out.println(내용); : 괄호 안의 내용을 출력하고 행을 바꿔라
2) System.out.print(내용); : 괄호 안의 내용을 출력만 해라
3) System.out.printf("형식 문자열", 값1, 값2, ...); : 괄호 안의 첫 번째 문자열 형식대로 내용을 출력해라
System.in.read() : 키보드에서 입력된 키코드를 하나씩 읽는다. 정수로 입력받음.
Scanner : System.in.read()는 키코드를 하나씩 읽기 때문에 2개 이상의 조합된 한글을 읽을 수 없다. 키보드로부터 입력된 내용을 통 문자열로 읽기 위해 사용한다.
Scanner scanner = new Scanner(System.in);
String inputData = scanner.nextLine(); // enter키 이전까지 입력된 문자열을 읽음