2-2. JAVA 변수와 타입

5820 단어 22/4/1122/4/11

변수 = 변하는 수 / 상수 = 변하지 않는 수

JAVA = 정형데이터처리 = 데이터 형식을 꼭 알아야 처리가능

파이썬, 자바스크립트 = 비정형데이터 처리 = 데이터에따라 데이터형태를 바꿈

*자바는 형태에 맞는것만 넣을수있다 (안맞으면 에러)

  • 파일 이름변경 f2

낙타 표기법 준수 - class 이름 맨 앞자 대문자, 의미바뀔때 대문자

1byte = 8 bit = -2^7~(2^7-1) 인 이유는 8제곱 후 반으로 나눠 음수,양수로 나누기 때문 + 0은 양수샐때 한번만 들어감

ctrl + shift + F = 들여쓰기 정렬


public class VariableExample {


public static void main(String[] args) {

//처음 시작되는 부분.


//리터럴 값 10 - 리터럴도 상수의 일종이다


//-> 데이터 타입 : 숫자(정수) = byte, short, int, long

//정수 중 가장 작은 단위 byte

// 메모리 관련 은 항상 2씩 늘어난다 1개 메모리가 늘어나면 (0,1)이 늘어난것


// 1 byte -> 1byte = 8 bit(0,1) = 2^7 = (2^8)256가지의 숫자 => 0~127, -1~-128까지 
//반으로 짜르면 128개고 0부터 새면 127, -1부터 새면 -128까지사용

// 1 short -> 2byte = 16bit = 2^15 = -32,768 ~ 32,767


// 1 int -> 4byte = 32bit = 2^31 = 21억 정도

// 기본정수타입

// 작은 수라도 연산시 int 로 결과가 나온다

// cpu안에 연산기 가 있는데 메인메모리(ram)을 직접 연산 안함 - 레지스터에 저장되어 연산자와 연산가능

// 메모리 - HDD/SDD 저장시 사용(클러스터개념 byte 단위있음) <-> RAM(메인메모리)속도 빠름(byte 단위도 있음)
// <->register(레지스터 4byte)cpu내부에 있으면서 직접 연산자와 상호작용 (가장빠름)

// cpu 연산기 안에 레지스터(기본레지스터의 크기는 4byte = int)

// 10이라는 값은 4개 타입 모두 들어갈수있다 but 숫자는 대부분 연산을 위해서 사용하는데 c
//pu 메인메모리 의 레지스터 타입은 int -> 따로 변환하는 번거로움을 없애기 위 해 int 로 대부분 사용


// 1 long -> 8byte = 64bit = 2^63 -> 시간 날짜 long 타입의 숫자로 되어 있다. 
//게시판 글번호 도 적용가능성 있다



// 변수타입 변수명 -> 변수의 선언 : int 4바이트 공간이 생긴다.

// = : 대입연산자 - 오른쪽의 데이터를 잘 정리해서 1개의 데이터로 만들어서 왼쪽에 저장한다.

// 맨 처음 값을 넣는 행위 = 초기화 / 안하면 에러남

int value = 10;


//4바이트 짜리를 1바이트공간에 넣는것은 불가능 but 나머지 공간을 버리고 1바이트로 넣는것 가능 = 강제캐스팅

//캐스팅은 데이터 손실이 일어난다, 강제 형변환 시키는것 , 관련있는 데이터 타입끼리 가능(숫자 = 숫자...)

// (형) 변수;

byte b = (byte) value;


System.out.println(b);


// 자동 캐스팅 - 작은 값에서 큰값의 형으로 자동으로 변환된다(데이터 손실 x),
//관련있는 데이터 타입끼리 가능(숫자 = 숫자...)

value = b;


//변수 value 값을 읽고 10을 더하는 산술 연산을 수행

//연산의 결과값을 변수 result의 초기값으로 저장

int result = value + 1;


//변수 result 값을 읽고 콘솔에 출력

System.out.println(result);


//데이터 값이 짤려서 -56 이 출력됨 int -> byte 로 캐스팅 할때 손실됨

value = 200;

b = (byte) value;

System.out.println(b);



}//main 끝


}//VariableExample class의 끝

value = 200L;

롱타입으로 변수 타입선언 L


CPU 레지스터 기본 저장타입은 int 타입이다

좋은 웹페이지 즐겨찾기