Java : 수치형 변수, 불린형, 문자형, 문자열형, final 변수

커비·2024년 10월 16일
0

Java

목록 보기
3/55
post-thumbnail

오늘은 숫자를 다루는 수치형 변수와 참과 거짓을 다루는 불린형, 한 문자를 다루는 문자형에 대해 다뤄볼 예정

📌 수치형 변수

  • 수치를 대입할 수 있는 자료형에는 정수값을 저장하기 위한 정수형과 실수값을 저장하기 위한 실수형이 있음
  • 정수와 실수의 직관적인 차이는 숫자(문자 0~9)가 나열되어 있을 때 소수점의 유무
  • 양수는 '+'기호를 숫자 앞에 붙이거나 생략할 수 있음
  • 0은 -0 또는 +0으로 표기할 수 있음
  • 디지털 컴퓨터를 사용하므로 자리수가 제한되어 있음

📌 정수형

정수를 저장하기 위한 변수를 선언할 때 사용

  • 숫자를 저장하는 비트 수에 따라 byte, short, int, ling으로 나뉨
  • 알맞은 크기의 자료형은 계산과 메모리 효율을 높임
  • 자료형의 크기(비트수)가 작은 쪽에서 큰 쪽으로 대입할 때는 문제가 없음
  • 자료형의 크기(비트 수)가 큰 쪽에서 작은 쪽으로 대입할 때는 형변환(casting)이 필요함
  • 16진수는 수치 앞에 0x를 붙임
  • println 함수(메소드)를 이용해서 출력하면 십진수로 출력됨
  • 변수가 표현할 수 있는 범위를 넘어가는 수치를 대입하면 컴파일 에러가 발생함
자료형표현범위비트수
byte-128 ~ 127 (-2의 7승 ~ (-2의 7승-1))8
short-32768 ~ 32757 (-2의 15승 ~ (-2의 16승-1))16
int-2147483648 ~ 2147483647 (-2의 31승 ~ (-2의 31승-1))32
long-9223372036854775808 ~ 9223372036854775807 (-2의 63승 ~ (-2의 63승-1))64

각 형에 따라 메모리를 사용하는 양이 달라진다. (2배씩 증가한다고 암기하면 쉬움)

📍 long형 예시

  • long형은 배정도(double precision) 정수형이라고도 함
  • long형 변수에 정수를 대입할 경우는 수치의 뒤에 영문자 l또는 L을 붙임
  • long형 값을 출력하면 영문자 l또는 L은 출력되지 않음
// 실행코드
class Data2{
	public static void main(String[] ar){
   long x = 1234567890123L;
   
   	System.out.println(x);
    }
}
// 실행결과 (컴파일)

1234567890123

📍 short형 예시

  • 변수가 표현할 수 있는 범위를 넘어가는 수치를 대입하면 컴파일 에러가 발생함
// 실행코드
class Data4{
	public static void main(String[] ar){
   
   short x = 56789 ; // 에러 32767 보다 큼
   short y = 56789 ; // 에러 -32768 보다 작음
   
   	System.out.println(x);
    System.out.println(y);
    }
}
// 실행결과 (컴파일)

error : incompatible types : possible lossy conversion from int to short
	short x = 56789; //에러 32767 보다 큼
    
error : incompatible types : possible lossy conversion from int to short
	short y = -56789; //에러 32767 보다 작음
    
 error : compilation failed

📌 실수형

  • 실수를 저장하기 위한 변수를 선언할 때 사용함
  • 숫자를 저장하는 비트 수에 따라 float, double 형으로 나뉨
  • 알맞은 크기의 자료형은 계산과 메모리 효율을 높임
  • float형 변수에 숫자를 대입하는 경우 숫자 뒤에 영문자 f 또는 F를 붙임
  • 자료형의 크기(비트 수)가 작은 쪽에서 큰 쪽으로 대입할 때는 문제가 없음
  • 자료형의 크기(비트 수)가 큰 쪽에서 작은 쪽으로 대입할 때는 형변환(casting)이 필요함
  • 숫자를 10의 거듭제곱 형태로 표시할 때는 영문자 e 또는 E를 사용함
  • println을 이용해서 출력할 때 표시할 수 있는 자리수 이내의 숫자는 10의 거듭제곱 형태를 사용하지 않음
  • 실수형에서 0이 아닌 숫자를 0으로 나누었을 때는 무한대의 값으로 출력 시 문자열 Infinity가 표시됨
  • 실수형에서 0을 0으로 나누었을 때는 숫자가 아닌 값으로 출력 시 문자열 NaN이 표시 됨
자료형표현범위비트수
float±1.4 x 10의 -45승 ~ ±3.4 x 10의 38승32
double±3.9 x 10의 -324승 ~ ±1.8 x 10의 308승64

비트수는 정수형때와 동일하게 2배 증가한다고 암기하면 좋음

📍 float형과 double형의 사용 예제

// 실행 예제
class Data5 {
	public static void main(String[] ar) {
    
   float x = 1.23F ;
   double y = 1.23 ;
   
   	System.out.println(x);
    System.out.println(y);
    }
}
// 실행 결과 (컴파일)

1.23
1.23

📍 float형과 double형의 자리수 예제

  • 10의 거듭제곱은 영문자 E로 표시됨
// 실행 예제
class Data5 {
	public static void main(String[] ar) {
    
   float x = 1234567890.123456789012F ;
   double y = 1234567890.123456789012 ;
   
   // 9자리 표시 1.23456794E9 =
   	System.out.println(x);
    
    // 17자리 표시
    System.out.println(y);
    }
}
// 실행 결과 (컴파일)

1.23456794E9 // 1.234567894 x 10의 9승
1.2345678901234567E9

📌 불린(boolean)형

  • 불린형은 boolean 키워드를 사용
  • 불린형 값은 true 또는 false의 소문자로만 표시
  • truefalse
    거짓
  • 논리 연산의 결과를 대입할 때 주로 사용
// 실행 예제
class Data5 {
	public static void main(String[] ar) {
    
   boolean a = true, b = false;
   
   	System.out.println(a);
    System.out.println(b);
    }
}
// 실행 결과

true
false

📌 문자(Char)형

  • Java에서 문자는 16비트의 Unicode 문자 한개를 의미
  • 문자는 작은 따옴표 '와'으로 에워쌈 (ex. 'a')
  • 자료형의 키워드는 char임
  • char의 사이즈는 16비트
  • 문자는 유니코드로도 나타낼 수 있으며, 백슬래쉬 뒤에 u 16진수 코드를 씀 (ex. '₩u0041')
  • 한글, 한자, 일본어도 문자형 변수에 대입할 수 있음
// char 사용 예시

char a = 'A';
// char 사용 예시 (유니코드 포함)

// 문자 A를 그대로 지정하여 표시한다.
System.out.println('A');

// 문자 A를 문자코드로 지정하여 표시한다.
System.out.println('\u0041');

// Unicode의 \u0041은 A입니다.

📌 문자열(string)형

여러 개의 문자를 모아놓은 것

  • 문자열 자료형은 String이라는 키워드를 사용함
  • 문자열은 이중 따옴표 "와"로 에워쌈
  • 'a'는 문자형이고 "a"는 문자열형
// 문자열형 예시

String fruit = "apple"
  • 두 개의 문자열은 + 연산자를 사용하여 하나의 문자열로 연결할 수 있음
  • 서로 다른 자료형도 + 연산자를 사용하여 문자열로 연결할 수 있음
  • 문자열에서 - 연산자를 사용하여 문자열을 뺄 수는 없음
// 문자열형 + 활용 예시

String book = "책";
int a = 2;
char no = '권';

String shelf = book + a + no;

// 결과
String shelf = "책2권";

📌 final 변수

  • final 변수는 프로그램에서 한 번만 값이 할당될 수 있고 값이 할당된 이후에는 값의 변경이 불가능함
  • 상수 대신 의미있는 이름으로 변경해서 사용하고자 할 때 final 변수를 사용하면 가독성이 높아짐
  • 프로그램 내에서 의도하지 않게 값이 변경되는 것을 방지할 때도 사용함

final 자료형 변수명 = 초기값;

// final 변수 사용 예시

class Final_ex {
	public static void main(String[] ar) {
   final double PI = 3.14 ; // 3.14는 변경할 수 없음
   double radius = 1;
   double area;
   area = PI * radius * radius;
   
   System.out.println("반지름이 1인 원의 면적은 " + area + "입니다.");
// PI = 3.141592 ; // final 변수를 변경하려 하면 컴파일 에러 발생 
    }
}
profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글