๊ด€๋ฆฌ ๋ฉ”๋‰ด

gi_dor

Java (2) Variable ( ์ •์ˆ˜ , ์‹ค์ˆ˜ , ๋ฌธ์ž , ๋ฌธ์ž์—ด , ํ˜•๋ณ€ํ™˜) ๋ณธ๋ฌธ

Language/Java

Java (2) Variable ( ์ •์ˆ˜ , ์‹ค์ˆ˜ , ๋ฌธ์ž , ๋ฌธ์ž์—ด , ํ˜•๋ณ€ํ™˜)

๊ธฐ๋Œ 2023. 10. 24. 20:11

๐Ÿ“š ๊ตญ๋น„ 11 ์ผ์ฐจ


Java๊ฐ€ ์ ์šฉ๋˜๋Š” ๋ถ„์•ผ

  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
  • ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ( ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ์ด์ „ )
  • ์ •๋ณด์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ( ์›น์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์—…๋ฌด์šฉ ํ”„๋กœ๊ทธ๋žจ )
  • ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ( ํ•˜๋‘ก , ์ŠคํŒŒํฌ )

Java๋ฅผ ์ ์šฉํ•˜๊ธฐ ์–ด๋ ค์šด ๋ถ„์•ผ

  • ๋†’์€ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ ( Rust , c , c++์„ ์ฃผ๋กœ ํ™œ์šฉ )
  • ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ( ์šด์˜์ฒด์ œ, ๋“œ๋ผ์ด๋ฒ„, ์ปค๋„)

ํ”„๋กœ๊ทธ๋žจ์ด๋ž€?

์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ž‘์—…์„ ์ˆœ์„œ์— ๋งž๊ฒŒ ์ž‘์„ฑํ•œ ์ž‘์—… ์ง€์‹œ์„œ

์ž‘์—…์ง€์‹œ์„œ  ์š”๋ฆฌ ๋ ˆ์‹œํ”ผ
๋ฐ์ดํ„ฐ ์ค€๋น„ ์žฌ๋ฃŒ ์ค€๋น„
๋ฐ์ดํ„ฐ ๊ฐ€๊ณต / ์กฐ์ž‘ ์žฌ๋ฃŒ๊ฐ€๊ณต
์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ ์š”๋ฆฌ

 


๋ชฉ์ฐจ

์ •์ˆ˜
์‹ค์ˆ˜
๋ฌธ์ž
๋ฌธ์ž์—ด
๋…ผ๋ฆฌํ˜•
ํ˜•๋ณ€ํ™˜
๋ฆฌํ„ฐ๋Ÿด
์—ฐ์‚ฐ์›์น™
ํ˜•๋ณ€ํ™˜
๊ฐ•์ œํ˜•๋ณ€ํ™˜


๐Ÿ”ถ ์ž๋ฃŒํ˜•๊ณผ ๋ณ€์ˆ˜ 

๐Ÿ”น ๋ณ€์ˆ˜ 

๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ๋‹ด๋Š” ์ €์žฅ์†Œ
๊ณ ์œ ํ•œ ํƒ€์ž…์„ ๊ฐ–์œผ๋ฉฐ ์ผ์น˜ํ•˜๋Š” ํƒ€์ž…์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค


๐Ÿ”น   ์ž๋ฐ”์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ข…๋ฅ˜

  • ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ์ข…๋ฅ˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค
  • ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” ๋ฐ˜๋“œ์‹œ ๊ทธ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
Type Keyword Size Default value
๋…ผ๋ฆฌํ˜• boolean 1 byte false
์ •์ˆ˜ํ˜• byte 1 byte 0
์ •์ˆ˜ํ˜• short 2 byte 0
์ •์ˆ˜ํ˜• int 4 byt 0
์ •์ˆ˜ํ˜• longt 8 byte 0L
์‹ค์ˆ˜ํ˜• float 4 byte 0.0F
์‹ค์ˆ˜ํ˜• double 8 btte 0.0
๋ฌธ์žํ˜• char 2 byte '\u0000'

๐Ÿ”น ์ •์ˆ˜ํ˜•

  byte , short , int , long

  • ์ •์ˆ˜ ์ž๋ฃŒํ˜•์˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์€ int๊ฐ€ default๋‹ค
  • ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •์ˆ˜ ๊ฐ’์€ int ๋ฒ”์œ„ ๋‚ด์— ์†ํ•˜๊ธฐ ๋•Œ๋ฌธ 
  • ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜๋Š” int ํƒ€์ž…์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. 
     ( byte ํƒ€์ž…์€ ์ž…์ถœ๋ ฅ์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ ํ•œ๋‹ค. )
     (long ํƒ€์ž…์€ int ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ์ •์ˆ˜๊ฐ’์„ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ ํ•œ๋‹ค   Ex. ์€ํ–‰ ์˜ˆ๊ธˆ์˜ ์ž”์•ก )

๐Ÿ”น ์‹ค์ˆ˜ํ˜•

  •  float , double 
  •  ์‹ค์ˆ˜ํ˜•์˜ default ์ž๋ฃŒํ˜•์€ double
  • ์‹ค์ˆ˜๊ฐ’์˜ ๋Œ€๋ถ€๋ถ„ double ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋กœ ๋‹ค๋ฃฌ๋‹ค
  • float ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฑฐ์˜ ์—†๋‹ค


๐Ÿ”น ๋ฌธ์ž ์ž๋ฃŒํ˜•

  • char
  • ๋ฌธ์ž ์ž๋ฃŒํ˜• ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋Š” ์˜ค์ง ' ํ•œ ๋ฌธ์ž๋งŒ ' ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค
  • ๋ฌธ์ž ์ž๋ฃŒํ˜•์˜ ์œ ๋‹ˆ ์ฝ”๋“œ๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „ ์„ธ๊ณ„์˜ ๋ชจ๋“  ๊ธ€์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค
  • ๋งŒ์•ฝ 1๊ธ€์ž ์ด์ƒ์„ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ String ๊ฐ์ฒด ์‚ฌ์šฉ

๐Ÿ”น ๋ฌธ์ž์—ด 

  • ๋ฌธ์ž์—ด์€ 1๊ธ€์ž ์ด์ƒ์˜ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ๋ฌธ์ž์—ด์€ "  " ์‚ฌ์ด์— ํ‘œ์‹œํ•œ๋‹ค.
  • ๋ฌธ์ž์—ด์€ 1๊ธ€์ž ์ด์ƒ์€ ํ‘œํ˜„๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์„ ๋Œ€์ƒ์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
  • ๊ธธ์ด ์กฐํšŒํ•˜๊ธฐ , ํŠน์ • ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์กฐํšŒํ•˜๊ธฐ , ํŠน์ •์œ„์น˜ ํŒŒ์•… ๋ฌธ์ž ์•Œ์•„๋‚ด๊ธฐ
  • ํŠน์ • ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋๋‚˜๋Š”์ง€ ์•Œ์•„๋‚ด๊ธฐ , ๋Œ€ / ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ
  • ํŠน์ • ์‹œ๊ฐ„ ์œ„์น˜๋ถ€ํ„ฐ ์ง€์ •๋œ ์œ„์น˜๊นŒ์ง€ ์ž˜๋ผ ๋‚ด๊ธฐ , ํŠน์ • ๋ฌธ์ž์—ด์„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

Java๋Š” ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๊ณ  ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” String ํด๋ž˜์Šค (์„ค๊ณ„๋„)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

String s1 = "ํ™๊ธธ๋™";
String s2 = "์„œ์šธํŠน๋ณ„์‹œ ์ข…๋กœ๊ตฌ ";
String s3 = "ํ™๊ธธ๋™ , ๊น€์œ ์‹  , ๊น€์‹œ๋ฏผ , ๊ณฝ์žฌ์šฐ";
String s4 = "010-1234-9876";
String s5 = "A";
String s6 = 'A'; // ์˜ค๋ฅ˜ , ๋ฌธ์ž ํƒ€์ž…์˜ ๊ฐ’์€ String ๋ณ€์ˆ˜์— ๋‹ด์„์ˆ˜ ์—†๋‹ค

char c1 ='A';
char c2 = "A"; // ์˜ค๋ฅ˜ , ๋ฌธ์ž์—ด ํƒ€์ž…์˜ ๊ฐ’์€ char์— ๋‹ด์„์ˆ˜ ์—†๋‹ค
// Error 
Type mismatch: cannot convert from char to String

 


๐Ÿ”น ๋…ผ๋ฆฌํ˜• 

  • boolean
  • ๋…ผ๋ฆฌ ๊ฐ’์€ true / false 2๊ฐ€์ง€ ๊ฐ’๋งŒ ์กด์žฌํ•œ๋‹ค
  • true์™€ false๋Š” ๊ฐ๊ฐ ์ฐธ / ๊ฑฐ์ง“ ์„ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฐ”์˜ ์˜ˆ์•ฝ์–ด๋‹ค
  • ๋…ผ๋ฆฌ ๊ฐ’์€ boolean ํƒ€์ž…์˜ ๋ณ€์ˆ˜์—๋งŒ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.
boolean b1 = true;
boolean b2 = false;

boolean ํ•ฉ๊ฒฉ์—ฌ๋ถ€ = true;
boolean ์กด์žฌ์—ฌ๋ถ€ = false;
boolean ๋ฐฐ์†ก์™„๋ฃŒ์—ฌ๋ถ€ = true;
boolean ํ‡ด์‚ฌ์—ฌ๋ถ€ = false;

๐Ÿ”น Java์˜ ๋ฆฌํ„ฐ๋Ÿด

โœ” ์ •์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด : ์ฝ”๋“œ์—์„œ ์ •์ˆ˜ ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
100 , -100 , 100_000_00 ,  0100  ,  0x100

โœ” ์‹ค์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด : ์ฝ”๋“œ์—์„œ ์‹ค์ˆ˜ ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
3.16 , -3.24 , 1.235e2

โœ” ๋ฌธ์ž ๋ฆฌํ„ฐ๋Ÿด : ์ฝ”๋“œ์—์„œ ํ•œ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• , char ํƒ€์ž…์˜ ๊ฐ’์„ ํ‘œํ˜„
'A' , '๊ฐ€' โฌ… ๋ฌธ์ž ํƒ€์ž…(char) 
'ํ™๊ธธ๋™'   โฌ… ์˜ค๋ฅ˜

โœ” ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด : ์ฝ”๋“œ์—์„œ ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
"ABCDEF" , "๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ์•„์ž์ฐจ์นดํƒ€ํŒŒํ•˜"
"A" โฌ… ๋ฌธ์ž์—ด ํƒ€์ž… (String) A
"๊ฐ€" โฌ… ๋ฌธ์ž์—ด ํƒ€์ž…(String) ๊ฐ€


๐Ÿ“Œ ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•  ๐Ÿ“Œ

1๏ธโƒฃ ๊ธฐ๋ณธ์ž๋ฃŒํ˜• 

์ •์ˆ˜   byte  short  int  long
์‹ค์ˆ˜   double  float
๋ฌธ์ž   char
๋…ผ๋ฆฌ  boolean

2๏ธโƒฃ  ์ฐธ์กฐ์ž๋ฃŒํ˜•

๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์„ ์ œ์™ธํ•œ ์ „๋ถ€๋‹ค.
๋ฌธ์ž์—ด String

 


๐Ÿ”น Java์˜ ์—ฐ์‚ฐ์›์น™

โ‘  ์ž๋ฐ”์˜ ์—ฐ์‚ฐ์€ ๊ฐ™์€ ํƒ€์ž…๋ผ๋ฆฌ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค ( int๋Š” int๋ผ๋ฆฌ double ์€ double๋กœ ๋ผ๋ฆฌ๋ผ๋ฆฌ ์—ฐ์‚ฐํ•˜๊ธฐ)
โ‘ก ์ž๋ฐ”์˜ ์—ฐ์‚ฐ์€ ์—ฐ์‚ฐ์— ์ฐธ์—ฌํ•œ ๊ฐ’์˜ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ํƒ€์ž…์ด๋‹ค
โ‘ข ์ž๋ฐ”์˜ ์—ฐ์‚ฐ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ’์˜ ํƒ€์ž…์ด ์„œ๋กœ ๋‹ค๋ฅธ๊ฒฝ์šฐ , ๊ฐ™์€ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ์—ฐ์‚ฐ์ด ์ผ์–ด๋‚œ๋‹ค.

๐Ÿ“Œ ํƒ€์ž… ๋ณ€ํ™˜์€ ๊ฐ’์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค ( ์ ์€ byte   ํฐ byte )
์ •์ˆ˜ ๊ธฐ๋ณธ int (4byte)  →  ์‹ค์ˆ˜ ๊ธฐ๋ณธ double (8byte)๋กœ ๋ณ€ํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ์ƒ๊ธฐ์ง€ ์•Š๊ณ 
๋ฐ˜๋Œ€๋กœ ์‹ค์ˆ˜ double → int๊ฐ€ ๋˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•œ๋‹ค. ( 8byte →  4byte )

1. ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ํƒ€์ž… ->> ํฌ๊ธฐ๊ฐ€ ๋” ํฐ ํƒ€์ž…
long x = 10;
// int ํƒ€์ž… 10 ์ด long ํƒ€์ž… 10 ์œผ๋กœ ๋ณ€ํ™˜ํ›„ ๋Œ€์ž…

2. ์ •๋ฐ€๋„๊ฐ€ ๋‚ฎ์€ ํƒ€์ž… ->> ์ •๋ฐ€๋„๊ฐ€ ๋” ๋†’์€ํƒ€์ž…
double d = 3; 
// int ํƒ€์ž… 3์ด double ํƒ€์ž… 3.0 ์œผ๋กœ ๋ณ€ํ™˜ํ›„ ๋Œ€์ž…๋œ๋‹ค.

 


๐Ÿ”น ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ํ˜•๋ณ€ํ™˜

โ‘  ์ž๋™ ํ˜•๋ณ€ํ™˜
     ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๋ฐฉํ–ฅ์œผ๋กœ์˜ ํ˜•๋ณ€ํ™˜์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค

โ‘ก ๊ฐ•์ œํ˜•๋ณ€ํ™˜
     ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ์˜ ํ˜•๋ณ€ํ™˜์€ ์ž๋™์œผ๋กœ ์ผ์–ด๋‚˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 
     ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ•์ œ๋กœ ํ˜•๋ณ€ํ™˜ ๋ฐฉํ–ฅ์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

// ์—ฐ์‚ฐ์— ์ฐธ์—ฌํ•œ ๊ฐ’์˜ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•˜๋‹ค.
System.out.println(10 / 3);
System.out.println(10.0 / 3.0);

// ์—ฐ์‚ฐ์— ์ฐธ์—ฌํ•œ ๊ฐ’์˜ ํƒ€์ž…์ด ์„œ๋กœ ๋‹ค๋ฅธ๊ฒฝ์šฐ ๊ฐ™์€ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ›„ ์—ฐ์‚ฐ์ด ์ผ์–ด๋‚œ๋‹ค
// ํ˜•๋ณ€ํ™˜ ๋ฐฉํ–ฅ์€ ๋” ํฐ ๋ฐ์ดํ„ฐ ํƒ€์ž… ํ˜น์€ ์ •๋ฐ€๋„๊ฐ€ ๋” ๋†’์€ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
// ์ •์ˆ˜ / ์‹ค์ˆ˜ -> ์‹ค์ˆ˜ / ์‹ค์ˆ˜ ----> ์‹ค์ˆ˜

System.out.println(12 / 5.0); // 12 / 5.0 ->>>  12.0 / 5.0  ---- 2.4
System.out.println(12.0 / 5); // 12.0 / 5 ->>> 12.0 / 5.0  ---- 2.4

// ์—ฐ์‚ฐ์— ์ฐธ์—ฌํ•˜๋Š” ๋ณ€์ˆ˜์˜ ํƒ€์ž…๊ณผ ๊ฐ’์˜ ํƒ€์ž…์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฝ์šฐ 
// ๊ฐ’์˜ ํƒ€์ž…์„ ๋ณ€์ˆ˜์˜ ํƒ€์ž…๊ณผ ๊ฐ™์€ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ ํ•œ ๋’ค์— ์—ฐ์‚ฐ์ด ์‹คํ–‰๋œ๋‹ค.

double num1 = 3; // ์‹ค์ˆ˜ ํƒ€์ž…์ธ๋ฐ ๊ฐ’์ด ์ •์ˆ˜ ?
// double num1 = 3.0 ์œผ๋กœ ๋ฐ์ดํ„ฐ ์†์‹ค ์—†์ด ๋ฐ”๋€๋‹ค.
int num2 = 3.4;  

//Type mismatch: cannot convert from double to int
// ๋ณ€์ˆ˜ ํƒ€์ž…์ด int ์ธ๋ฐ ๊ฐ’์˜ ํƒ€์ž…์ด double ์ด๋‹ค
// ๋ณ€์ˆ˜์˜ ํƒ€์ž…๊ณผ ๊ฐ™์€ ํƒ€์ž…์œผ๋กœ ๊ฐ’์„ ๋ณ€ํ™˜ํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด ๋ฐœ์ƒํ•จ
// ์ž๋™ํ˜•๋ณ€ใ„นํ™˜์ด ์ผ์–ด๋‚ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ
// ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜

int num3 = (int) 3.14;
System.out.println(num3);   // 3 , ์†Œ์ˆ˜์  ๋‚ ๋ผ๊ฐ

๐Ÿ”น ํƒ€์ž… ๊ฐ„์˜ ํ˜•๋ณ€ํ™˜

์ •์ˆ˜  ↔  ์ •์ˆ˜

byte x = 10;  int y = x;
int x = 10;  byte y = (byte)x;

 

์‹ค์ˆ˜  ↔  ์‹ค์ˆ˜

double x = 3.14;  float y = (float) x;

์ •์ˆ˜  ↔  ์‹ค์ˆ˜

double x = 10;
int x = (int) 3.14;

์ •์ˆ˜  ↔  ๋ฌธ์ž

char x = 65;
int x = 'A';

ํ˜•๋ณ€ํ™˜์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ

int x = (int)"123445";

String x = 'A';

int y = true;

boolean x = 1;

char x = "A";

 

 


์‹ค์Šต

 

โ—ป ์‹ค์Šต - ๋ณ€์ˆ˜์ƒ์„ฑ , ์ดˆ๊ธฐํ™”

// ๋ณ€์ˆ˜ ์ƒ์„ฑ
int a; 	// ๋ฉ”๋ชจ๋ฆฌ์— ์ •์ˆ˜๋ฅผ ์ €์žฅํ• ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ํ™•๋ณด๊ฐ€ ๋˜๊ณ  , ๊ทธ ์ €์žฅ์†Œ๋ฅผ
	// a๋ผ๋Š” ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์•ก์„ธ์Šค ํ• ์ˆ˜ ์žˆ๋‹ค.
			
		
// ์ดˆ๊ธฐํ™” ํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋Š” ์ถœ๋ ฅ์ด๋‚˜ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ ํ• ์ˆ˜๊ฐ€ ์—†๋‹ค
//	System.out.println(a);
//	The local variable a may not have been initialized at variable.Sample01.main(Sample01.java:29
		
a = 100;	// ๋ณ€์ˆ˜ a์— ๊ฐ’์„ ๋Œ€์ž… , ๋Œ€์ž… / ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์šฐ๋ฆฌ๋Š” '๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™” ํ•œ๋‹ค' ๋ผ๊ณ  ํ•œ๋‹ค.
System.out.println("a = " + a);

 

โ—ป ์‹ค์Šต - ์ •์ˆ˜

		int num1 = 100;			// ์–‘์˜ ์ •์ˆ˜๊ฐ’ ์ €์žฅ
		int num2 = -100;		// ์Œ์˜ ์ •์ˆ˜๊ฐ’ ์ €์žฅ
		int num3 = 100_000_000;	// ์ž๋ฆฟ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ •์ˆ˜๊ฐ’์„ ์ €์žฅ 
		int num4 = 010;		// 8์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„๋œ ์ •์ˆ˜ ๊ฐ’์„ ์ €์žฅ
		int num5 = 0x10;		// 16์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ใ…ˆ๋œ ์ •์ˆ˜ ๊ฐ’์„ ์ €์žฅ
		
		System.out.println("num1 ์˜ ๊ฐ’ : "+num1);
		System.out.println("num2 ์˜ ๊ฐ’ : "+num2);
		System.out.println("num3 ์˜ ๊ฐ’ : "+num3);
		System.out.println("num4 ์˜ ๊ฐ’ : "+num4);
		System.out.println("num5 ์˜ ๊ฐ’ : "+num5);
        
         long num6 = 10_000_000_000L;
	     	System.out.println("num6์˜ ๊ฐ’ : " + num6);
	      
	      // ๊ณ„์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ€ int ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ
	      int num7 = 123456789;
	      int num8 = 123;
	      int num9 = num7*num8;
    	  System.out.println("num9์˜ ๊ฐ’ : " + num9);
	      
	      long num10 = num7 * num8;
	      System.out.println("long num10 ์˜ ๊ฐ’ : "+ num10);
	      // long ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์คฌ๋Š”๋ฐ ์™œ ๊ฐ™์€ ๊ฐ’์ธ - 1994684137  num9 ์˜ ๊ฐ’๊ณผ ๊ฐ™์€๊ฑฐ์ง€ ?
        
        long num11 = (long)num7 * num8;
	      System.out.println("num11์˜ ๊ฐ’ : "+num11);
        
        
        /*
        num1 ์˜ ๊ฐ’ : 100
	num2 ์˜ ๊ฐ’ : -100
	num3 ์˜ ๊ฐ’ : 100000000
	num4 ์˜ ๊ฐ’ : 8
	num5 ์˜ ๊ฐ’ : 16
	num6์˜ ๊ฐ’ : 10000000000
	num9์˜ ๊ฐ’ : -1994684137
		*/

 

โ—ป ์‹ค์Šต - ์‹ค์ˆ˜  ( ์‹ค์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ ? 2์ง„๋ฒ• ๋‚˜์˜ค๊ณ  ๋‚œ๋ฆฌ ๋‚˜์„œ ์ดํ•ด ๋ชปํ•จ)

// ์‹ค์ˆ˜ ์ž๋ฃŒํ˜•
		/*
		 * 
		 * float , double 
		 * ์‹ค์ˆ˜ํ˜•์˜ default ์ž๋ฃŒํ˜•์€ double
		 * ์‹ค์ˆ˜๊ฐ’์˜ ๋Œ€๋ถ€๋ถ„ double ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋กœ ๋‹ค๋ฃฌ๋‹ค
		 * float ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฑฐ์˜ ์—†๋‹ค
		 */

		
		double num1 = 3.14;
		double num2 = 123.4;
		double num3 = 1.234e2; // e2๋Š” 10์˜ 2์ œ๊ณฑ
		
		
//		float num4 = 3.14;  
		float num4 = 3.14f;  
		// Type mismatch: cannot convert from double to float
		// ์‹ค์ˆ˜์˜ ๊ธฐ๋ณธ ํƒ€์ž…์ด double ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ˆ˜ ๊ฐ’์€ ์–ธ์ œ๋‚˜ double ํƒ€์ž…์˜ ๊ฐ’์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค
		// ์‹ค์ˆ˜ ๊ฐ’์„ float ํƒ€์ž…์˜ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•  ๋•Œ๋Š” 
		// ์‹ค์ˆ˜ ๊ฐ’์„ double ์ด ์•„๋‹Œ floatํƒ€์ž…์œผ๋กœ ์ƒ๊ฐํ•˜๊ฒŒ ํ•ด์•ผํ•œ๋‹ค
		// ๊ทธ๋ž˜์„œ ์‹ค์ˆ˜ ๊ฐ’์— f ํ˜น์€ F๋ฅผ ๋ถ™์ธ๋‹ค.

		System.out.println("num1 ์˜ ๊ฐ’ : "+num1);
		System.out.println("num2 ์˜ ๊ฐ’ : "+num2);
		System.out.println("num3 ์˜ ๊ฐ’ : "+num3);
		System.out.println("num4 ์˜ ๊ฐ’ : "+num4);
		
		// ์‹ค์ˆ˜ ๊ฐ’์˜ ์—ฐ์‚ฐ
				// ์‹ค์ˆ˜ ๊ฐ’์˜ ์—ฐ์‚ฐ์€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‹ค์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•œ๋‹ค
				// ๊ณ„์‚ฐ ๊ฒฐ๊ณผ์— ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒ ํ• ์ˆ˜ ์žˆ๋‹ค.
		double num5 = 0.1;
		double num6 = 0.2;
		double num7 = num5 + num6;
		
		System.out.println("num7 ์˜ ๊ฐ’ : "+num7 );
		// ๊ฐ’์ด ์™œ num7 ์˜ ๊ฐ’ : 0.30000000000000004           ?????????????
		//
		
		
		
	}

}

// ์‹ค์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ :  ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹
/*
 * ์‹ค์ˆ˜ = ๋ถ€ํ˜ธ + ์ง€์ˆ˜๋ถ€ + ๊ฐ€์ˆ˜๋ถ€
 * 
 * Ex.
 * 		-118.625    ๋ถ€๋™์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ•˜๊ธฐ (float ํƒ€์ž… ๊ธฐ์ค€)
 * 				๋ถ€ํ˜ธ๋น„ํŠธ(1๋น„ํŠธ) + ์ง€์ˆ˜๋ถ€ (8๋น„ํŠธ) + ๊ฐ€์ˆ˜๋ถ€ (23๋น„ํŠธ) 
 * 
 * 
 * 		1. ์Œ์ˆ˜ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ƒ์œ„ ๋ถ€ํ˜ธ ๋น„ํŠธ๋Š” 1
 * 		2. ์ ˆ๋Œ€๊ฐ’ 118.625๋ฅผ ์ด์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜
 * 			์ •์ˆ˜๋ถ€๋ฅผ ๋ณ€ํ™˜
 * 				118์„ 2์ง„๋ฒ•์œผ๋กœ ๋ฐ”๊พธ๋ฉด 1110110
 * 				0.625๋ฅผ 2์ง„๋ฒ•์œผ๋กœ ๋ฐ”๊พธ๋ฉด 101
 *			๊ฒฐ๊ณผ
 *				118.625  ---> 1110110.101 
 *		3. ์†Œ์ˆ˜์ ์„ ์ด๋™์‹œ์ผœ์„œ ์ •์ˆ˜๋ถ€๊ฐ€ ํ•œ์ž๋ฆฌ๊ฐ€ ๋˜๋„๋ก ์กฐ์ •
 *			1110110.101 ---> 1.110110101*2^6
 *		4. ์ง€์ˆ˜๋ถ€์— 127์„ ๋”ํ•œ๋‹ค
 *			6 + 127 = 133 ---> 100000101
 *		5. ๋ถ€๋™์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ์ €์žฅ๋œ -118.625
 *			 1   10000101     1110110101
 * 			๋ถ€ํ˜ธ	์ง€์ˆ˜๋ถ€ 		๊ฐ€์ˆ˜๋ถ€
 *
 * 		* ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ์‹ค์ˆ˜๋ฅผ ์ €์žฅํ•˜๋ฉด 
 * 			0.625 ๊ฐ™์ด ์ด์ง„์ˆ˜ ์†Œ์ˆ˜์ ์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€๋Š” ์ˆ˜๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ 0.1 ๊ณผ ๊ฐ™์ด 
 *    		0.00011001100110011001100110011... ๋กœ ๋ฌดํ•œ๋ฐ˜๋ณต๋˜๋Š” ์ด์ง„์ˆ˜ ์‹ค์ˆ˜๋Š” ์•„๋ฌด๋ฆฌ ํฐ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š”
 *    		๋ถ€๋™ ์†Œ์ˆ˜์  ๋ฐฉ์‹์ด๋ผ๋„ ๋ฉ”๋ชจ๋ฆฌ์˜ ํ•œ๊ณ„ ๋•Œ๋ฌธ์— ์–ด๋Š ๋ถ€๋ถ„์—์„œ ๋Š์–ด์„œ ๋ฐ˜์˜ฌ๋ฆผ ํ•  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค
 *    		
 *    ์ปดํ“จํ„ฐ์—์„œ ์‹ค์ˆ˜ ๊ฐ’์„ ํ‘œํ˜„ํ•  ๋•Œ๋Š” ๊ทธ ๊ฐ’๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค
 *
 * ์‹ค์ˆ˜ ๊ฐ’์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋Š” ์—ฐ์‚ฐ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค
 * 
 */

 

๐Ÿ“Œ ์‹ค์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ ?

์ง€์ˆ˜ ๊ฐ€์ˆ˜๋ถ€..?
๋ณ€ํ™˜ํ•˜๊ณ  ๋‚œ๋ฆฌ ๋‚ฌ๋‹ค ๊ทธ๋ž˜์„œ ์‹œ์›ํ•˜๊ฒŒ ์ดํ•ด ๋ชป ํ–ˆ๋‹ค!
double ๊ณผ float ๋Š” ์ดํ•ดํ–ˆ๊ณ  ๊ดœํžˆ float ์จ์„œ F , f ์“ฐ์ง€๋ง๊ณ  ๋งˆ์Œ ํŽธํžˆ double ์‚ฌ์šฉํ•˜์ž

 

โ—ป ์‹ค์Šต - ๋ฌธ์žํ˜•

/*
* ๋ฌธ์ž ์ž๋ฃŒํ˜• 
* char
* ๋ฌธ์ž ์ž๋ฃŒํ˜• ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋Š” ์˜ค์ง 'ํ•œ ๋ฌธ์ž๋งŒ' ์ €์žฅํ• ์ˆ˜ ์žˆ๋‹ค.
* ๋ฌธ์ž ์ž๋ฃŒํ˜•์˜ ์œ ๋‹ˆ ์ฝ”๋“œ๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์„ธ๊ณ„์˜ ๋ชจ๋“  ๊ธ€์ž๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
* 
* ๋งŒ์•ฝ 1๊ธ€์ž ์ด์ƒ์„ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ String ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉ
* ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฌธ์ž ํ•˜๋‚˜๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐ’์ด๋ผ ํ•˜๋”๋ผ๋„ char ๋ณด๋‹ค๋Š” String ํƒ€์ž…์œผ๋กœ ๋‹ค๋ฃฌ๋‹ค
*
* 
*/
char ch1 = 'A';
char ch2 = '๊ฐ€';
char ch3 = '\uAC00';
char ch4 = '\uAC01';
char ch5 = 65;

String st1 = "ABC";
String st2 = "๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ";

System.out.println("ch1์˜ ๊ฐ’ : "+ch1); // ch1์˜ ๊ฐ’ : A
System.out.println("ch2์˜ ๊ฐ’ : "+ch2); // ch2์˜ ๊ฐ’ : ๊ฐ€
System.out.println("ch2์˜ ๊ฐ’ : "+ch3); // ch3์˜ ๊ฐ’ : ๊ฐ€
System.out.println("ch2์˜ ๊ฐ’ : "+ch4); // ch4์˜ ๊ฐ’ : ๊ฐ
System.out.println("ch5์˜ ๊ฐ’ : "+ch5);

 

โ—ป ์‹ค์Šต - ๋ฌธ์ž์—ด

		String s1 = "ํ™๊ธธ๋™";
		String s2 = "์„œ์šธ ํŠน๋ณ„์‹œ ์ข…๋กœ๊ตฌ";
		String s3 = "ํ™๊ธธ๋™ , ๊น€์œ ์‹  , ๊น€์‹œ๋ฏผ , ๊ณฝ์žฌ์šฐ";
		String s4 = "010 - 123 - 6294";
		String s5 = "A";
//		String s6 = 'A';  //  Error : Type mismatch: cannot convert from char to String
		
        
		// ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๋ฌธ์ž์—ด ์ถœ๋ ฅ
		System.out.println(s1);
		System.out.println(s2);
		System.out.println(s3);
		System.out.println(s4);
		System.out.println(s5);
        
		// ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๋ฌธ์ž์—ด์˜  ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค
               	System.out.println(s1.length());
		System.out.println(s2.length());
		System.out.println(s3.length());

 

โ—ป ์‹ค์Šต - ๋…ผ๋ฆฌํ˜•

		boolean b1 = true;
		boolean b2 = 100 < 10;
		
		System.out.println(b1);
		System.out.println(b2);

 

โ—ป ์‹ค์Šต - ํ˜•๋ณ€ํ™˜

System.out.println(10 / 3);
System.out.println(10.0 / 3.0);

System.out.println(12 / 5.0); // 12 / 5.0 ->>>  12.0 / 5.0  ---- 2.4
System.out.println(12.0 / 5); // 12.0 / 5 ->>> 12.0 / 5.0  ---- 2.4

double num1 = 3; // ์‹ค์ˆ˜ ํƒ€์ž…์ธ๋ฐ ๊ฐ’์ด ์ •์ˆ˜ ?

// int num2 = 3.4;  Type mismatch: cannot convert from double to int
// ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐœ์ƒ 
// ์ž๋™ ํ˜•๋ณ€ํ™˜ ์ผ์–ด๋‚ ์ˆ˜ ์—†์–ด์„œ ์˜ค๋ฅ˜

 

โ—ป ์‹ค์Šต - ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜

int num3 = (int) 3.14;
System.out.println("๊ฐ•์ œ ํ˜•๋ณ€ํ™˜ : "+num3);


int kor = 80;
int eng = 70;
int math = 70;
int subCount = 3;

int total = kor + eng + math;
double avg = (double)total / subCount ;

System.out.println("ํ‰๊ท : "+avg);
728x90