[Java의 정석]Chapter2.변수(10~12)

Hello_Wendy·2022년 4월 3일
1

자바의 정석

목록 보기
8/61
post-thumbnail

Chapter 2. 변수

10. 기본형과 참조형

  • 값(data)의 종류(type)에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형(data type)
  • 자료형에는 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)등이 있으며, 변수 선언 시 저장하려는 값의 특성을 고려하여 알맞는 자료형변수의 타입으로 선택

기본형과 참조형

기본형(primitive type) 변수
실제 값(data)을 저장. 모두 8개
참조형(reference type) 변수
어떤 값이 저장되어 있는 주소(memory address)(객체의 주소, 4byte 정수)를 값으로 가짐. 8개의 기본형을 제외한 나머지 타입

자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수임

11. 기본형의 종류와 범위

boolean은 true와 false 두 가지 값만 표현할 수 있으면 되므로 가장 작은 크기인 1byte
char은 자바에서 유니코드(2byte 문자체계)를 사용하므로 2byte
byte는 크기가 1byte라서 byte
int(4byte)를 기준으로 짧아서 short(2byte), 길어서 long(8byte)
float는 실수값을 부동소수점(floating-point)방식으로 저장하기 때문에 floa
double은 float보다 두 배의 크기(8byte)를 갖기 때문에 double


🚩 각 타입의 변수가 저장할 수 있는 값의 범위

값의 범위를 외울 필요는 없고, 정수형(byte, shoort, int, long)의 경우 '-2^n-1~2^n-1-1'(n은 bit수)라는 정도만 기억

💡 예를 들어, int타입의 변수는 대략 10자리 수(약 ±20억)의 값을 저장할 수 있으며, 
7~9자리의 수를 계산할 때 넉넉히 long타입(약 19자리)으로 변수 선언하는 것이 좋음

12. Printf를 이용한 출력

println()은 변수의 값을 그대로 출력하므로, 값을 변환하지 않고는 다른 형식으로 출력 불가

  • 같은 값이라도 다른 형식(ex.소수점 둘째자리까지만 혹은 정수를 16진수나 8진수로)으로 출력할 때 printf()를 사용
  • printf()는 '지시자(specifier)'를 통해 변수의 값을 여러가지 형식으로 변환하여 출력하는 기능을 가짐
  • '지시자'는 값을 어떻게 출력할 것인지를 지시해주는 역할
  • 출력하려는 값이 2개라면, 지시자도 2개를 사용(출력값과 지시자의 개수의 제한 없음)(출력될 값과 지시자의 순서는 일치)


    📍자주 쓰이는 지시자

ex

<%d 사용>
System.out.printf("age:%d", age); //이 줄만 쓰고자하면 int age 선언필요System.out.printf("age:%d", 14); //"age:14"가 화면에 출력System.out.printf("age:14"); //"age:14"가 화면에 출력

System.out.printf("age:%d year:%d", age, year);
System.out.printf("age:%d year:%d", 14, 22); //"age:14 year:22"출력

<%n사용>
System.out.printf("age:%d", age); //출력 후 줄바꿈X
System.out.printf("age:%d%n", age); //출력 후 줄바꿈O
profile
안녕 나의 새로운 세상

0개의 댓글