본문 바로가기

Java

[Java] 변수

변수 명명규칙

  • 대소문자가 구분되며 길이에 제한이 없다.
  • 예약어는 사용할 수 없다.
  • 숫자로 시작할 수 없다.
  • 특수문자는 '_'와 '$'만을 허용한다.

예약어

 abstract

 default

 if

 package

 this

 assert

 do

 goto

 private

 throw

 boolean

 double

 implements

 protected

 throws

 break

 else

 import

 public

 transient

 byte

 enum

 instanceof

 return

 true

 case

 extends

 int

 short

 try

 catch

 false

 interface

 static

 void

 char

 final

 long

 strictfp

 volatile

 class

 finally

 native

 super

 while

 const

 float 

 new

 switch

 

 continue

 for

 null

 synchronized

 



그 외 규칙

  • 클래스 이름의 첫 글자는 항상 대문자로 한다.
  • 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.
  • 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
  • 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.


기본형 변수

계산을 위한 실제 값을 저장한다.

논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)

char는 문자를 내부적으로 정수(유니코드)로 저장하기 때문에 정수형과 별반 다르지 않으며, 정수형 또는 실수형과 연산도 가능하다.

boolean은 다른 기본형과의 연산이 불가능하다.

 

 1 byte

 2 byte 

 4 byte 

 8 byte

 논리형

 boolean

 

 

 

 문자형

 

 char

 

 

 정수형

 byte

 short

 int

 long

 실수형

 

 

 float

 double



참조형 변수

객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입이 해당된다.



상수

변수와 마찬가지로 값을 저장할 수 있는 공간을 의미하지만, 변수와 달리 한 번 값을 저장하면 다른 값으로 변경할 수 없다.

변수의 타입 앞에 키워드 'final'을 붙여주면 된다. 

상수는 선언과 동시에 초기화해야 하며, 상수의 값을 변경하는 것은 허용되지 않는다.

상수의 이름은 모두 대문자로 해야 하며, 여러 단어로 이루어진 경우 '_'로 구분한다.



변수 vs 상수 vs 리터럴

변수(Variable) - 하나의 값을 저장하기 위한 공간

상수(Constant) - 값을 한 번만 저장할 수 있는 공간

리터럴(Literal) - 그 자체로 값을 의미하는 것



형변환

기본형에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능하다.

기본형과 참조형간의 형변환은 불가능하다.

- 자동 형변환

기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환한다.

표현범위가 좁은 타입에서 넓은 타입으로 형변환하는 경우에는 값 손실이 없으므로 두 타입 중에서 표현범위가 더 넓은 쪽으로 형변환된다.

아래 그림에서 화살표 방향으로의 변환은 자동 형변환이 가능하며, 반대 방향으로의 변환은 반드시 형변환 연산자를 써줘야 한다.


'Java' 카테고리의 다른 글

[Java] 클래스, 객체  (0) 2018.12.30
[Java] 배열  (0) 2018.12.30
[Java] Java 개요  (0) 2018.12.30
[JAVA] Eclipse & Java Code Conventions  (0) 2018.11.20
[JAVA] JVM, JRE, JDK  (0) 2018.11.18