2-2. JAVA変数とタイプ


変数=変化の数/定数=不変の数
JAVA=構造化データ処理=処理を行うにはデータ型を知る必要がある
Python、JavaScript=非構造化データ処理=データによるデータフォーマットの変更
*Javaには、そのシェイプに一致するコンテンツのみが含まれます(一致しない場合はエラー)
  • ファイル名f 2
  • ラクダ記号を守る-類名の前の大文字、意味が変わる時の大文字

    1byte=8bit=-2^7~(2^7-1

    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タイプ