[JAVA]자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다.

LeeSeungHwan dev·2020년 11월 21일
0

-프리미티브 타입 종류와 값의 범위 그리고 기본 값

프리미티브 타입

기본형타입으로 총 8가지의 기본형 타입을 제공한다.

크게 논리형, 정수형,실수형, 문자형으로 나뉘고

논리형은 boolean

정수형은 byte, short,int,long

실수형은 float,double

문자형은 char 이다

boolean 의 기본값은 false이며 데이터의 값의 범위는 true,false이다.

byte의 기본값은 0이며 데이터의 값의 범위는 -128~127 까지이다.

short의 기본값은 0이며 데이터의 값의 범위는 -32,768~32,767 까지이다.

int의 기본값은 0이며 데이터의 값의 범위는 -2,147,483,648~2,147,483,647 까지이다.

long의 기본값은 0이며 데이터의 값의 범위는 -9,223,372,036,854,775,808~9,223,372,036,854,775,807 까지이다.

float 의 기본값은 0.0 F 이며 데이터의 값의 범위는 1.4E-45~3.4E38((1.4 X 10-45) ~ (3.4 X 1038)까지이다.

double의 기본값은0.0 이며 데이터의 값의 범위는 4.9E-324~1.8E308(4.9 X 10-324) ~ (1.8 X 10308) 까지이다.

char의 기본값은 '\u0000'이며 데이터의 값의 범위는 0 ~ 65,535까지이다.

-프리미티브 타입과 레퍼런스 타입

프리미티브 타입은 숫자,불린,null,undefinde,문자열 5가지가 존재한다.

레퍼런스 타입은 객체,배열,함수가 있다.

프리미티브 타입의 데이터는 변수에 할당 될때 메모리 상에 고정된 크기로 저장되며

해당변수가 원시 데이터 값을 보관한다.

레퍼런스 타입은 의 자료형은 모두 변수 선언, 초기화, 할당시 값이 저장된 메모리 영역에 직접적으로 접근하여 변수에 새값이 할당될때 변수에 할당된 메모리 블럭에 저장된 값을 바로 변경한다.

-리터럴

리터럴이란 값을 한번 저장하면 변경 할수 없는 저장 공간을 일컫는 상수의 다른말.

리터럴에도 타입이 있다.

리터럴의 종류에는 논리형, 정수형,실수형,문자형, 문자열로 나눌수있고

논리형에는 true,false이고 접미사는 없다.

정수형에는 123,0b0101,077,0XFF,100L 이고 접미사는 Long타입의 경우에는 L이다 .

실수형에는 3.14,2.0e8,1.5f,0x1,0P-1이고 float타입 일경우f ,double 타입d 이다

문자형에는 'A','5''\n'이고 접미사는 없다.

문자열에는 "ABC","123","A"이고 접미사는 없다.

논리형
-변수 선언 및 초기화하는 방법

변수 선언하는 방법은 먼저 변수의 타입 변수이름 형태로 쓴다.

(ex) int age ;

변수 타입은 변수에 저장될 값이 어떤 타입인지 지정하는것이다.

변수 이름은 말 그대로 변수에 붙인 이름이다.

변수는 값을 저장할수 있는 메모리 공간 이므로 변수의 이름은 메모리 공간에 이름을 붙여주는것이다.

변수의 초기화

변수의 초기화는 변수를 사용 하기 전에 처음으로 값을 저장하는 것으로 변수에 값을 저장해야한다.

(ex) int age=25;

이렇게 하면 변수age를 선언하고 25로 초기화 한다.

프리미티브 타입의 변수의 초기화는 int age=25;

레퍼런스 타입의 변수의 초기화는 Engine e = new Engine;

변수를 선언함과 동시에 초기화한다.

-변수의 스코프와 라이프타임

변수의 스코프

프로그램상에서 사용되는 변수들은 사용 가능한 범위를 가진다. 그 범위를 변수의 스코프라고 한다.

변수의 종류 는 클래스 변수 , 인스턴스 변수, 로컬변수이며

스코프는 클래스 변수의 스코프는 클래스 전체, 인스턴스의 변수는 static블록과 static메서드를 제외한 클래스 전체, 로컬변수는 변수가 선언된 블록 내부이다.

라이프 사이클은 클래스 변수는 클래스가 메모리에 올라간후 프로그램이 끝날때까지,

인스턴스 변수는 인스턴스가 생성 후 메모리에 살아있을때 까지,

로컬 변수는 변수 선언 후 블록을 벗어 날때 까지 이다.

-타입 변환, 캐스팅 그리고 타입 프로모션

타입 변환이란 변수나 리터럴 타입을 다른 타입으로 변환 시키는것을 말한다.

자동 타입변환 (묵시적)과 강제 타입변환(명시적 ) 두 종류의 타입 변환이 있는데

자동 타입변환은 작은크기의 타입이 큰 크기를 가지는 타입에 저장될때 발생한다.

강자 타입 변환 (캐스팅)

캐스팅이라고 하며 큰크기 타입은 작은 타입으로 자통 타입 변환을 할수가 없다.

강제로 int 타입의 1바이트를 잘라서 타이트 타입 변수에 저장 할수 있다.

-타입프로모션

타입캐스팅과 반대로 크기가 더 작은 자료형을 더 큰 자료형에 대입하는 것을 의미한다.

-1차 및 2차 배열 선언하기

배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는것 이다.

1차배열선언

타입[] 변수이름; //배열을 선언(배열을 다루기 위한 참조변수 선언)

변수이름 = new 타입[길이]; //배열을 생성 (실제 저장공간을 생성)

ex)int[] score;

score= new int [5];

2차원 배열 선언

배열의 배열을 의미한다.

ex)int [][] array4= new int[3][4]

타입 추론, var

-타입추론

타입 추론이란 타입이 정해지지 않은 변수의 타입을 컴파일러가 유추하는 기능이다.

-var

자바10 이전에는 자바 변수에 타입을 명시 했어야 했지만, 자바10부터 추가된 var은 선언된 변수의 타입을 컴파일러가 추론하여 사용 가능하다.

참조

자바의 정석

https://gbsb.tistory.com/6

https://weicomes.tistory.com/133

profile
생각하는 개발자가 되자!

0개의 댓글