2021. 9. 7. 23:31ㆍIT공부/Java&Spring 이용한 웹프로그래밍
05. 변수(Variable)는 변하는 수입니다.
변수는 언제 쓰나요?
- 프로그램에서는 항상 변하는 값을 나타낼 필요가 있음 ( ex. 학생의 성적, 합계, 게임의 레벨, 회원 주소 등등...)
- 표현하려는 수에 맞는 데이타 타입(자료형)을 이용하여 변수를 선언
- 표현하려는 자료가 숫자, 문자, 문자열등 다양할 수 있으므로 그에 맞는 자료형을 사용
변수 선언과 사용하기 예제
변수 선언은 자료형과 변수 명으로 선언함 선언과 동시에 초기화 할 수 있음
package ch05; public class VariableTest { public static void main(String[] args) { int age, count; age = 10; int level = 10000; System.out.println(age); System.out.println(level); } }
변수의 이름 만들 때...
변수 이름은 영문자(대문자, 소문자)나 숫자를 사용할 수도 있고, 특수문자 중에는 $와 _만 사용 (ex. count100, _master) 변수 이름의 시작은 숫자로 할 수 없음 ( ex. 27days(X), 1abc(X)) 자바에서 이미 사용하고 있는 예약어는 사용할 수 없음 (while, break 등) 변수 이름은 프로그램내에서 사용되는 것이므로 그 용도에 맞고 가독성이 좋게 만드는것이 중요 ex) int numberOfStudent;
06. 자료형(data type) - 정수는 어떻게 표현하나요?
변수와 메모리
변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당 변수는 할당된 메모리를 가리키는 이름 int level = 10; // 4바이트 정수형 메모리가 level 이라는 이름으로 할당 됨
기본 자료형(primitive data type)의 종류
정수 자료형의 종류와 크기
byte와 short
- byte : 1바이트 단위의 자료형 동영상, 음악 파일, 실행 파일의 자료를 처리할 때 사용
- short: 2바이트 단위의 자료형 C/C++ 언어와 호환 시 사용
int
- 자바에서 사용하는 정수에 대한 기본 자료 형
- 4바이트 단위의 자료형
- 프로그램에서 사용하는 모든 숫자(리터럴)은 int 로 저장됨
- 32 비트를 초과하는 숫자는 long 자료형으로 처리
long
- 8바이트 자료형
- 숫자의 뒤에 알파벳 L 또는 l 을 써서 long 형임을 표시 함
- 예) int num = 12345678900; // 오류
long lnum = 12345678900; //오류
long lnumber = 12345678900L; // ok
07. 자료형(data type) - 실수는 어떻게 표현하나요?
- 부동 소수점 방식
- 실수는 정수 보다 정밀하기 때문에 정수와는 다른 방식으로 표현해야 함
- 부동 소수점 방식으로 실수 값 0.1 표현
- 지수부와 가수부로 표현 함
- 컴퓨터에서는 밑수를 2로 사용
- 정규화 : 가수가 밑수보다 작은 한 자리까지 가수로 표현 되는 것
- 컴퓨터에서는 밑수가 2 이므로 정규화를 하게 되면 가수부분의 첫 번째 자리 숫자는 항상 1임
예) 0.2 표현 0.4 X 2-1 정규화 하면 1.6 X 2-3
- float형과 double형
자바에서는 실수의 기본 타입은 dobule을 사용 함
- float 와 double 예제
package ch07; public class DoubleTest { public static void main(String[] args) { double dnum = 3.14; float fnum = 3.14F; System.out.println(dnum); System.out.println(fnum); } }
- 부동 소수점 방식의 오류
지수와 가수로 나타내는 부동 소수점 방식에서는 지수부가 0을 표현할 수 없기 때문에 약간의 오차가 발생할 수 있다
public class DoubleTest2 { public static void main(String[] args) { double dnum = 1; for(int i = 0; i<10000; i++) { dnum = dnum + 0.1; } System.out.println(dnum); } }
출력 결과
8. 자료형(data type) - 문자는 프로그램에서 어떻게 표현하여 사용하나요?
- 문자도 정수로 표현합니다.
- 어떤 문자를 컴퓨터 내부에서 표현하기 위해 특정 정수 값을 정의
- A 는 65
- 문자세트 : 각 문자를 얼마로 표현할 것인지 코드 값을 모아둔 것을 문자세트(charater set)라 함
(ex. ASKII, euc-kr, utf-8, utf-16)
- 자바에서는 문자가 어떻게 표현되나요?
- 자바는 문자를 나타내기 위해 전세계 표준인 UNICODE를 사용
- utf-16 인코딩을 사용 (모든 문자를 2바이트로 표시)
- 문자형 변수 선언과 사용하기
- 문자를 위한 데이터 타입 char ch = 'A';
- 내부적으로 숫자료 표현되므로 숫자를 넣어도 문자가 출력될 수 있음
- char ch2 = 66;
package ch08;
public class CharacterTest {
public static void main(String[] args) {
char ch1 = 'A';
System.out.println(ch1);
System.out.println((int)ch1);
char ch2 = 66;
System.out.println(ch2);
int ch3 = 67;
System.out.println(ch3);
System.out.println((char)ch3);
//char ch4 = -66; 음수는 대입 할 수 없음
char ch5 = '한'; char ch6 = '\uD55C';
System.out.println(ch5); System.out.println(ch6);
}
}
참고하세요
character set: 문자를 숫자로 변환한 값의 세트
encoding: 문자가 숫자로 변환되는 것
decoding: 숫자에서 다시 문자로 변환되는 것
ASKII code: 알파벳과 숫자 특수 문자등을 1바이트에 표현하는데 사용하는 문자세트
UNICODE: 전 세계 표준으로 만든 문자 세트
UTF-8: 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음
UTF-16: 2바이트로 문자를 표현
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
강의에 대해 정확하게 알고 싶다면
'IT공부 > Java&Spring 이용한 웹프로그래밍' 카테고리의 다른 글
한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지_패스트 캠퍼스 챌린지 05일차 (0) | 2021.09.10 |
---|---|
한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지_패스트 캠퍼스 챌린지 04일차 (0) | 2021.09.09 |
한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지_패스트 캠퍼스 챌린지 03일차 (0) | 2021.09.08 |
한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지_패스트 캠퍼스 챌린지 01일차 (0) | 2021.09.06 |
인텔리제이로 스프링부트 시작하기 (0) | 2021.08.29 |