변수에 대한 기초는 따로 정리해놓은 변수관련 이론 바로가기를 참고하면 좋다.
굳이 외울 필요는 없지만 알고 있으면 분명 좋다. 추가적으로 궁금한 점이 발생할 수 있는데 그 부분은 변수, 상수, 리터럴 이론 바로가기 이 링크를 참고하면 좋다.
public class Var8 {
public static void main(String[] args) {
// 정수
byte b = 127; // -128 ~ 127 까지 저장 가능
short s = 32767; // -32,768 ~ 32,767 까지 저장 가능
int i = 2147483647; // -2,147,483,648 ~ 2,147,483,647 까지 저장 가능 (약 20억)
long l = 9223372036854775807L; // -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 까지 저장 가능
// 실수
float f = 10.0f;
double d = 10.0;
}
}
byte
표현 길이가 너무 작고 자바는 기본 4byte(int) 를 효율적으로 계산하도록 설계되어 있음
- byte 타입을 직접 선언하고 여기에 숫자 값을 대입해 계산하는 일은 거의 없음
- 대신 파일을 바이트 단위로 다루기 때문에 파일 전송 및 파일 복사 등에 주로 사용됨
short
표현 길이가 너무 작고 자바는 기본 4byte(int) 를 효율적으로 계산하도록 설계되어 있음
float
표현 길이와 정밀도가 낮다. 실수형은 double을 권장함
char
문자 하나를 표현하는 일은 거의 없다. 문자 하나를 표현할 때도 문자열을 사용할 수 있다.
- 예를 들어
String a = "a"
와 같이 사용하면 됨
메모리 용량은 매우 저렴하기에 메모리 용량을 약간 절약하기 보다는 개발 속도나 효율에 초점을 맞추는 편이 더 효과적이다.
정수 ( int, long )
자바는 정수에 기본으로
int
를 사용한다. 만약 20억이 넘을 것 같을 때에는long
을 쓰면 된다.
실수 ( double )
실수는 고민하지 말고
double
를 쓰면 된다.
불린 ( boolean )
true, false 참 거짓을 표현하고 이후 조건문에서 자주 사용된다.
문자열 ( String )
문자를 다룰 때에는 문자가 하나든 문자열이든 모두 String을 사용하는 것이 편리하다.
클래스 외의 나머지는 모두 소문자 및 Camel Case로 적용한다.
클래스
대문자로 시작 (Person, Happy HappyKirby 등)
변수를 포함한 나머지
소문자로 시작 (happyKirby, person 등)
상수
모두 대문자를 사용하고 언더바로 구분 (USER_LIMIT 등)
패키지
모두 소문자를 사용함 (org.spring.boot)
변수의 이름은 의미있고 그 용도를 명확하게 알 수 있도록 설명해야 함
public class OperatorAdd2 {
public static void main(String[] args) {
//전위 증감 연산자 사용 예
int a = 1;
int b = 0;
b = ++a; //a의 값을 먼저 증가시키고, 그 결과를 b에 대입
System.out.println("a = " + a + ", b = " + b);
//후위 증감 연산자 사용 예
a = 1; //a 값을 다시 1로 지정
b = 0; //b 값을 다시 0으로 지정
b = a++; //a의 현재 값을 b에 먼저 대입하고, 그 후 a 값을 증가시킴
System.out.println("a = " + a + ", b = " + b); //결과: a = 2, b = 1
}
}
비교 연산자에 대한 상세한 내용이 필요하다면 연산자 이론 바로가기를 확인하는 것이 좋다.
!= : 불일치 연산자
! : 반대 연산자
= : 대입 연산자
== : 동등한지 확인하는 연산자
문자열이 같은지 비교할 때는 ==
이 아니라 .equals()
메서드를 사용해야함