4 minute read

2.1~2.3

1. 변수

  • 하나의 값을 저장하는 메모리공간
  • 변수의 초기화
    • 변수를 사용하기 전에 처음으로 값을 지정하는것
    • 메모리는 여러 프로그램이 공유하는 자원 → 초기화 하지 않으면 타 프로그램에 의해 저장된 쓰레기 값이 남아있을 수 있음
  • 변수의 명명규칙
    • 대소문자 구분
    • 길이 제한 없음
    • 예약어 사용 불가
    • 숫자로 시작 불가
    • 특수문자는 ’_’ 와 ‘$’을 허용
  • 권장사항
    • 클래스 이름의 첫글자는 대문자
    • 변수와 메서드의 이름의 첫 글자는 소문자
    • 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자
    • 상수명은 모두 대문자, 여러 단어로 이루어진경우 _로 구분
    • 클래스이름은 ASCII로

2. 변수의 타입

  • 기본형 변수
    • 실제 값(data)을 저장
    • 논리형
      • boolean(1 byte, true ~ false)
    • 문자형
      • char(2 byte, ‘\u0000’~’\uffff’,’0~65535(0~2^16-1)) → unicode 기반으로 인코딩, 디코딩
    • 정수형
      • byte(1 byte, -128 ~ 127(-2^7~2^7-1)
      • short(2 byte, -32768 ~ 32767(-2^15~2^15-1))
      • int(4 byte, -2,147,483,648 ~ 2,147,483,647(-2^31~2^31-1))
      • long(8 byte, -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807(-2^63~2^63-1))
    • 실수형
      • float(4 byte, 1.4E-45 ~ 3.4E38(1.410^-45 ~ 3.410^38), 정밀도 7 자리)
      • double(8 byte, 4.9E-324 ~ 1.8E308(4.910^-324~1.810^308), 정밀도 15 자리)
    • boolean은 다른 기본형과 연산 불가, 다른 기본형 간 연산 가능
  • 참조형 변수
    • 메모리 주소(메모리에 할당된 1byte단위의 일련번호)를 저장
    • 참조형 변수 간 연산 불가
    • 기본형이 아닌 타입은 모두 참조형
  • 상수
    • final 키워드 사용
    • 초기화 된 상수의 값을 변경하는 것 은 허용되지 않음
  • 리터럴
    • 그 자체로 값을 의미 하는 것 (ex 3, “Hello”)
    • 접미사
      • long: L
      • float: f
      • double: d(생략가능)
    • 접두사
      • 2진수: 0b
      • 8진수: 0
      • 16진수: 0x
    • 정수형 리터럴의 중간에 _ 삽입가능 (1_0 == 10)
    • ‘’: 문자 리터럴(빈 문자 불가), “”: 문자열 리터럴
  • 타입이 다른 데이터 대입
    • 저장범위가 넓은 타입에 범위가 좁은 타입을 할당 가능
    • 리터럴 값이 변수의 타입의 범위를 넘어서거나, 리터럴의 타입이 변수의 타입보다 저장범위가 넓으면 컴파일 에러
  • printf()
    • 지시자를 사용한 포맷 출력
    • 지시자
      • %b: 불리언
      • %d: 10진
      • %o, %#o: 8진, 0출력
      • %x,X, %#x: 16진 소문자, 대문자, 0x출력
      • %f, %014.10f: 부동 소수점, 14자리중 정수 빈자리 0으로 소수점아래 10자리까지 빈자리 0으로
      • %e: 지수
      • %g: 소수 간략히 출력
      • %c: 문자
      • %s, %.8: 문자열, 왼쪽에서 8글자 출력
      • %n: 개행
      • %5d: 5칸에 오른쪽 정렬로 10진수 출력
      • %-5d: 5칸에 왼쪽 정렬로 10진수 출력
      • %-05d: 5칸에 오른쪽 정렬로 10진수 빈자리0으로 출력
      • 2진수 출력은 Integer.toBinaryString(int i)로 변환후 출력
      • 문자 %d출력은 (int) 형변환 후 %d로 출력
  • 특수문자
    • tab: \t
    • backspace: \b
    • form feed: \f
    • new line: \n
    • carrage return: \r
    • : \
    • ‘: \’
    • “: \”
    • 유니코드 문자: \u유니코드 (char a = ‘\u0041’)

3. 진법

  • 컴퓨터는 변수에 값을 저장하면 2진수로 바꾸어 저장함
  • 1bit: 컴퓨터가 값을 저장하는 최소단위
  • 1byte: 데이터의 기본 단위, 1 bit는 너무 작기 때문에 8bit를 묶은 것
  • word: cpu가 한 번에 처리할 수 있는 데이터의 크기
    • cpu의 성능에 따라 달라짐(ex) 32비트 컴퓨터의 1워드는 32비트 = 4바이트)

Leave a comment