Chapter02 변수(variable)

2021. 8. 11. 22:38· LANGUAGE/[JAVA]
목차
  1. 1. 변수
  2. 1.1 변수(variable)란?
  3. 1.2 변수의 선언과 초기화
  4. 1.3 변수의 명명규칙
  5. 2. 변수의 타입
  6. 2.1 기본형(primitive type)
  7. 2.2 상수와 리터럴(constant & literal)
  8. 2.3 형식화된 출력 - printf()
  9. 2.4 화면에서 입력받기 - Scanner
  10. 3. 진법
  11. 3.1 10진법과 2진법
  12. 3.2 비트(bit)와 바이트(byte)
  13. 3.3 8진법과 16진법
  14. 3.4 음수의 2진 표현 - 2의 보수법
  15. 4. 기본형(primitive type)
  16. 4.1 논리형 - boolean
  17. 4.2 문자형 - char
  18. 4.3 정수형 - byte, short, int, long
  19. 4.4 실수형 - float, double
  20. 5. 형변환
  21. 5.1 형변환(캐스팅, casting)이란?
  22. 5.2 형변환 방법

1. 변수

1.1 변수(variable)란?

단 하나의 값을 저장할 수 있는 메모리상의 공간

 

1.2 변수의 선언과 초기화

int age = 25; // int : 변수타입, age : 변수이름, 초기화값 : 25

 

1.3 변수의 명명규칙

<필수사항>

  1. 대소문자가 구분되며 길이의 제한이 없다.
  2. 예약어(keyword)를 사용해서는 안 된다.
  3. 숫자로 시작해서는 안 된다.
  4. 특수문자는 '_'와 "$"만을 허용한다.

 

<권장사항>

  1. 클래스 이름의 첫 글자는 항상 대문자로 사용한다.(변수와 메서드의 이름의 첫 글자는 소문자)
  2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
  3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어져 있으면 '_'로 구분한다.



2. 변수의 타입

2.1 기본형(primitive type)

자료형 저장 가능한 값의 범위 크기(byte)
boolean false, true 1
char '\u0000''\uffff' (02^16-1, 0~65535) 2
byte -128 ~ 127 (2^72^7-1) 1
short -32,768 ~ 32,767 (-2^15~2^15-1) 2
int -2,147,483,648 ~ 2,147,483,647 (-2^31~2^31-1, 약 +-20억) 4
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807(-2^63~2^63-1) 8
float 1.4E-45 ~ 3.4E38 (1.4x10^-45~3.4x10^38) 4
double 4.9E-324 ~ 1.8E308 (4.9x10^-324~1.8x10^308) 8

(float의 정밀도 : 7자리, double의 정밀도 : 15자리)

 

2.2 상수와 리터럴(constant & literal)

final int MAX_SPEED = 10;//final : 상수 선언 키워드, MAX_SPEED = 상수, 10 : 리터럴

리터럴에는 접미사가 존재하는데 정수형은 L, 실수형은 f(float type), d(double type)을 붙인다. 만역 실수형 리터럴인데 접미사가 없으면 double 형식이다.

 

- 문자 리터럴과 문자열 리터럴

char ch = 'J';
String name = "Java";

 

2.3 형식화된 출력 - printf()

System.out.printf("age : %d", age);
  • 자동으로 줄바꿈을 하지 않는다 (%n연산자 입력 해야함)
  • 지시자를 통해서 값을 출력할 수 있다.
지시자 설명
%b 불리언 형식으로 출력
%d 10진 정수의 형식으로 출력
%o 8진 정수의 형식으로 출력
%x, %X 16진 정수의 형식으로 출력
%f 부동 소수점의 형식으로 출력(기본 소숫점 6자리)
%e, %E 지수 표현식의 형식으로 출력
%c 문자로 출력
%s 문자열로 출력

Integer.toBinaryString(int i) : 십진수 정수 i를 이진수의 문자열 형태로 반환

 

2.4 화면에서 입력받기 - Scanner

import java.util.*; // Scanner클래스를 사용하기 위해 추가

Scanner scanner = new Scanner(System.in); // Scanner클래스의 객체를 생성
String input = scanner.nextLine(); // 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); // 입력받은 내용을 int 타입의 값으로 변환



3. 진법

3.1 10진법과 2진법

  • 컴퓨터는 2진수로 정보를 저장

 

3.2 비트(bit)와 바이트(byte)

1byte = 8bit

  • n비트로 표현할 수 잇는 10진수의 개수는 0~2^n-1이다
  • 워드(word) : CPU가 한 번에 처리할 수 있는 데이터의 크기 ex) 64bit CPU에서 1word = 8byte

 

3.3 8진법과 16진법

  • 8진법 : 0~7로 표현
  • 16진법 : 0~9, A, B, C, D, E, F로 표현

 

3.4 음수의 2진 표현 - 2의 보수법

  • 음수는 왼쪽의 첫 번째 비트(MSB)가 0이면 양수, 1이면 음수로 표현
  • n의 보수 : 더했을 때 n이 되는 수
  • 2의 보수 구하는 법 : 1의 보수(2진수를 xor연산)을 한뒤 1을 더한다.



4. 기본형(primitive type)

4.1 논리형 - boolean

  • true, false 중 한가지 저장 가능. 기본값은 false
  • 크기 : 1byte
  • 대소문자가 구별됨으로 주의 ex) False(x)

 

4.2 문자형 - char

char ch = 'A'; // char ch = 65; 와 같은 표현
  • 단 하나의 문자만 저장 가능 but, 문자의 유니코드(정수) 형식으로 저장됨
  • 크기 : 2byte
  • char형과 short형은 모두 크기가 2byte이지만 char형은 음수를 표현할 필요가 없으므로 0~2^16-1개가 표현이 가능하다.

 

4.3 정수형 - byte, short, int, long

크기 : byte(1) < short(2) < int(4) < long(8)

  • n비트로 표현할 수 있는 정수의 개수 : 2^n개
  • n비트로 표현할 수 있는 부호있는 정수의 범위 : -2^(n-1) ~ 2^(n-1)-1
  • 정수형의 오버플로우 : 연산과정에서 해당 타입이 표현할 수 있는 값의 범위를 넘어서는 것을 의미 -> 오류는 나지 않지만 원하는 값을 표현할 수 없다.

 

4.4 실수형 - float, double

타입 저장 가능한 값의 범위(양수) 정밀도 크기(byte)
float 1.4x10^-45~3.4x10^38 7자리 4
double 4.9x10^-324~1.8x10^308 15자리 8
  • 음수 표현의 범위는 각각 범위에 '-'를 붙이면 된다.
  • float형은 int형과 같은 4byte지만 실수형은 부호, 지수, 가수 세 부분으로 값을 저장하기 때문에 큰 수를 저장할 수 있다.
  • 오차가 발생할 수 있다.



5. 형변환

5.1 형변환(캐스팅, casting)이란?

변수 또는 상수의 타입을 다른 타입으로 변환하는 것

 

5.2 형변환 방법

(타입)피연산자

  • boolean 타입을 제외한 나머지 타입들은 서로 형변환이 가능하다.
  • 기본형과 참조형간의 형변환은 불가능하다.
저작자표시 (새창열림)

'LANGUAGE > [JAVA]' 카테고리의 다른 글

Chapter07 객체지향 프로그래밍II(Object-oriented Programming II)  (0) 2021.08.24
Chapter06 객체지향 프로그래밍 I(Object-oriented Programming I)  (0) 2021.08.20
Chapter05 배열(array)  (0) 2021.08.18
Chapter04 조건문과 반복문 if, switch, for, while statement  (0) 2021.08.17
Chapter03 연산자(operator)  (0) 2021.08.13
  1. 1. 변수
  2. 1.1 변수(variable)란?
  3. 1.2 변수의 선언과 초기화
  4. 1.3 변수의 명명규칙
  5. 2. 변수의 타입
  6. 2.1 기본형(primitive type)
  7. 2.2 상수와 리터럴(constant & literal)
  8. 2.3 형식화된 출력 - printf()
  9. 2.4 화면에서 입력받기 - Scanner
  10. 3. 진법
  11. 3.1 10진법과 2진법
  12. 3.2 비트(bit)와 바이트(byte)
  13. 3.3 8진법과 16진법
  14. 3.4 음수의 2진 표현 - 2의 보수법
  15. 4. 기본형(primitive type)
  16. 4.1 논리형 - boolean
  17. 4.2 문자형 - char
  18. 4.3 정수형 - byte, short, int, long
  19. 4.4 실수형 - float, double
  20. 5. 형변환
  21. 5.1 형변환(캐스팅, casting)이란?
  22. 5.2 형변환 방법
'LANGUAGE/[JAVA]' 카테고리의 다른 글
  • Chapter06 객체지향 프로그래밍 I(Object-oriented Programming I)
  • Chapter05 배열(array)
  • Chapter04 조건문과 반복문 if, switch, for, while statement
  • Chapter03 연산자(operator)
쿠엔크
쿠엔크
우아한테크코스 5기 BE 에단 Github : https://github.com/cookienc
기러기는 기록기록우아한테크코스 5기 BE 에단 Github : https://github.com/cookienc
쿠엔크
기러기는 기록기록
쿠엔크
전체
오늘
어제
  • 분류 전체보기 (132)
    • CS (46)
      • [OS] (12)
      • [NETWORK] (10)
      • [DATABASE] (11)
      • [BASIC CONCEPT] (1)
      • [DATA STRUCTURE] (7)
      • [ALGORITHM] (5)
    • LANGUAGE (17)
      • [JAVA] (17)
    • DESIGN_PATTERN (2)
    • FRAMEWORK (18)
      • [SPRING] (18)
    • ORM (11)
      • JPA (11)
    • AWS (7)
    • BOOK (10)
      • [자바 웹 개발 워크북] (3)
      • [이펙티브 자바] (7)
    • 개발 (19)
      • [오류] (7)
      • [고민] (1)
      • [우테코] (10)
      • [iTracker] (1)
    • Tip (1)
      • [Plugins] (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 디자인 패턴
  • java
  • 스프링
  • 알고리즘
  • aws
  • ArgumentResolver
  • Effective Java
  • CORS
  • Spring
  • 개념
  • 오류
  • 자바 웹 개발 워크북
  • JVM
  • JPA
  • 가비아
  • 운영체제
  • 네트워크
  • 데이터베이스
  • 자료구조
  • HTTP

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
쿠엔크
Chapter02 변수(variable)

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.