변수란?
변하는 수 : 어떠한 값을 저장하는 공간.
변수 타입
1.기본형 primitive type
논리형 boolean 문자형 char 정수형 byte/short/int/long 실수형 float/double
계산을 위한 실제 값 저장. 즉 값을 직접 가지는 것. (like 저금통)
2.참조형 reference type
객체의 주소를 저장. 기본형 8개 타입을 제외한 나머지 타입. (like 통장)
* 기본형의 종류와 크기.
논리형 boolean-1byte
문자형 char-2byte
(무조건 한글자) 홑따옴표. 'A' '1' '/n' *문자열: 문자형의 모임. 쌍따옴표"ABC" "123" "true"
정수형 byte-1byte / short-2byte / int-4byte / long-8byte
실수형 float - 4byte / double - 8byte
* 암기 tip
boolean : true or false 1byte
char: 자바에서 유니코드 사용 (2byte체계) 2byte
byte : 크기가 1byte라서 byte
int(4byte)기준으로 짧은건 short 2byte 긴건 long 8byte
float 4byte 두배 double 8byte
식별자 identifier
프로그래밍에서 사용하는 모든 이름 e.g.변수의 이름..
예약어는 식별자로 사용할 수 없음.
프로그래머 권장 룰.
1.클래스 이름의 첫글자는 대문자. 변수 첫글자는 소문자.
2.여러단어로 이루어진 이름은 단어 첫글자를 대문자로 한다. e.g. lastIndexOf ,StringBuffer..
3.상수 이름은 모두 대문자. 여러단어 이루어진 경우 _로 구분. e.g. PI, MAX_NUMBER
상수 contant
변수처럼 값 저장할 수 있는 공간이지만 변수와 달리 한번 값 저장하면 변경 불가. 선언방법
final 이후 변수선언과 같이 선언후, 선언시 반드시 초기화 함께해야한다.
e.g. final int MAX_SPEED = 10;
리터럴 literal
그 자체로 값을 의미. 변수 혹은 상수에 들어가있는 값을 리터럴이라고 함.
e.g.age = 28; name = hena; -> age, name: 변수 / 28, hena: 리터럴
문자형 char
문자가 저장되는 것 같지만 사실은 문자가 아닌 '문자의 유니코드 즉, 정수'가 저장됨.
incoding : 문자 -> 숫자
decoding 문자 <- 숫자
오버플로우 overflow
타입이 표현할 수 있는 값의 범위를 넘어서는 것. 에러는 발생하지 않지만 결과가 완전히 달라짐.
부호없는정수는 2진수로 '0000'이 될때 오버플로우 발생.
실수는 값이 무한대 infinity 가 됨.
실수에는 언더플로우가 있는데 이때는 값이 0이됨.(정수에서는 언더플로 발생no)
부호비트 :이진수의 맨앞 숫자
0 = +
1 = -
부호비트가 있을때, 부호비트가 0에서 1이 될때 오버플로우 발생
형변환(캐스팅 Casting)
변수 또는 상수의 타입을 다른 타입으로 변환하는 것.
e.g. 정수끼리
e.g. 정수->실수
e.g실수->정수
자동형변환.
작 ->큰 변환시 발생.
'Back-end > JAVA,Spring' 카테고리의 다른 글
객체지향 Object-oriented / 힙스택/ 메서드 (0) | 2018.06.02 |
---|---|
[JAVA] 다이아몬드 별찍기. 소스코드 (0) | 2018.05.18 |
[Spring] STS설치 및 Tomcat 설치 (0) | 2018.05.06 |
[JAVA]Spring framework 스프링 프레임워크란 ? (0) | 2018.04.30 |
자바란? JAVA programming language (0) | 2018.04.25 |