23. Back-end/23. JAVA

[Java 002] DataTypeκ³Ό λ³€μˆ˜, μ—°μ‚°μž

keemzeehae 2021. 12. 23. 21:51

λ³€μˆ˜

λ³€ν•˜λŠ” κ°’

ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜λŠ” λ©”λͺ¨λ¦¬(Ram)μƒμ˜ 곡간

 

μƒμˆ˜μ™€ λ¦¬ν„°λŸ΄

μƒμˆ˜: λ³€ν•˜μ§€ μ•ŠλŠ” κ°’

λ¦¬ν„°λŸ΄: λ³€μˆ˜μ— λŒ€μž…ν•˜λŠ” μƒμˆ˜ 데이터

 

λ°μ΄ν„°νƒ€μž…(DataType)

λ°μ΄ν„°νƒ€μž…μ˜ 선택은 λ¦¬ν„°λŸ΄μ˜ νƒ€μž…μ„ 보고 κ²°μ •

 

1. Primitive Type(μ›μ‹œ νƒ€μž…, κΈ°λ³Έ νƒ€μž…)

 - 더 이상 뢄리 ν•  수 μ—†λŠ” 데이터

 

1) 숫자

a. μ •μˆ˜ν˜•: μ†Œμˆ«μ μ΄ μ—†λŠ” 숫자

-byte  1byte  -128~127 (ν‘œν˜„κ°€λŠ₯ λ²”μœ„)  Bitλ₯Ό λ‹€λ£° λ•Œ 주둜 μ‚¬μš©

-short 2byte  -32768~32767  C언어와 ν˜Έν™˜

-int    4byte  -20μ–΅~20μ–΅

-long  8byte  -??~??

*int와 κ΅¬λ³„ν•˜κΈ° μœ„ν•΄ 숫자 뒀에 μ•ŒνŒŒλ²³ L(l)을 μž‘μ„±

*long num =10L;

 

 

b. μ‹€μˆ˜ν˜•: μ†Œμˆ«μ μ΄ μžˆλŠ” 숫자

-float  4byte  μ†Œμˆ«μ  7 자리

*doubleκ³Ό κ΅¬λ³„ν•˜κΈ° μœ„ν•΄ 숫자 뒀에 μ•ŒνŒŒλ²³ F(f)λ₯Ό μž‘μ„±

-float f = 3.2F;

 

-double  8byte  μ†Œμˆ«μ  15 자리 

 

2) 문자

-char  2byte

문자 ν•œκΈ€μž

λ¦¬ν„°λŸ΄ μ•žλ’€λ‘œ ''둜 감싸야 함

ex) char ch = 'a';

 

3)논리 

boolean  1byte

값은 true, false λ‘˜ 쀑 ν•˜λ‚˜λ₯Ό 담을 수 있음

 

2. Reference Type (μ°Έμ‘°νƒ€μž…)

-Primitive Type 을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ μ „λΆ€

-Classκ°€ λ°μ΄ν„°νƒ€μž… μž„

-μ‚¬μš©μž μ •μ˜ λ°μ΄ν„°νƒ€μž…

 

String(λ¬Έμžμ—΄)

""κ°€ 감싸고 있음

String name = "hamburger"

 

λ³€μˆ˜ μ„ μ–Έ 

데이터 νƒ€μž…  λ³€μˆ˜λͺ…;

 

μ΄ˆκΈ°ν™” 

μ„ μ–Έλœ λ³€μˆ˜μ— 졜초둜 값을 λŒ€μž…

λ³€μˆ˜ μ‚¬μš©μ‹œ μ΄ˆκΈ°ν™” ν•˜μ§€λ©΄ μ‚¬μš©ν•  λ•Œ μ—λŸ¬ λ°œμƒ


μ—°μ‚°μž

 

1. λŒ€μž… μ—°μ‚°μž

= : λŒ€μž… μ—°μ‚°μž

: 우츑의 결과값을 μ’ŒμΈ‘μ— λŒ€μž…

: μš°μ„ μˆœμœ„κ°€ 거의 끝

 

λ³€μˆ˜ = κ°’

 

int num = 3+2;

 

2. μ‚°μˆ  μ—°μ‚°μž

1. +

1) μ‚°μˆ μ—°μ‚°: 숫자 계산 a+b, 10+20

2) μ—°κ²°μ—°μ‚°: String +primitive 의 결과물은 λ‘˜μ΄ ν•©μΉœ String

 

2. -

3. *

4. / : λͺ«μ„ κ΅¬ν•˜λŠ” μ—°μ‚°μž

5. % : λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ” μ—°μ‚°μž

 

ex) int num = 5/2

num의 값은 2

int a = 5%2

a의 값은 1

 

3. 비ꡐ μ—°μ‚°μž(관계 μ—°μ‚°μž)

μ—°μ‚°μ˜ κ²°κ³ΌλŠ” boolean

1. >, >= , <, <=

 ex) a > b

2. ==, !=

ex) a==b 20==20 ->true

    a != b 20 != 20 -> false

 


λ°μ΄ν„°μ˜ 크기

8 bit (λΉ„νŠΈ) 1 byte
1024 byte (λ°”μ΄νŠΈ) 1 kilobyte
1024 kilobyte (ν‚¬λ‘œλ°”μ΄νŠΈ) 1 megabyte
1024 megabyte (λ©”κ°€λ°”μ΄νŠΈ) 1 gigabyte
1024 gigabyte  (κΈ°κ°€λ°”μ΄νŠΈ) 1 terabyte
1024 terabyte (ν…ŒλΌλ°”μ΄νŠΈ) 1 petabyte
1024 petabyte (νŽ˜νƒ€λ°”μ΄νŠΈ) 1 exabyte
1024 exabyte (μ—‘μ‚¬λ°”μ΄νŠΈ) 1 zettabyte

 

/*

기둝용 λΈ”λ‘œκ·Έ μž…λ‹ˆλ‹€ :)

ν‹€λ¦° 뢀뢄이 있으면 λŒ“κΈ€λ‘œ λ‚¨κ²¨μ£Όμ„Έμš”.

κ°μ‚¬ν•©λ‹ˆλ‹€.

*/