집에서 사용하는 전구처럼 불이 켜지는 경우와 꺼지는 경우 두 가지 밖에 없다고 생각하면 된다.
이렇게 0또는 1로 표현할 수 있는 최소 단위를비트(bit)라고 하며,8비트가 모이면1바이트(byte)가 된다.
10진수와 2진수
우리가 일상 생활에서 사용하는 숫자는 0부터 9까지 한 자릿수 이고 10부터는 두 자리수가 됩니다. 이를 10진수라고 한다
컴퓨터 내부에서는 모든 데이터를 0과 1로 표현해야 합니다. 이때 사용하는 것이 바로 2진수 이다.
2진수란 0과 1 두 개로만 표현되는 수를 말한다.
0부터 10까지 10진수를 2진수로 표현하면 다음과 같다.
컴퓨터 내부에서는 숫자뿐 아니라 문자도 2진수로 표현합니다. 예를 들면 A라는 문자가 있을때 A는 숫자 65로 표현하도록 약속되어 있다.
따라서 컴퓨터 내부에서는 A는 2진수 1000001으로 표현됩니다. 이 값을 A문자의 아스키(ASCII)값이라고 한다.
모든 문자는 컴퓨터가 이해할 수 있는 아스키값이 미리 정해져 있다.
아스키(ASCII)란 American Standard Code for Information Interchange의 약어로 미국 표준협회(ANSI)가 제정한 규칙입니다. 영문자, 숫자, 특수 문자를 8비트 값의 수로 미리 정의해 놓았다.
2진수, 16진수, 8진수
자바 프로그램에서는 2진수, 8진수, 16진수를 사용할 수 있다.
2진수는 비트 값을 그대로 표현할 수 있지만 길이가 너무 길어서 불편하므로 8진수나 16진수로 바꿔서 사용하면 간단하게 표현할 수 있다.
8진수를 2진수로 표현하기 위해서는 3개의 비트가 필요하고 16진수는 4개의 비트가 필요하다.
8진수는 2진수 3비트를, 16진수는 4비트를 합쳐서 간단하게 표현할 수 있습니다.
프로그램에서2진수를 사용할땐 숫자 앞에0B를 붙이고8진수를 사용할 때는0,16진수를 사용할 때는0X를 붙입니다. 소문자 b와 x도 사용할 수 있습니다.
예) 10진수 10 - 2진수 - 0B1010, 8진수 - 012, 16진수 - 0XA
부호있는 수를 표현하는 방법
컴퓨터는 숫자를 0과 1로만 표현할 수 있기 때문에 부호 또한 0과 1로 표현합니다.
부호를 나타내는 비트는 맨 앞에 붙이며부호 비트라고 부릅니다.
부호 비트가 0이면 양수, 1이면 음수를 나타냅니다.
8비트로 5라는 숫자를 표현하면 다음과 같다.
변수란 무엇일까?
프로그래밍에서는 변사는 값을변수라고 합니다.
변수는 말 그대로변하는 수입니다.
변수 선언하고 값 대입하기
어떤 값을 저장하려면 공간이 필요합니다. 이공간의 이름이 바로변수입니다.
변수를 사용하기 위해 어떤 형태의 자료를 저장할 것인지 정해야 합니다.
사람의 나이를 저장하려면 정수형태를 써야 하고, 이름을 저장하려면 문자형태를 써야하는데, 이러한 형태를 변수의자료형이라고 합니다.
변수의 자료형을 선택했다면 변수의 이름도 정해주어야 합니다.
변수를 선언한다: 변수의 자료형을 선택하고 이름을 정하는 것
'='기호는 수학에서 오른쪽과 왼쪽이 같다는 의미이지만 프로그램에서는오른쪽 값을 왼쪽에 대입한다는 의미로 사용합니다.
상기 코드의 두 문장을 해석하면level이라는 이름의 변수를정수 자료형으로 선언한다. 선언한 level 변수에 값10을 넣는다(대입한다)입니다.
package selfstudy;
public class Tstory {
public static void main(String[] args) {
int num; //int 는 자료명 num 은 변수이름 , 정수형 변수 num선언
num = 5; // 5을 num 변수에 대입
System.out.println(num);
}
}
실행결과
5
변수 초기화하기
변수에처음 값을 대입하는 것을초기화라고 합니다.
반드시 변수 선언과 동시에 초기화를 해야 하는 것은 아닙니다.변수 선언과 동시에 초기화를 할 수도 있고변수를 선언한 이후에 대입할 값이 정해지는 시점에 초기화를 할 수도 있습니다.
변수 이름 정하기
자바에서 변수 이름은 용도에 맞게 지으면 됩니다. 다만 다음과 같은 제약사항이 있습니다.
제약 사항예시
변수 이름은 영문자(대문자, 소문자)나 숫자를 사용할 수 있고, 특수 문자 중에서는 $, _만 사용할 수 있습니다.
g_level(O),count100(O), _master(O), $won(O)
변수 이름은 수자로 시작할 수 없습니다.
27day(X), 1abc(X)
자바에서 이미 사용 중인 예약어는 사용할 수 없습니다.
while, int, break, ...
예약어(reserved word)f란 프로그래밍 언어에서 특별한 의미로 미리 약속되어 있는 단어를 말합니다.
변수 이름은 프로그램에서 계속 사용하기 때문에 사용 목적에 맞게 의미를 잘 부여해서 만드는 것이 좋습니다.
댓글