๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JAVA/Java Programming

2์žฅ ๋ณ€์ˆ˜์™€ ํƒ€์ž…

by soy๋ฏธ๋‹ˆ 2021. 9. 12.

1. ๋ณ€์ˆ˜๋ž€?

  • ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๋ณ€์ˆ˜์—๋Š” ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ•œ ๊ฐ€์ง€ ํƒ€์ž…์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. ๋ณ€์ˆ˜์˜ ์„ ์–ธ

int age;
double value;
  • ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๋ถ™์—ฌ์ง„ ์ด๋ฆ„์ด๋‹ค.
  • ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ํ†ตํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ•˜๊ณ , ๊ทธ๊ณณ์— ๊ฐ’์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ทธ๊ณณ์— ์žˆ๋Š” ๊ฐ’์„ ์ฝ๋Š”๋‹ค.

๋ณ€์ˆ˜ ๋ช…๋ช… ๊ทœ์น™

  • ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋Š” ๋ฌธ์ž, $, _ ์ด์–ด์•ผ ํ•œ๋‹ค. ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค.
  • ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ๊ตฌ๋ถ„๋œ๋‹ค.
  • ์ฒซ ๋ฌธ์ž๋Š” ์˜์–ด ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋˜ ๋‹ค๋ฅธ ๋‹จ์–ด๊ฐ€ ๋ถ™์„ ๊ฒฝ์šฐ ๋Œ€๋ฌธ์ž๋ฅผ ๋„ฃ๋Š”๋‹ค. (ex. maxSpeed, carBodyColor ๋“ฑ)
  • ๋ฌธ์ž ์ˆ˜(๊ธธ์ด) ์ œํ•œ์€ ์—†๋‹ค.
  • ์ž๋ฐ” ์˜ˆ์•ฝ์–ด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

3. ๋ณ€์ˆ˜ ์ดˆ๊ธฐ๊ฐ’

int value = 90;
long value = 1022422L;   // ์ดˆ๊ธฐํ™” ํ•  ๋•Œ๋Š” ์†Œ๋ฌธ์ž l ํ˜น์€ ๋Œ€๋ฌธ์ž L
float value = 3.14f;     // ์ดˆ๊ธฐํ™” ํ•  ๋•Œ๋Š” ์†Œ๋ฌธ์ž f ํ˜น์€ ๋Œ€๋ฌธ์ž F
double value = 3.14;
boolean value = true;
char value = ' ';   // char ํƒ€์ž…์€ ๋นˆ ๋ฌธ์ž '' ๋กœ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •ํ•˜๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒํ•จ, ๊ณต๋ฐฑ ํ•˜๋‚˜๋ผ๋„ ์žˆ์–ด์•ผ ํ•จ
String value = "";  // String์€ ๋นˆ ๋ฌธ์ž๋ฅผ ๋Œ€์ž…ํ•ด๋„ ๊ดœ์ฐฎ์Œ
  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐ๊ฐ’์€ ์ง์ ‘ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ, ์ด๋Ÿฌํ•œ ๊ฐ’์„ ๋ฆฌํ„ฐ๋Ÿด(literal)์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ์ •์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด, ์‹ค์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด, ๋ฌธ์ž ๋ฆฌํ„ฐ๋Ÿด, ๋…ผ๋ฆฌ ๋ฆฌํ„ฐ๋Ÿด์ด ์žˆ๋‹ค.
  • ๋ฆฌํ„ฐ๋Ÿด = ์ƒ์ˆ˜ (๊ฐ™์€ ์˜๋ฏธ)์ด์ง€๋งŒ, ์ƒ์ˆ˜๋Š” ๊ฐ’์„ ํ•œ ๋ฒˆ ์ €์žฅํ•˜๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ณ€์ˆ˜๋กœ ์ •์˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌํ„ฐ๋Ÿด์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

4. ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ

  • ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๋œ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
public class VariableScopeExample{
    public static void main(String[] args){
    	int v1 = 15;
        if(v1>20){
            int v2 = v1 - 10;
        }
        int v3 = v1 + v2;   //v2 ๋ณ€์ˆ˜ ์‚ฌ์šฉ ๋ถˆ๊ฐ€, ์ปดํŒŒ์ผ ์—๋Ÿฌ
    }
}

 

5. ๋ฐ์ดํ„ฐ ํƒ€์ž…

๊ฐ’์˜ ์ข…๋ฅ˜ ํƒ€์ž… ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ํฌ๊ธฐ
์ •์ˆ˜ byte 1byte 8bit
char 2byte 16bit
short 2byte 16bit
int 4byte 32bit
long 8byte 64bit
์‹ค์ˆ˜ float 4byte 32bit
double 8byte 64bit
๋…ผ๋ฆฌ boolean 1byte 8bit

 

int val1 = 3000000; // 3000000
double val2 = 3e6; // 3000000
float var3 = 3e6f; // 3000000
double var4 = 3e-3 // 0.003


double val5 = 0.1234567890123456789;  // 0.12345678901234568
float val6 = 0.1234567890123456789F;  // 0.12345679
  • int ํ˜•๋ณด๋‹ค ์ž‘์€ ์ž๋ฃŒํ˜• byte, char, short ๋Š” intํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜์ด ์ด๋ฃจ์–ด์ง„ ํ›„ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ์ƒ์ˆ˜ ๋ฐ ๋ฆฌํ„ฐ๋Ÿด ๊ฐ„์˜ ์—ฐ์‚ฐ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ˜• ๋ณ€ํ™˜ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.
byte a = 10;
byte b = 20;
byte result = a + b; // ์ปดํŒŒ์ผ ์—๋Ÿฌ
int result = a + b; // ์ •์ƒ ์ž‘๋™
byte result = (byte)(a + b); // ์ •์ƒ ์ž‘๋™

char c = 'a' + 1; // ์ปดํŒŒ์ผ ๊ฐ€๋Šฅ, ๋ฆฌํ„ฐ๋Ÿด๊ณผ ์ƒ์ˆ˜ ๊ฐ„์˜ ์—ฐ์‚ฐ

 

๋Œ“๊ธ€