Chapter02. 변수와타입

3 minute read

Published:

변수와 타입

체크리스트

  • 변수에 대해서 설명하시오. 변수란 하나의 값을 저장할수 있는 메모리 공간이다
  • 변수 이름으로 적절하지 않은 예를 드시오. 번호로 시작되거나, _기호로 시작되는 변수 이름은 사용 할수 없다.
  • 기본 타입 8개를 나열하시오. byte, short, char, int, long, float, double, boolean
  • 리터럴을 설명하시오. 리터럴이란, 변수에 배당되는 특정값을 말한다.
  • 자동 타입전환시 유의점을 설명하시오. char와 int는 자동변환이 가능하고, char타입은 양수값만 자동변환가능하다.
  • 강제타입 변환시 유의점을 설명하시오. 캐스팅()연산자 사용하고, 기존값을 상실할수 있다.
  • 연산식에서 타입 변환시 유의점을 설명하시오. 연산시 크기의 타입이 큰 타입으로 자동 변환된다.
  1. 변수

    : 변수란, 하나의 타입을 갖는 하나의 값을 저장할 수 있는 메모리 공간이다.

  • 변수 선언
    int a,b,c;
    규칙 - 첫글자는 문자, ‘$’,’_ ‘ 로 시작할수 있고, 숫자와 대문자로 시작할수없다. 자바 예약어는 변수 이름으로 사용 할 수 없다.
    자바 예약어 - int, string, boolena class, new , void , return 등등
  • 변수 사용법
    int score = 100;
    변수의 타입, 이름, 값을 지정하여 동시에 선언 할수있다.
  • 정수 리터럴
    리터럴이란 변수에 직접 입력된 값을 리터럴이라고 한다.
    10진수 - 33,-10,0
    8진수 - 03, -09
    16진수 - 0x3, 0xC, 0xB3C
  • 실수 리터럴
    10진수 - -0.125, 3.14
    10진수와 기수 - 7E3 //7 X 10에 3승
  • 문자 리터럴
    ‘작은따옴표’로 묶은 글자를 문자 리터럴 이라고 한다.
    '한','글'
    /슬래쉬가 있는 문자는 이스케이프라 불리는 특수 문자이다.
    '/t','/n' // t는 탭, n은 줄바꿈 등 다양한 이스케이프가 있다.
  • 문자열 리터럴
    “큰따옴표”로 묶은 문자열이다.
    "한글","대한민국"
  • 논리 리터럴
    논리 리터럴은 boolean 타입 하나만 존재한다.
    true, false
  • 변수값 초기화
    변수는 생성된후 값을 가지고 있어야 하는데 이것을 초기화라고 한다.
    ` int init = 10; //init변수 선언후 초기화<br> int sum = init + 5; //sum 변수 선언후 init값을 사용한 연산`
    init값이 없다면 init변수를 가지고 연산을 할수 없다. 컴파일 에러가 발생한다.
  • 변수 사용 범위
    변수는 선언된 블록내에서만 사용이 가능하다.
    if(){ 여기 중괄호 안에서 선언되고 사용 가능 }
    while(){ 여기 중괄호 안에서 선언되고 사용 가능 }
  1. 데이터 타입

    :변수 타입에 따라 저장할 수 있는 값의 종류와 범위가 다르다.

  • 기본원시 타입
    정수 - byte > char > short > int > long 크기순
    실수 - float > double 크기순
    논리 - true, false

  • byte 타입 bit - 0과 1을 저장하는 최소 기억단위이다.
    byte - 8개의 bit를 묶은 단위이다.
    범위초과 - bit는 -128 ~ 127 까지의 정수를 저장할수 있고, 이범위를 넘을 경우, 예를들어 128 값을 넣을 경우 -128이란 값이 저장된다.

  • char 타입
    모든 문자는 유니코드값을 갖는다.
    char a = 'A' //변수 a값은 65이다.
    문자열값을 저장시 String 객체를 사용하여 저장한다.
    Stirng s = "크리스마스";
    빈 값으로 변수값을 초기화할시 Space바를 쳐서 빈공백을 만들어준다.
    char b = ' '

  • short 타입
    2byte(16bit)로 정수값을 저장하는 타입이다.
    C언어와 호환 가능하다.

  • int 타입
    4byte(32bit)로 정수값을 저장하는 타입이다.
    일반적으로 정수타입은 int타입을 사용한다. (byte,short타입사용시 값의범위가 넘으며 int타입으로 변환된다.)
    int타입 10진수 - int number = 100
    int타입 8진수 - int octNumber = 024
    int타입 16진수 - int hexNumber = 0xB

  • long 타입
    8byte(64bit)로 정수값을 저장한다.
    long타입 변수를 초기화 할때 ‘l’이나 대문자’L’을 붙여준다.
    long value = 10000000000000L

  • 실수 타입 float & double
    소수점을 사용하는 타입의 종류는 두가지가 있다.
    float은 4byte, double은 8byte를 사용한다.
    float타입은 값을 초기화할때, ‘f’나 ‘F’를 붙여준다.
    10의지수를 나타내는 ‘e’나’E’가 있는 정수값은 float, double에 값을 할당 할 수있다.(int는 안된다.)

  • 논리 boolean 타입
    true와 false값을 할당한다.
    boolean oneOfTwo = true

  1. 타입 변환

    타입크기 순서 - byte(1) > short(2) > long(8) > float(4) > double(8)

    • 자동 타입 변환
      작은크기를 가지는 타입이 큰크기의 타입으로 저장될 때 발생한다. (int <- byte, long <- int 처럼.. )
      char 타입은 유니코드 값의 int로 자동 변환할 수 있다.
      char 타입은 양수로 되어있기 때문에 음수값을 가진 변수를 타입 변환 할 수 없다.
      *다른 타입끼리의 연산시 연산후 저장될 변수 타입에 맞추어 자동 변환 된다. *
    • 강제 타입 변환
      강제적으로 큰크기 타입을 쪼개어 작은 크기의 타입에 저장하는 방법이다.(byte <- int)
      캐스팅이라고 불린다
      ()캐스팅 연산자를 사용하여 쪼갤 단위를 지정한다.
      int타입은 char로 캐스팅할수 있다.
      기존 값을 상실할수 있기 때문에 정밀도 손실체크를 해주어야 한다.