수강 날짜 : 2021-07-26(1일차)
강의명 01 : 컴퓨터에서 자료 표현하기
강의명 02 : 변수란 무엇인가?
강의명 03 : 정수 자료형
양수와 음수는 더해서 0이 되어야 함
1의 보수는 양수를 표현한것을 반전시킨다.
2의 보수는 1의 보수를 만들고 1을 더해줌
0000 0000은 0이다. 이것의 1의 보수는 1111 1111이다.
-0 = 0 우리는 이 둘이 같다는 것을 알지만 컴퓨터는 이를 모른다.
그렇기 때문에 +1을 더해줌으로 -0을 0000 0000으로 표현하게 한다.
이렇게 하면 0의 보수를 컴퓨터가 햇갈리지 않는다.
변수 : 변하는 수
사람의 나이, 온라인 상품의 개수, 학생의 학년
변하는 값을 프로그램에서 나타내기 위한 방법
변수의 반대는 상수
자료형 변수 이름;
int age;
변수에 맞는 자료형과 변수 이름으로 선언
변수는 선언되지 않으면 사용이 불가능하다.
실습
변수 선언과 사용하기 예제
package variable;
public class VariableTest {
public static void main(String[] args) {
int age;
age = 30; //초기화
System.out.println(age);
}
}
초기화를 해주지 않으면 에러가 발생한다. 30을 지우면 에러
변수를 선언하는 것은 해당 자료형의 크기 만큼의 메모리를 사용하겠다는 것
메모리의 위치를 변수 이름으로 참조
메모리의 주소를 할당하고 거기에 값을 저장을 한다.
int age; -> 4 바이트의 메모리가 일정 공간에 할당된다.
그 메모리 주소를 참조할 때 사용하는 것이 변수명이다.
약어를 사용하는 것은 권장되지 않는다.
camel notation으로 쓴다. 띄어쓰기 대신 대문자로 한다.
클래스는 파스칼로 쓴다. 첫 글자가 대문자이어야 한다.
기본형:
자바 언어에서 기본적으로 제공해 주는 자료형
메모리의 크기가 정해져 있음
정수형, 문자형, 실수형, 논리형
참조형:
클래스 자료형
JDK에서 제공되는 클래스와 프로그래머가 정의하는 클래스
클래스에 따라 사용하는 크기가 다름
ex) String, Student
이들은 저장되는 곳이 다르다.
이에 대한 설명은
https://programmer-seva.tistory.com/72
이 블로그에 대하여 잘 설명이 되어 있다.
메모리 영역에 대한 설명은 지금 강의에 나와 있지 않지만 익숙해지면 편하다. -기억하고 암기할 것
기본형에 따라 표현 범위가 다르다. 그것을 유념해서 코딩을 할 것
실습
package variable;
public class IntegerTest {
public static void main(String[] args) {
byte bs = -128;
System.out.println(bs);
}
}
실습 결과
-129와 같이 표현 범위를 벗어나면 오류가 발생한다.
out of range 에러: 범위를 벗어났다.
이러한 숫자들에 대해서 프로그램 내에서 내부적으로 관리되는데 이들을 리터럴이라고 한다.
숫자 자체들은 4바이트에 대응한다.
그래서 4바이트 이상의 상수들을 적으면 에러가 발생한다.
그래서 8바이트로 처리하라는 명령을 내어줘야한다.
long lVal = 123456789000L;
L을 적지 않으면 에러가 발생한다