
- 자바
자바는 특정 운영체제에 종속적이지 않기 때문에 한 번의 개발로 다양한 서버 운영체제에서 동작할 수 있는 장점을 가지고 있다.
JDK에 있는 JVM(Java Virtual Machine)이라는 방식을 두고 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나온다.
JVM은 여러 운영체제에서 동일한 실행 결과가 나오도록 설계되어있다.
- 자바 프로그램의 실행과정
Java 언어로 작성한 소스코드를 자바 컴파일러 (javac.exe)을 통해 자바 바이트 코드로 변환해준다. 이를 JVM을 통해 실행된다.
- 자바의 소스코드
파일명과 class명은 동일해야 한다.
대소문자가 명확히 구별되어야 한다.
문장의 끝은 ;(세미콜론)을 붙여야 한다.
- 문장의 출력
System.out.print(); // 한 줄에 값을 출력한다. 줄바꿈 없음
System.out.println(); // 한 줄에 값을 출력하고, 줄바꿈을 한다.
- 주석문
// | //부터 라인 끝까지 주석으로 처리한다. |
/* 내용 */ | /*와 *./ 사이의 내용을 주석으로 처리한다. |
/** */ |
자바 클래스나 인터페이스, 생성자, 메서드 등을 설명할 때 사용한다. |
- 변수 (Variable)
하나의 값을 저장할 수 있는 메모리 공간을 의미한다.
※ 여기서, 자바의 메모리 공간 중 Heap과 Stack이 있다.
Stack은 중괄호 안에 들어가는 모든 내용이 이 부분으로 저장되며, 기본적으로 저장되는 공간을 의미한다.
Heap은 여러 개의 데이터 혹은 문자를 저장할 때 사용되는 영역을 의미한다.
- 변수의 데이터 타입
정수 | byte(1byte, -128 ~ 127) short (2byte, -32768 ~ 32767) int (4byte, 약 -21억 ~ 약 21억) long (8byte) |
실수 | float (4byte) double (8byte) |
문자 | char (2byte) |
논리 | boolean (1byte -> true, false) |
볼드체로 표시된 부분이 자바의 기본 데이터 타입이다.
- 변수의 선언 방법
데이터 타입 변수 이름;
- 변수의 초기화
데이터 타입 변수 이름;
변수 이름 = 값;
- 변수의 선언 및 초기화
데이터 타입 변수 이름 = 값;
- 변수의 재대입
int a = 10;
System.out.println(a); // 10
a = 5;
System.out.println(a); // 5
변수로 실습하기!
1. 정수형 사용해보기
int var1; // 변수의 선언
var1 = 10; // 변수의 초기화
System.out.println(var1);
int var2 = 20; // 변수의 선언 및 초기화
System.out.println(var2);
long var3 = 10000000000L;
System.out.println(var3);
여기서 var3에 "L"을 붙인 이유는 자바에서 정수의 기본형은 int이기 때문에, 숫자를 모두 int로 받아들이고 int에 값을 저장한다. 따라서 var3의 값 "10000000000"은 int에 넣을 수 있는 byte에 넘치기 때문에 오류가 발생하고 이를 long타입에 넣어주어야 되기 때문에 자바에게 L을 붙여 long타입에 저장할 수 있도록 해주는 것이다.
2. 실수형 사용해보기
float var1 = 123.456F;
double var2 = 123.456;
System.out.println(var1);
System.out.println(var2);
float var1도 위의 long타입과 같은 이유로 F을 붙여준다.
3. 문자형 사용해보기
char var1 = 'A';
char var2 = '가';
// char var3 = 'AB';
char var3 = 100;
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
자바는 유니코드를 사용하기 때문에 모든 문자가 2byte이다. 따라서 'AB'을 넣으면 2byte을 초과하기 때문에 오류가 발생한다.
var3에 숫자를 대입한 경우에 d로 출력되는 경우는 100에 대응되는 유니코드가 출력되는 것이다.
'국비 > JAVA' 카테고리의 다른 글
DAY 05 : 메소드, 객체지향 프로그래밍, 클래스, 생성자 (0) | 2022.10.04 |
---|---|
DAY 04 : 2차원 배열, 향상된 for문, String클래스 (1) | 2022.10.03 |
DAY 03 : 반복문, 중첩 반복문, 배열 (0) | 2022.10.03 |
DAY 02 : 타입 변환, Scanner, String 클래스, 제어문 (0) | 2022.09.28 |
DAY 01 : 연산자 (0) | 2022.09.28 |