출처 : 위키피디아
1995년도에 처음 썬 마이크로시스템즈에서 발표한 후 가장 성공한 프로그래밍이다. 다양한 분야에 사용되고 있다.( 안드로이드 폰에서 실행하는 애플리케이션, 웹 사이트를 개발하는 핵심 언어, 모든 운영체제에서 실행 가능한 데스크톱 애플리케이션도 개발가능.
자바는 오라클에서 라이선스를 가지고있다. 오라클은 자바 개발 도구(JDK)를 배포하여 자바로 프로그램을 쉽게 개발할 수 있도록 기술적 지원을 하고 있다.
자바는 다른 프로그래밍 언어에 비해 특징이 있다.
자바 프로그램을 개발하고 실행하기 위해선 Java SE의 구현체인JDK를 설치해야 한다. JDK는 Open JDK와 Oracle JDK가 있다.
| 구분 | Open JDK | Oracle JDK |
|---|---|---|
| 라이선스 | GNU GPL version 2 | Oracle Techmolohy Network License |
| 사용료 | 무료 | 개발 및 학습용 : 무료, 상업용 : 유료 |
| 개발 소스 공개 의무 | 없음 | 없음 |
Oracle JDK는 Open JDK보다 응답성과 JVM 성능이 상대적으로 뛰어나다.
하지만 Open JDK도 지속적으로 성능 향상되고 있고, 안정화도 하고 있기때문에 비용적인 측면에서 Open JDK도 좋다
JDK LTS버전은 장기간 기술 지원을 받을 수 있기 때문에 다른 버전보다는 안정적으로 사용할 수 있다.( JDK8, JDK11, JDK17 )
운영체제는 프로그램들이 실행하면서 사용할 수 있는 값들을 환경 변수 이름으로 관리한다. JDK를 설치하고 나면 프로그램들이 JDK를 이용할 수 있도록 JAVA_HOME 환경 변수를 생성하고, Path 환경변수를 수정하는 것이 좋다.


새로만들기 후에 최상단으로 올려준다.
이렇게 버전표시가 안된다면 경로설정이 잘못된것이다. 이상하다면 컴퓨터를 재시작해보자JDK를 설치했다면 이제 자바 언어로 작성한 소스 파일을 만들고 컴파일을할 수 있다. 자바 소스파일 확장명은 *.java다 텍스트파일이므로 어떤 텍스트 에디터에서도 작성이 가능하다( 메모장도 가능 )
class Hello{
public static void main(String[] args){
System.out.println("Hi Java");
}
}
자바언어로 소스파일을 작성해보았다.
명령 프롬포트로 실행 해주면 클래스 파일이 생성된다. 그리고 명령어가 실행이 된다.


바이트 코드파일 (*.class)을 특정 운영체제가 이해하는 기계어로 변역하고 실행시키는 명령어는 java이다 java 명령어는 JDK와 함께 설치된 자바 가상 머신을 구동시켜 바이트 코드 파일을 완전한 기계어로 번역하고 실행시킨다.
바이트코드
(Hello.class) -> 기계어 -> 실행
↑- java 명령어 -↑
(자바 가상 머신 구동)
바이트코드 파일은 운영체제와 상관없이 모두 동일한 내용으로 생성되지만, 자바 가상 머신은 운영체제에서 이해하는 기계어로 번역해야 하므로 운영체제별로 다르게 설치된다. 그래서 운영체제별로 JDK가 다르다.
package ch01.sec02;//바이트코드 파일이 위치할 패키지 선언
public class Hello{//Hello 클래스 선언
public static void main(String[] args){//main()메서드 선언
System.out.println("Hi, Java"); //콘솔에 출력하는 코드
}
}
//패키지 선언이라고 부른다. 소스 파일이 src/ch01/sec01 패키지에 있다는 뜻.
//컴파일 후 생성되는 바이트코드 파일도 bin/ch01/sec01패키지에 생성.
package ch01.sec01;
//클래스 선언
public class Hello { // { }는 클래스 블록이다.
//위의 Hello라는 클래스명 = 소스파일명 => Hello.java
}
// main() 메소드 선언
public static void main(String[] args){ // {}는 main 메소드 블룩
// main은 메소드명이다
}
System.out.print("Hi, Java"); //Console 뷰에 출력하는 코드
| 구분 | 주석 기호 | 설명 |
|---|---|---|
| 행 주석 | //... | //부터 행 끝까지 주석으로 처리한다. |
| 범위 주석 | /*...*/ | *와 */ 사이에 있는 내용은 모두 주석으로 처리한다. |
| 도큐먼트 주석 | /** ... */ | /**와 */ 사이에 있는 내용은 모두 주석으로 처리한다. javadoc 명령어로 API 도큐먼트를 생성하는 데 사용한다. |
주석 기호는 코드 내 어디서든 작성이 가능하지만, 문자열(" ") 내부에서 작성하면 안 된다. 문자열 내부에서 주석 기호는 주석문이 아니라 문자열 데이터로 인식하기 때문이다.
System.out.println("Hello, /*주석이 될 수 없음*/ Welcome to the java world!");
int x; // 변수 x 선언
x = 1; // 변수 x에 1 값을 저장
int y = 2; // 변수 y를 선언하고 2값을 저장
int result = x + y ; //변수 result를 선언하고 변수 x와 y를 더한 값을 저장
System.out.println(result); //콘솔에 변수의 값을 출력하는 println(); 메소드 호출
실행문 끝에는 반드시 세미콜론;을 붙여야한다 그렇지 않으면 컴파일 에러가 발생한다. 실행문을 여러 줄에 걸쳐서 작성하고 맨 마지막에 세미콜론을 붙여도 된다.
int result =
x + y;
또한 여러가지 실행문을 세미콜론으로 구분해서 한 줄로 작성 할 수도 있다.
int x = 1; int y = 2;