728x90
- 저장공간의 선언: 값의 타입과 이름을 명시
- 값의 저장(할당)
- 초기화: 선언과 동시에 저장
- 덮어쓰기: 선언 이후에 저장
변수의 종류
- 기본형 변수
- 논리형 변수: boolean - True/False
- 문자형 변수: char - 문자 하나
- 정수형 변수: byte, short, int, long - 숫자
- 정수형 표현 범위
- byte: -128 ~ 127
- short (2byte): -32,768 ~ 32,767
- int (4byte): -2,147,483,648 ~ 2,147,483,647
- long (8byte): 9백경
- 정수형 리터럴(데이터값) 구분값 접미사: long의 351245312L 등
- 정수형 표현 범위
- 실수형 변수: float, double - 소수점 실수값
- 실수형 표현 범위
- float (4byte): 3.4 * -10^38 ~ 3.4 * 10^38 (long보다 큼)
- 소수점 7자리까지
- double (8byte): 1.7 * -10^308 ~ 1.7 * 10^308
- 소수점 16자리까
- 부동 소수점 방식: 가수와 지수를 구분해서 저장하고 이 값들을 곱한 값을 저장
- float이 long보다 더 넓은 범위를 표현하기 때문에 자동 형변환이 안됨
- float (4byte): 3.4 * -10^38 ~ 3.4 * 10^38 (long보다 큼)
- 실수형 리터럴 구분값 접미사: float의 f
- 실수형 표현 범위
- 참조형 변수
- 문자열 변수: String - 문자열
- 그 외 Object, Array, List, ... - 객체, 배열, 리스트와 같은 단일 저장 공간에 담을 수 없는 값 저장
- 래퍼 클래스 변수: 기본형 변수를 클래스로 한 번 감싸는 변수
- 기본형 변수 타입명에서 첫글자를 대문자로 바꾸어서 래퍼 클래스를 정의
- 박싱 VS 언박싱
- 박싱: 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것
- 언박싱: 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것
// 박싱
// Integer 래퍼 클래스 num 에 21 의 값을 저장
int number = 21;
Integer num = number;
// 언박싱
int n = num.intValue(); // 래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공해줍니다.
- 숫자를 문자로 매핑하는 방법: Java에서는 기본적으로 아스키 코드
// 문자 -> 숫자
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char letter = sc.nextLine().charAt(0); // 첫번째 글자만 받아오기위해 charAt(0) 메서드를 사용합니다.
int asciiNumber = (int)letter; // 숫자로 형변환을 해주면 저장되어있던 아스키 숫자값으로 표현됩니다.
System.out.println(asciiNumber);
}
}
// 입력
a
// 출력
97
- 문자: 따옴표, 문자 뒤에 \0(널문자)가 없음, 2byte 사용
- 문자열: 쌍따옴표, 문장의 끝에 \0(널문자)가 함께 저장됨.
- 참조형 변수 = 주소형 변수: 참조형 변수는 원본값의 주소값을 저장
- 기본형 변수: 원본값이 Stack 영역에 있음
- 참조형 변수: 원본값이 Heap 영역에 있음. Stack 영역에는 따로 저장해둔 원본값의 Heap 영역 주소를 저장
- Stack: 정적으로 할당된 메모리 영역
- Heap: 동적으로 할당된 메모리 영역
입출력
- 입력: Scanner.in 객체의 next() 명령 사용
- 출력: System.out 객체의 println() 명령 사용
Scanner sc = new Scanner(System.in);
// Scanner 객체를 new 명령어로 생성합니다.
String input = sc.next();
// sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있습니다.
System.out.println("입력값 : " + input); // 입력한 글자를 출력합니다.
// 실행 결과
{입력}
입력값 : {입력}
비트와 바이트
- 1Byte = 8 Bits
- Bit: 0, 1 형태의 2진수 데이터로 컴퓨터가 저장할 수 있는 최소 단위
- 정수형 값은 10진수 숫자이며 2진수 Bit로 저장
- Byte: 1 byte 내에서 숫자 변수는 Bit 2진수를 10진수로 저장(0~255)
- 1 byte 내에서 문자 변수의 경우만 Bit 2진수를 16진수로 저장
형변환
- 변수를 다른 자료형으로 변환
- 정수 <-> 실수: (원하는 타입) 명령을 통해 변환 (캐스팅 = 강제 형변환)
- 실수 -> 정수: 소수점 아래 자리는 버려짐
- 자동 형변환
- 작은 크기의 타입에서 큰 크기의 타입으로 저장될 때
- 작은 크기의 타입이 큰 크기의 타입과 계산될 때
'[스파르타코딩클럽] > Java 문법 종합반' 카테고리의 다른 글
Chapter 6. 컬렉션 (0) | 2023.10.13 |
---|---|
Chapter 5. 배열 (0) | 2023.10.13 |
Chapter 4. 조건문, 반복문 (0) | 2023.10.13 |
Chapter 3. 연산자 (0) | 2023.10.13 |
Chapter 1. Java 소개, JVM, 첫 프로젝트 생성 (0) | 2023.10.12 |