잊기

[Java] 변수와 자료형 본문

Java

[Java] 변수와 자료형

잊기 2023. 4. 17. 11:55

상수 - 변하지 않는 값

함수 final 사용, 한계값( max / limite ) 값 등에 사용

상수명은 대문자를 사용, 카멜기법 사용이 불가하므로 띄어쓰기대신 _ 사용

변수 - 프로그램에서 사용하는 정보를 저장하는 공간

프로그래밍에서 값(data)을 사용하기 위해 선언하는 것

사용되기 전에 선언되어야 함

 

변수 선언

int level; //변수 선언

int lever = 0; //변수 선언과 동시에 0으로 초기화 (값 지정)

함수 - 명령을 보관하는 역할

입력값 (파라미터, 매개변수) , 출력값 (리턴값) 이 있음

리터럴 (literal) : 프로그램에서 사용하는 모든 숫자, 값, 논리값

자바의 함수 표기

리턴자료형 함수명 (파라미터자료형 파라미터){
	함수 동작
	리턴값
	}

*자바스크립트와 다르게 리턴자료형, 파라미터자료형을 표기

- 자료형 (8가지) - 숫자, 문자, 논리형(참/거짓) 을 표기

변수가 사용할 공간과 크기의 특성에 따라 자료형을 선택, 변수를 선언

컴퓨터는 1과 0으로 데이터를 저장하며

최소단위를 비트 (bit)라고 함

8bit = 1byte 로, 변수가 사용할 공간과 크기에 따라

자료형을 선택하여 사용

일반적으로 정수형은 int, 실수형(소수점표기)은 double이 대표

boolean 은 참/거짓으로 표현하는 논리형

char 는 1글자 "A" "가" 문자형이며

문자열(2글자 이상)은 자바에서 자체적으로 만들어둔 String 표기 사용

byte : 동영상, 음악 등의 파일의 자료 처리시 좋음

short : C / C# 등의 언어와 호환시 사용

 

int : 자바에서 사용하는 정수에 대한 기본 자료형

 

long : 가장 큰 정수 자료형 (32bite를 초과하는 숫자는 long형 사용

숫자 뒤에 000L <영문 L 을 기재하여 따로 표기

 

char : 문자자료형

- 인코딩 : 각 문자에 따른 특정한 숫자값을 부여 (컴퓨터가 저장)

- 디코딩 : 숫자값을 원래의 문자로 변환 (컴퓨터가 표기)

 

float / double : 실수 자료형 (소수점 표기)

무한의 실수를 표현하기 위한 '부동 소수점 방실'을 사용

기본적으로 double 자료형으로 처리하므로 float 표기시 숫자뒤에 000f < 기재

-부동 소수점 방식의 오류

넓은 범위의 수를 표현하기 위해 사용하는 부동소수점방식은

0을 표현할 수 없기 때문에, 결과값에 오차가 있음

 

boolean : 논리형 (참/거짓)을 표현

- 형변환

자료형 : 각각 사용하는 메모리의 크기와 방식이 다르므로

다른 값의 자료형을 대입할 때 형변환 이 일어남

 

- 묵시적 형변환 : 작은 수에서 큰 수로, 더 정밀한 수로 자동 형변환

byte -> short -> int -> long -> float -> double

---------------> 레벨이 높음 --------------->

long이 float보다 저장공간이 크지만

float는 소수점을 표현하는 더 정밀한 수이기 때문에 '레벨이 높다'

 

- 명시적 형변환 : 묵시적 형변환의 반대 경우

(레벨이 높은 자료형 -> 낮은 자료형으로 변환시 직접 명시하여 변환해야 함)

변환되는 자료명을 직접 명시해야하며 자료손실 가능성이 있음

double dNum= 3.14;

int num = (int)dNum; -> int 표기시 소수점 이하 자료가 손실됨

연산자와 형변환 사용

- 문자열 연산 : 연결 연산자 + 사용

문자열 + 숫자, 문자열 + boolean 의 경우 숫자/불린이 문자열로 바뀜

문자열 사이에 특수문자를 사용할 때는 '이스케이프문자'를 사용

- 숫자 연산

덧셈 + 뺄셈 - 곱셈 * 나눗셈 / 나머지 %

->나머지 % 는 몫이 아닌 나머지만 표기

 

'Java' 카테고리의 다른 글

[Java] 객체지향 프로그래밍의 성격과 정의  (0) 2023.04.21
[Java] 반복문 ( while , for )  (0) 2023.04.20
[Java] 조건문 ( if문 , switch문 )  (0) 2023.04.19
[Java] 항과 연산자  (0) 2023.04.18
Java , Eclipse 설치, 환경설정  (0) 2023.04.16