coding_yoon
냥집사의 개발노트
coding_yoon
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • 📚Programming (16)
      • Java (10)
      • Spring (0)
      • Spring Boot (0)
      • JPA (0)
      • Python (4)
      • 개발 환경설정 (2)
    • 📌ETC (8)
      • Tech Interview (8)

블로그 메뉴

  • 💻깃허브
  • 방명록
  • 태그 클라우드

공지사항

인기 글

태그

  • 자바기술면접
  • STS 프로젝트받기
  • 기술면접
  • 사용자입력 exception
  • 자바random
  • 자바기초
  • import문 사용방법
  • 자바신입
  • 현업프로젝트 내려받기
  • 인테리제이
  • 자바연산자
  • springbootdevtools
  • html컴파일없이
  • 자바이론
  • 자바자료형
  • 신입개발자면접
  • 이클립스 프로젝트생성
  • scanner메소드
  • 자바상수
  • 프로젝트 임포트
  • 코드작성순서
  • 신입개발면접
  • 출력메소드
  • 개발자면접정리
  • 파이썬이론
  • 이클립스 프로젝트 import
  • 이클립스기초
  • 면접정리
  • sql이론
  • 자바의특징

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
coding_yoon

냥집사의 개발노트

📚Programming/Java

[자바] 변수

2022. 9. 16. 11:32
\

#1️⃣ 변수 (Variable)

  • 메모리 공간(RAM)에 한 개의 값을 기록하기 위한 장소(공간)
  • 프로그래밍에서 값(Data)를 사용하기 위해 선언하는 것을 변수라 한다.
    ex) 사람의 나이는 해가 바뀌면 변한다, 게임을 하면 게임 레벨이 점점 올라간다.
  • 프로그램에서 사용되는 자료를 저장하기 위한 공간
  • 할당 받은 메모리의 주소 대신 부르는 이름
  • 프로그램 실행 중에 값 변경 가능
  • 사용되기 이전에 선언 되어야 한다.

#2️⃣ 변수의 선언과 초기화

int level; // level 이라는 이름의 변수 선언
int level = 20; // level 변수 선언과 동시에 20으로 초기화

int level;
level = 10;

int의 역할 : level 변수의 데이터 타입을 정의
int의 의미 : level은 정수이며 4바이트의 메모리 공간을 사용한다.

#3️⃣ 변수 선언 시 유의점

  • 변수의 이름은 알파벳, 숫자, _, $로 구성된다.
  • 대소문자를 구분되며 길이 제한이 없다.
  • 변수의 이름은 숫자로 시작할 수 없다.
  • 이름 사이에 공백이 있을 수 없다.
  • 자바에서 이미 사용 중인 예약어는 사용할 수 없다.
  • 카멜 표기법(camel notation)을 사용합니다. → 여러 단어 이름은 단어의 첫 글자를 대문자로
  • 한글입력 가능하다.
  • 변수의 이름을 정할 때는 변수의 역할에 어울리는, 의미 있는 이름을 지어야 한다.

💡 변수 길이에 제한이 없으므로 줄임말보다는 의미를 풀어서 쓰는 것이 프로그램을 작성하고 이해하는데 편리합니다.
ex) 학생수 → numberOfStudent


#4️⃣ 변수의 자료형

  정수형 문자형  실수형 논리형
1바이트 byte     boolean
2바이트 short char    
4바이트 int   float  
8바이트 long   double  
  • 변수가 사용할 공간의 크기와 특성에 따라 자료형을 사용하여 변수를 선언한다. ex) int num;

 

4 - 1. byte형 ( -128 ~ 127 )

  • 1바이트 단위의 자료형
  • 동영상, 음악 파일등 실행 파일의 자료를 처리 할 때 사용하기 좋은 자료형
public class ByteVariable {
	public static void main(String[] args) {
			byte bs1 = -125;
			byte bs2 = 128; //에러 	
	}
}
// byte 자료형 변수에 값 128을 대입하면 오류가 난다.

 

4 - 2. int형

  • 자바에서 사용하는 정수에 대한 기본 자료형
  • 4바이트 단위의 자료형
  • 프로그램에서 사용하는 모든 숫자(리터럴)은 기본적으로 int(4바이트)로 저장됨
  • 32비트를 초과하는 숫자는 long형으로 처리해야함

 

4 - 3. long형

  • 8바이트 자료형
  • 가장 큰 정수 자료형
  • 숫자 뒤에 L또는 l을 써서 long형임을 표시해야함
int num = 12345678900; // 에러 -> int의 범위 넘은 값 대입
long num = 12345678900; //에러 -> 숫자 뒤에 L이 없어서
// 숫자(리터럴)123456900은 기본형이 int인데 int의 범위가 넘는 수
// => 숫자(리터럴) 12345678900을 long으로 처리하도록 명시

long num = 12345678900L; // OK 소문자 l과 1은 구분하기 어려워서 대문자로 사용하는걸 권장

 

4 - 4. char 문자 자료형

  • 컴퓨터에서는 문자도 내부적으로는 비트의 조합으로 표현
  • 자바에서는 문자를 2바이트로 처리
  • 인코딩 - 각 문자에 따른 특정한 숫자 값(코드 값)을 부여
  • 디코딩 - 숫자 값을 원래의 문자로 변환

 

4 - 5. 문자 세트 (유니코드)

  • 문자를 위한 코드 값(숫자 값)들을 정해 놓은 세트
  • 아스키 (ASCII) : 1바이트로 영문자, 숫자, 특수문자 등을 표현함
  • 유니코드 (Unicode) : 한글과 같은 복잡한 언어를 표현하기 위한 표준 인코딩 UTF-8, UTF-16이 대표적 링크참고
  • 문자를 변수에 저장하면? 문자에 해당하는 코드 값이 저장됨
  • 자바는 유니코드 UTF-16 인코딩 사용함

 

4 - 6. float, double  - 실수 자료형

  • 부동 소수점 방식 : 실수를 지수부와 가수부로 표현함, 무한의 실수를 표현하기 위한 방식
  • 실수 자료형 float(4바이트) double(8바이트)
  • 실수 자료형은 기본타입이 double 이기 때문에 float사용시 숫자 뒤에 f나 F를 써준다.
double dnum = 3.14;
float fnum = 3.14F; // 숫자 뒤에 식별자 F,f을 입력해줘야한다.

 

4 - 7. boolean - 논리형

  • 논리값 true (참), false (거짓) 을 표현하는 자료형
  • boolean으로 선언
public class BooleanEx{
	public void static main (String[] args) {
		boolean isMarried = true; //boolean 변수를 선언하고 초기화
		System.out.println(isMarried);
	}
}
// 참인지 거짓인지

 

4 - 8. 자료형 없이 변수 사용하기 (java10)

  • 자료형이 필요한 이유 : 변수를 선언 할 때는 변수가 사용할 메모리 크기와 타입을 구분하기 위해 자료형을 사용
  • 지역 변수 자료형 추론 (local variable type inference) : 변수에 대입되는 값을 보고 컴파일러가 추론
  • var 를 사용하여 변수를 선언하는 방법은 자바스크립트 같은 다른 프로그래밍 언어에서 이미 사용중이다.

💡주의
1. 한번 선언한 자료형 변수를 다른 자료형으로 사용불가
2. var로 자료형 없이 변수를 선언하는 방법은 ‘지역 변수’만 가능하다.

저작자표시 비영리 변경금지 (새창열림)

'📚Programming > Java' 카테고리의 다른 글

[자바] 출력메소드  (1) 2022.09.16
[자바] 형변환  (0) 2022.09.16
[자바] 상수와 리터럴  (0) 2022.09.16
[이클립스] JAVA 프로그래밍 순서  (1) 2022.09.16
[자바] 프로그래밍이란?  (0) 2022.09.16
    '📚Programming/Java' 카테고리의 다른 글
    • [자바] 형변환
    • [자바] 상수와 리터럴
    • [이클립스] JAVA 프로그래밍 순서
    • [자바] 프로그래밍이란?
    coding_yoon
    coding_yoon
    코딩공부를 하며 작성하는 노트

    티스토리툴바