단 하나의 값을 저장할 수 있는 메모리상의 공간
int age = 25; // int : 변수타입, age : 변수이름, 초기화값 : 25
<필수사항>
1. 대소문자가 구분되며 길이의 제한이 없다.
2. 예약어(keyword)를 사용해서는 안 된다.
3. 숫자로 시작해서는 안 된다.
4. 특수문자는 '_'와 "$"만을 허용한다.
<권장사항>
1. 클래스 이름의 첫 글자는 항상 대문자로 사용한다.(변수와 메서드의 이름의 첫 글자는 소문자)
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어져 있으면 '_'로 구분한다.
자료형 | 저장 가능한 값의 범위 | 크기(byte) |
---|---|---|
boolean | false, true | 1 |
char | '\u0000'~'\uffff' (0~2^16-1, 0~65535) | 2 |
byte | -128 ~ 127 (~2^7~2^7-1) | 1 |
short | -32,768 ~ 32,767 (-2^15~2^15-1) | 2 |
int | -2,147,483,648 ~ 2,147,483,647 (-2^31~2^31-1, 약 +-20억) | 4 |
long | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807(-2^63~2^63-1) | 8 |
float | 1.4E-45 ~ 3.4E38 (1.4x10^-45~3.4x10^38) | 4 |
double | 4.9E-324 ~ 1.8E308 (4.9x10^-324~1.8x10^308) | 8 |
final int MAX_SPEED = 10;//final : 상수 선언 키워드, MAX_SPEED = 상수, 10 : 리터럴
리터럴에는 접미사가 존재하는데 정수형은 L, 실수형은 f(float type), d(double type)을 붙인다. 만역 실수형 리터럴인데 접미사가 없으면 double 형식이다.
char ch = 'J';
String name = "Java";
System.out.printf("age:%d", age);
지시자 | 설명 |
---|---|
%b | 불리언 형식으로 출력 |
%d | 10진 정수의 형식으로 출력 |
%o | 8진 정수의 형식으로 출력 |
%x, %X | 16진 정수의 형식으로 출력 |
%f | 부동 소수점의 형식으로 출력(기본 소숫점 6자리) |
%e, %E | 지수 표현식의 형식으로 출력 |
%c | 문자로 출력 |
%s | 문자열로 출력 |
Integer.toBinaryString(int i) : 십진수 정수 i를 이진수의 문자열 형태로 반환
import java.util.*; // Scanner클래스를 사용하기 위해 추가
Scanner scanner = new Scanner(System.in); // Scanner클래스의 객체를 생성
String input = scanner.nextLine(); // 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); // 입력받은 내용을 int 타입의 값으로 변환
컴퓨터는 2진수로 정보를 저장
1byte = 8bit
워드(word) : CPU가 한 번에 처리할 수 있는 데이터의 크기 ex) 64bit CPU에서 1word = 8byte
8진법 : 0~7로 표현
16진법 : 0~9, A, B, C, D, E, F로 표현
음수는 왼쪽의 첫 번째 비트(MSB)가 0이면 양수, 1이면 음수로 표현
n의 보수 : 더했을 때 n이 되는 수
2의 보수 구하는 법 : 1의 보수(2진수를 xor연산)을 한뒤 1을 더한다.
true, false 중 한가지 저장 가능. 기본값은 false
크기 : 1byte
char ch = 'A'; // char ch = 65; 와 같은 표현
단 하나의 문자만 저장 가능
but, 문자의 유니코드(정수) 형식으로 저장됨
크기 : 2byte
크기 : byte(1) < short(2) < int(4) < long(8)
정수형의 오버플로우 : 연산과정에서 해당 타입이 표현할 수 있는 값의 범위를 넘어서는 것을 의미 -> 오류는 나지 않지만 원하는 값을 표현할 수 없다.
타입 | 저장 가능한 값의 범위(양수) | 정밀도 | 크기(byte) |
---|---|---|---|
float | 1.4x10^-45~3.4x10^38 | 7자리 | 4 |
double | 4.9x10^-324~1.8x10^308 | 15자리 | 8 |
변수 또는 상수의 타입을 다른 타입으로 변환하는 것
(타입)피연산자