변수 선언
변수에 저장할 데이터의 타입과 이름을 결정하는 것
자료형 변수이름;
//사용 예시
int age;
float avr;
int a, b, c; //여러개를 한번에 선언 가능
변수 이름 작성 규칙
- 첫 글자는 문자이거나, $, _ 이어야 한다. 숫자로 시작할 수 없다
- 대소문자를 구분한다
- 첫 문자는 소문자로 작성하되, 다음 단어부터는 첫 글자를 대문자로 작성한다
- 문자수의 길이가 없다
- 자바 예약어는 사용할 수 없다
값 저장 방법
대입 연산자(=)를 사용하여 변수에 값을 대입
변수를 사용하기 전 반드시 초기화
변수 사용 범위
로컬 변수
메소드 블록 내에서 선언된 변수로 메소드 블록 내부에서만 사용 가능하다
자바에서 변수는 어디에서든 선언할 수 있지만 변수가 속한 블록 안에서만 사용 가능하다
public class Example {
public static void main (String[] args) {
int a = 10; // 로컬 변수
int b; // 로컬 변수
}
}
기본 타입
정수, 실수, 논리 값을 저장할 수 있는 타입
자바에서 제공하는 기본 타입은 8개
byte, charm short, int, long
float, double
boolean
타입 변환
데이터의 타입을 다른 데이터 타입으로 변환하는 것
자동 타입 변환
자동으로 타입이 바뀌는 것 (프로그램 실행 도중에 자동으로 변환)
값의 허용 범위가 작은 타입 -> 값이 허용 범위가 큰 타입
기본 자료형의 크기 비교
byte < short < int < long < float < double
byte a = 10;
int intValue = a; //a가 byte 자료형에서 int 자료형으로 변환됨
정수 타입이 실수 타입으로 저장될 때에는 무조건 자동 타입 변환이 이루어짐
byte는 char로 자동 변환될 수 없다 (char는 음수를 포함하지 않기 때문)
강제 타입 변환
큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 저장하는 것
작은_허용_범위_타입 = (작은_허용_범위_타입) 큰_허용_범위_타입;
int a = 10;
byte b = (byte) a; //a를 강제로 byte로 저장
int 타입은 char 타입으로 자동 변환되지 않아서 캐스팅 연산자를 사용해서 강제로 변환해야 함
(문자를 출력할 때 사용)
실수 -> 정수 강제 변환하면 소수점 이하 부분은 버려지고 정수 부분만 저장됨
정수 타입 변수가 산술 연산에서 피연산자로 사용되면 byte, short 타입은 자동으로 int 형으로 바뀌어 연산됨
-> 처음부터 int 타입으로 선언하면 타입 변환을 줄일 수 있다 (실행 성능 향상)
그렇지만 모든 변수가 int 형으로 변환되는 것은 아님
두 연산자 중 허용범위가 큰 타입으로 변환된다
실수 연산에서도 동일하게 자동으로 타입 변환이 이루어진다
+ 연산에서의 문자열 자동 타입 변환
자바의 + 연산자의 2가지 기능
- 피연산자가 모두 숫자이면 덧셈 연산 수행
- 피연산자 중 하나가 문자열일 경우 나머지 피연산자도 문자열로 자동 변환한 후 문자열 결합 연산 수행
int res = 1 + 2; // res = 3
String str = "1" + 2; // str = 12, 2가 string 으로 자동 변환됨
연산자에서 + 연산자가 연이어 나오면 앞에서부터 순차적으로 연산 수행
먼저 수행된 연산이 결합 연산이라면 이후 + 연산은 모두 결합 연산이 된다
String str = 1 + 2 + "3" // str = 33
String str = 1 + "2" + 3; //str = 123
문자열을 기본 타입으로 강제 타입 변환
문자열 "12"를 정수 12로 변환할 때
변환 타입 | 예시 |
String -> byte | String str = 1; byte value = Byte.parseByte(str); |
String -> short | String str = 100; Short value = Short.parseShotr(str); |
String -> int | String int = 100000; int value = Integer.parseInt(str_; |
long, float, double, boolean 모두 가능 | 같은 방식으로 사용 |
문자열이 숫자가 아닌 알파벳이나 문자, 한글 등을 포함했을 땐 숫자 형식 예외 발생 (NumberFormatException)
반대로
가본 타입을 문자열로 변경하고 싶으면 아래 코드를 작성하면 된다
String str = String.valueOf(기본타입값);
'Language > [Java] 자바 완전 정복' 카테고리의 다른 글
2주차_06. 클래스와 객체 (0) | 2022.01.27 |
---|---|
2주차_05. 참조 자료형 2 (0) | 2022.01.27 |
2주차_05. 참조 자료형 1 (0) | 2022.01.27 |
2주차_04. 제어문과 제어 키워드 (0) | 2022.01.27 |
1주차_03. 연산자 (0) | 2022.01.20 |