Kim-Baek 개발자 이야기

자바 기본 (3) - 변수 및 자료형 본문

개발/java basic

자바 기본 (3) - 변수 및 자료형

김백개발자 2020. 9. 20. 11:00
예전에 자바를 처음 공부하던 때, 네이버 블로그에 정리한 내용을 이제 티스토리로 옮기고자 한다.

 

◎소스코드를 짤 때 편하게 해주는 툴

가장 기본적으로 사용이 가능한 것(메모자) -> Editplus -> Eclipse(IDE-통합개발환경)

- Editplus 의 경우 한국 사람이 만든 툴이다

 

◎Editplus 의 사용 설정'

-Editplus 를 사용하기 위해서는 자바의 컴파일러(javac.exe)와 인터프리터(java.exe)를 등록을 하자

도구 -> 사용자 도구 -> 추가 -> 프로그램의 경로에서

메뉴 제목 : 프로그램의 이름을 지정하자

명령 : 실행을 시킬 파일 등록

인수 : 추가한 프로그램에게 전달시킬 파일의 경로를 지정

※javac.exe의 경우 파일의 이름을 그대로 넘기기 때문에 파일 이름을 체크, jave.exe 는 확장자를 빼고 들어가는 것을 체크해야 한다.

디렉토리 : 파일 디렉토리 선택

동작 : javac.exe 는 출력 내용 캡처 선택 (창을 띄우지 않고 프로그램 내부의 콘솔에만 띄우는 명령)

java.exe 는 동작 체크 없음

 

-사용자의 편의를 위한 설정

  보기 -> 도구모음 창 -> 사용자 도구모음 체크
메뉴 바가 새로 생긴다. 우리가 등록한 프로그램을 실행하는 아이콘들이 나타난다. ctrl + 1 .. 키가 단축키로 사용된다.

 

보기 -> 괄호 강조 체크 (여는 괄호와 닫는 괄호를 포커스 해주는 기능) -> 편의성을 위해 사용한다.

 

도구 -> 기본 설정 -> 파일 -> 저상시 백업 파일 생성 해제 -> 해제하지 않으면 자료 저장시 계속 백업파일이 생성된다.

 

◎상수와 리터럴

상수 : 값이 초기화되면 변경이 되지 않는 저장공간을 의미한다. -> 조회만 가능하다 

상수의 경우 선언 자체가 다르다. ->  final DataType 변수명 ex) final int a;

리터럴 : 값 그 자체를 의미한다. 값의 경우 Primitive Datatype 값(숫자, 문자, 논리값)과 문자열로 구분된다.

※상수 명명 관례 -> 상수는 대문자만 사용한다. 만약 상수에서 단어와 단어가 합쳐지는 경우에는 일반적인 변수가 camel 표기법으로 구분하는 것과 다르게 _ 로 구분한다.

 

◎컴퓨터 데이터의 크기

컴퓨터에서 1 bit 는 0과 1 둘 중 하나를 저장할 수 있는 데이터 크기를 의미한다.

8 bit 의 경우 1 byte 가 되는데 1 byte 가 Data 처리의 기본 단위이다. 

※O.S 의 처리 단위는 32 bit , 64 bit 로 나뉘는데 이를 word 라고 한다.

 

◎Data Type  의 종류

- 기본형 Data Type (primitive) - Java 언어 차원에서 지정한 DataType

- 참조형 Data Type (Reference) - 사용자 정의 Data Type (객체)

 

◎기본형 DataType 의 종류

- 숫자

정수형 4가지, 실수형 2가지

- 문자

1가지

-논리

1가지

 

◎기본형 Data Type 의 크기

-정수형

byte : -2^7 ~ 2^7 -1 까지를 저장한다 8bit(1byte) 

short : -2^15 ~ 2^15 -1 까지를 저정한다 16bit(2byte)

int : -2^31 ~ 2^31-1 까지를 저장한다. 32bit(4byte) - 정수의 기본형이 된다.

long : -2^63 ~ 2^63-1 까지를 저장한다. 64bit(8byte) - long 의 값은 값 뒤에 L or l 을 붙여서 표기한다  ex) 5000000000000L

※8bit를 저장하는 공간에서 맨 처음 bit 는 부호를 저장하는 bit 로 사용된다. (0 은 양수 1 은 음수를 의미하게 된다.)

 

​※8진수와 16진수의 표현

16진수 : 0X값    ex) int A = 0XFF

8진수 : 0값   ex) int A = 07

-실수형

float - 4byte : 소숫점 이하 7자리 - 값 표시 : float 의 값은 값 뒤에 F of f 를 붙여서 표기한다.

double - 8byte : 소숫점 이하 8자리 15자리 - 실수의 기본형 -> 값 뒤에 D or d 를 붙여도 상관은 없다.

3.5 는 기본적으로 double 이다.

​ex) 3d -> 3.0  ,  5f -> 5.0f

※ 573.24 * 10^23 -> 573.24 * E or e 23

 

-문자형(char) : 1글자 - unicode -> 2byte

문자형의 경우 0,1 로 변환(표현)이 불가능 하기 때문에 약속을 통해 나타내야 한다.

값의 경우 ' ' 로 감싸서 나타낸다.

 

​※인코딩 및 디코딩

인코딩 : 글자를 코드값으로 바꾸는 것

디코딩 : 코드값을 글자로 바꾸는 것

◎escape 문자의 표현

escape 문자는 문자인데 화면에 표시가 잘 안되는 것을 나타내는 문자이다.

/ 를 통해 표기를 한다

ex) enter : '/n'

\ : '\\'

 

​-String : 문자열 type(retercence DataType) - 0글자 이상을 나타내야 한다.

값의 표기는 "값" 으로 나타낸다

ex) String s : "원숭이";

 

String 값 + String 값 -> 더하기가 아니라 값을 연결한다.

ex) "가나다" + "abc" = "가나다abc";

String 값 + 다른 type 

1. 다른 type 을 String 으로 변환한다.

2. 붙인다.

ex) "가격" + 3000 = "가격3000"; -> int 에서 "3000" 으로 변환된다.

 

-논리형 : boolen : true of false -> 제어문에서 많이 사용된다.

ex) boolean b = true;

※ 자바는 0, 1 과 같은 다른 값을 boolean 으로 사용이 불가능하다

 

◎형 변환(Type Casting)

20 + 20L(int 와 long 의 연산) -> 둘 중에 하나를 캐스팅해야 하는데 큰 타입을 작은 타입으로 변환하면 데이터가 깨질 수 있어서 작은 것을 큰 타입으로 캐스팅해야 한다.

-> 20을 20L 로 변환하게 됨

ex) long l = 30; -> 30을 30L로 변환 ※값은 변환이 된다.

int i= 30L 은 안된다 -> 변수는 변환이 되지 않는다. -> 이럴 경우에는 강제 형변환이 필요하다 -> int i = (int)30L ;

 

※ Type Casting 이 자동으로 처리되는 경우 (Compiler)

- 작은 type 을 큰 type 으로 변환할 때(up casting)

※ Type Casting 이 강제적으로 해야하는 경우(src 에서 처리) - 대입연산에서 사용

- 큰 type 을 작은 type으로 변환할 때(down casting) - (변환할 type) 값

 

※기본형의 크기에 따른 변환

byte < shor,char < int < long < float < doulbe   (boolean 은 안된다.)

 

 

반응형

'개발 > java basic' 카테고리의 다른 글

자바 기본 (6) - 입출력, 배열  (0) 2020.09.27
자바 기본 (5) - 시험, 조건문, 반복문  (0) 2020.09.26
자바 기본 (4) - 조건문, 제어문  (0) 2020.09.25
자바 기본 (2) - 역사  (0) 2020.09.20
자바 기본 (1) - 설정  (0) 2020.09.20
Comments