Chapter 02. 변수와 자료형(1)

박철민·2021년 7월 26일
0

수강 날짜 : 2021-07-26(1일차)
강의명 01 : 컴퓨터에서 자료 표현하기
강의명 02 : 변수란 무엇인가?
강의명 03 : 정수 자료형

컴퓨터에서 자료 표현하기

컴퓨터 내부에서 숫자나 문자 같은 자료를 어떻게 표현하는가?

  • 이진수 : 불이 꺼짐과 켜짐을 구분하여 신호를 생성. 컴퓨타에서 자료를 표현하는 최소 단위 0과 1
  • 바이트 : 8 bit
  • 8진수 : 이진수를 3비트씩 모아서 표현
  • 16진수 : 이진수를 4비트씩 모아서 표현

2의 보수로 표현

양수와 음수는 더해서 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 바이트의 메모리가 일정 공간에 할당된다.
그 메모리 주소를 참조할 때 사용하는 것이 변수명이다.

변수 이름 선언 규칙

  1. 영문자나 숫자를 사용함. 단 숫자로 시작할 수 없음 1levle(X)
  2. 특수문자 중에는'_'와 '$'만 사용가능
  3. 예약어는 사용할 수 없음
  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바이트에 대응한다.
그래서 4바이트 이상의 상수들을 적으면 에러가 발생한다.
그래서 8바이트로 처리하라는 명령을 내어줘야한다.

		long lVal = 123456789000L;

L을 적지 않으면 에러가 발생한다

profile
취준좀비 컴공

0개의 댓글

관련 채용 정보