πŸ—¨οΈ Backend/Java

[Java]λ³€μˆ˜(Variable)

Kyle99 2022. 8. 20. 16:14

λ³€μˆ˜λž€?

ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•  수 μžˆλŠ” μ €μž₯곡간

 

λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λŠ” 방법

λ³€μˆ˜νƒ€μž… λ³€μˆ˜μ΄λ¦„; 

 

int x; // μ •μˆ˜(integer)λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ λ³€μˆ˜ xλ₯Ό μ„ μ–Έ

int x;
x = 5;

int x = 5;
μ΄λ ‡κ²Œ ν•œ μ€„λ‘œ μ„ μ–Έν•  수 μžˆλ‹€.

int x = 5 , y = 10;
같은 νƒ€μž…μ˜ λ³€μˆ˜λ₯Ό ,λ₯Ό μ΄μš©ν•΄ ν•œ μ€„λ‘œ μ„ μ–Έν•  수 μžˆλ‹€.

 

λ³€μˆ˜μ˜ νƒ€μž…

λ³€μˆ˜μ˜ νƒ€μž…μ€ μ €μž₯ν•  κ°’μ˜ νƒ€μž…μ— μ˜ν•΄ κ²°μ •λœλ‹€.

μ €μž₯ν•  κ°’μ˜ νƒ€μž…κ³Ό μΌμΉ˜ν•˜λŠ” νƒ€μž…μœΌλ‘œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•œλ‹€.

 

κ°’μ˜ νƒ€μž…

숫자 - μ •μˆ˜ = byte , short , int , long

          μ‹€μˆ˜ = float , double

문자 - char

논리 - boolean

숫자 int
long
μ •μˆ˜(integer)λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ νƒ€μž… ( 20얡이 λ„˜μ„ λ•ŒλŠ” long을 μ‚¬μš©)
float
double
μ‹€μˆ˜(foating-point number)λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ νƒ€μž…
(floatλŠ” μ˜€μ°¨μ—†μ΄ 7자리. double은 15자리)
문자 char 문자(character)λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ νƒ€μž…
String μ—¬λŸ¬ 문자(λ¬Έμžμ—΄, string)λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ νƒ€μž…
int 	 x = 100; // μ •μˆ˜λ₯Ό μ €μž₯ν•  λ³€μˆ˜μ˜ νƒ€μž…μ€ int
double pi = 3.14; // μ‹€μˆ˜λ₯Ό μ €μž₯ν•  λ³€μˆ˜μ˜ νƒ€μž…μ€ double
char    ch = 'a'; // 문자(1개)λ₯Ό μ €μž₯ν•  λ³€μˆ˜μ˜ νƒ€μž…μ€ char
String str = "abc"; // μ—¬λŸ¬ 문자(0~n개)λ₯Ό μ €μž₯ν•  λ³€μˆ˜μ˜ νƒ€μž…μ€ String

 

λ³€μˆ˜μ˜ μ’…λ₯˜

클래슀 λ³€μˆ˜

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜

μ§€μ—­ λ³€μˆ˜ ( μ§€μ—­ λ³€μˆ˜λŠ” 읽기 전에 κΌ­ μ΄ˆκΈ°ν™”ν•΄μ•Ό ν•œλ‹€ )

 

두 λ³€μˆ˜μ˜ κ°’ κ΅ν™˜

int x = 10 , y = 20

x와 y의 값을 λ°”κΏ€λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Όν• κΉŒ?

x = y; 
y = x;

μ΄λ ‡κ²Œ μ½”λ“œλ₯Ό μž…λ ₯ν• μ‹œ x와 y의 값이 λ‘˜λ‹€ 20이 λœλ‹€.

μ΄λ ‡κ²Œ 두 λ³€μˆ˜μ˜ 값을 κ΅ν™˜ν• μ‹œμ—λŠ” μƒˆλ‘œμš΄ λ³€μˆ˜κ°€ ν•„μš”ν•˜λ‹€.

int x = 10 , y = 20 ;
int tmp ;

tmp = x ;
x의 값을 tmp에 μ €μž₯ν•œλ‹€.
x = y ;
x의 값을 y에 μ €μž₯ν•œλ‹€.
y = tmp ;
tmp의 값을 y에 μ €μž₯ν•œλ‹€.

 

κΈ°λ³Έν˜•κ³Ό μ°Έμ‘°ν˜•

 

κΈ°λ³Έν˜•(Primitive type)

- 였직 8개 ( boolean , char , byte , short , int , long , flaot , double )

- μ‹€μ œ 값을 μ €μž₯

 

μ°Έμ‘°ν˜•(Reference type)

- κΈ°λ³Έν˜•μ„ μ œμ™Έν•œ λ‚˜λ¨Έμ§€ ( String , System λ“± )

- λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό μ €μž₯ ( 4byte λ˜λŠ” 8byte )

 

κΈ°λ³Έν˜•(Primitive type)의 μ’…λ₯˜μ™€ 크기

 

νƒ€μž…κ°„μ˜ λ³€ν™˜λ°©λ²•

System.out.println("문자λ₯Ό 숫자둜 = "+( '3'-'0' ));
System.out.println("숫자λ₯Ό 문자둜 = "+( 3 + '0' ));
System.out.println("μ •μˆ˜λ₯Ό λ¬Έμžμ—΄λ‘œ =  "+(3 + ""));
System.out.println("문자λ₯Ό λ¬Έμžμ—΄λ‘œ =  "+('3' + ""));
System.out.println("λ¬Έμžμ—΄μ„ 숫자둜 =  "+ Integer.parseInt("3"));
System.out.println("λ¬Έμžμ—΄μ„ μ‹€μˆ˜λ‘œ =  "+Double.parseDouble("3.14"));
System.out.println("λ¬Έμžμ—΄μ„ 문자둜 =  "+ "3".charAt(0));

좜λ ₯된 값은 λ‹€μŒκ³Ό κ°™λ‹€.

문자λ₯Ό 숫자둜 = 3
숫자λ₯Ό 문자둜 = 51
μ •μˆ˜λ₯Ό λ¬Έμžμ—΄λ‘œ =  3
문자λ₯Ό λ¬Έμžμ—΄λ‘œ =  3
λ¬Έμžμ—΄μ„ 숫자둜 =  3
λ¬Έμžμ—΄μ„ μ‹€μˆ˜λ‘œ =  3.14
λ¬Έμžμ—΄μ„ 문자둜 =  3

 

숫자λ₯Ό 문자둜 λ³€ν™˜ν–ˆμ„μ‹œ 51 μ΄λΌλŠ” 값이 λ‚˜μ™”λ‹€.

κ·Έ μ΄μœ λŠ” '0' 은 숫자둜 48이기 λ•Œλ¬Έμ— κ·Έλ ‡λ‹€.

 

ν˜•λ³€ν™˜μ„ μ‚¬μš©ν•˜λ©΄ (char)을 μ‚¬μš©ν•˜λ©΄ 3을 좜λ ₯ν• μˆ˜λ„ μžˆλ‹€.