자바 데이터 타입, 변수 그리고 배열
Created:
자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익히기
프리미티브 타입 종류와 값의 범위 그리고 기본 값
프리미티브 타입이란 정수, 실수, 문자, 논리 리터럴을 직접 저장하는 타입을 말한다. 정수타입에는 byte, char, short, int, long이 있고, 실수타입에는 float, double이 있다. 그리고 논리타입에는 boolean이 있다.
타입 | 범위 | 기본값 |
---|---|---|
byte | -128 ~ 127 | 0 |
char | 0 ~ 65535 | \u0000 |
short | -32768 ~ 32767 | 0 |
int | -2147483648 ~ 2147483647 | 0 |
long | -9223372036854775808 ~ 9223372036854775807 | 0L |
float | 1.4E-45 ~ 3.4028235E38 | 0.0f |
double | 4.9-324 ~ 1.7976931348623157E308 | 0.0d |
boolean | true, false | false |
프리미티브 타입 레퍼런스 타입
프리미티브 타입
- 정수, 실수, 문자, 논리 리터럴을 저장하는 타입
- 실제값을 변수안에 저장
레퍼런스 타입
- 메모리의 번지를 값으로 갖음
리터럴
소스코드 내에서 직접 입력된 값을 리터럴이라 한다. 리터럴은 값의 종류에 따라 정수 리터럴, 실수 리터럴, 문자 리터럴, 논리 리터럴로 구분된다.
변수 선언 및 초기화하는 방법
변수선언
변수선언을 하기 위해서는 타입과 변수이름이 필요하다.
int number; // 정수(int)값을 저장할 수 있는 number변수 선언
double rating; // 실수(double)값을 저장할 수 있는 rating변수 선언
int a, b, c; // 정수 타입인 변수 a,b,c를 한꺼번에 선언
초기화
대입연산자(=)를 사용해서 초기화 할 수 있다.
변수 선언후 초기화
int number;
number = 123;
변수 선언함과 동시에 초기화
int number = 123;
변수의 스코프와 라이프타임
스코프와 라이프타임
변수종류 | 스코프 | 라이프타임 |
---|---|---|
인스턴스변수 | static 메서드를 제외한 선언된 클래스 내에서 유효 | 인스턴스가 소멸될때까지 |
클래스변수 | 선언된 클래스 내에서 유효 | 프로그램이 종료되기전까지 |
지역변수 | 선언된 블록 내에서 유효 | 선언된 블록을 떠날때까지 |
변수 선언위치
public class variable {
int iv; // 인스턴스 변수
static int cv; // 클래스 변수
void method() {
int iv; // 지역변수
}
}
타입 변환, 캐스팅 그리고 타입 프로모션
자동타입변환
작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장하는것으로 프로모션 이라고도 한다.
byte byteValue = 8;
int intValue = byteValue; // 자동타입변환 (프로모션)
강제타입변환
큰 데이터 타입을 작은 데이터 타입으로 쪼개어서 저장하는것으로 캐스팅이라고도 한다.
int intValue = 20200101;
byte byteValue = (byte) intValue; // 강제타입변환 (캐스팅)
1차 및 2차 배열 선언하기
1차배열 선언
두가지 형태로 작성가능하다.
int[] intArray;
int intArray[];
2차배열 선언
int[][] intArray;
타입 추론, var
var는 java10부터 추가된 것으로, 타입이 정해지지 않은 변수에 대해서 컴파일러가 변수의 타입을 스스로 찾아낼 수 있도록한다.
var name = "HelloWorld";
참고
https://frontierdev.tistory.com/78
https://league-cat.tistory.com/411
Comments