3-1. 숫자 (Number)

  • 숫자 μžλ£Œν˜•μ€ 숫자 ν˜•νƒœλ‘œ 이루어진 μžλ£Œν˜•
  • μ •μˆ˜, μ‹€μˆ˜, λ“œλ¬Όκ²Œ μ‚¬μš©λ˜λŠ” 8μ§„μˆ˜, 16μ§„μˆ˜ 같은 것듀이 있음

μ •μˆ˜

  • μžλ°”μ˜ μ •μˆ˜λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•œ μžλ£Œν˜•μ€ int, long
    • byteλ‚˜ shortλ“± 도 μžˆμ§€λ§Œ 거의 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ
  • int와 long의 μ°¨μ΄λŠ” ν‘œν˜„ν•  수 μžˆλŠ” 숫자의 λ²”μœ„
μžλ£Œν˜• ν‘œν˜„λ²”μœ„
int -2147483648 ~ 2147483647
long -9223372036854775808 ~ 9223372036854775807
int age = 10;
long countOfStar = 8764827384923849L;
  • long λ³€μˆ˜μ— 값을 λŒ€μž…ν•  λ•ŒλŠ” λŒ€μž…ν•˜λŠ” 숫자 값이 int μžλ£Œν˜•μ˜ μ΅œλŒ€κ°’μΈ 2147483647 보닀 큰 경우 8764827384923849L둜 ν‘œν˜„
  • L 접미사λ₯Ό λΆ™μ—¬ μ£Όμ–΄μ•Ό 함
    • μ†Œλ¬Έμž l을 μ‚¬μš©ν•  μˆ˜λ„ μžˆμ§€λ§Œ μ†Œλ¬Έμž β€˜l’은 숫자 1κ³Ό λΉ„μŠ·ν•˜κ²Œ λ³΄μ΄λ―€λ‘œ μΆ”μ²œν•˜μ§€ μ•ŠμŒ
  • λ§Œμ•½ β€˜L’과 같은 접미사λ₯Ό λˆ„λ½ν•˜λ©΄ 컴파일 μ—λŸ¬κ°€ λ°œμƒ

μ‹€μˆ˜

  • μžλ°”μ˜ μ‹€μˆ˜λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•œ μžλ£Œν˜•μ€ float, double
  • float와 double의 차이 μ—­μ‹œ ν‘œν˜„ν•  수 μžˆλŠ” 숫자의 λ²”μœ„
float pi = 3.14F;
double morePi = 3.14159265358979323846;
  • μžλ°”μ—μ„œ μ‹€μˆ˜ν˜•μ€ λ””ν΄νŠΈκ°€ doubleμž„
  • float λ³€μˆ˜μ— 값을 λŒ€μž…ν•  λ•Œμ—λŠ” 3.14F 와 같이 F접미사(λ˜λŠ” μ†Œλ¬Έμž f)λ₯Ό κΌ­ λΆ™μ—¬ μ£Όμ–΄μ•Ό 함
  • float μžλ£Œν˜•μ— 값을 λŒ€μž…ν•  λ•Œ 접미사λ₯Ό λˆ„λ½ν•˜λ©΄ 컴파일 μ—λŸ¬κ°€ λ°œμƒ

  • 과학적 μ§€μˆ˜ ν‘œν˜„μ‹
double d1 = 123.4;
double d2 = 1.234e2;
  • d1κ³Ό d2의 값은 123.4둜 κ°™μŒ
  • d2의 e2λŠ” 10의 제곱(10^2)을 의미

8μ§„μˆ˜μ™€ 16μ§„μˆ˜

  • 8μ§„μˆ˜μ™€ 16μ§„μˆ˜λŠ” int μžλ£Œν˜•μ„ μ‚¬μš©ν•˜μ—¬ ν‘œκΈ°ν•  수 있음
  • 0(숫자 β€˜0’)으둜 μ‹œμž‘ν•˜λ©΄ 8μ§„μˆ˜, 0x(숫자 β€˜0’ + μ•ŒνŒŒλ²³ β€˜x’)둜 μ‹œμž‘ν•˜λ©΄ 16μ§„μˆ˜
int octal = 023;    // μ‹­μ§„μˆ˜: 19
int hex = 0xC;     // μ‹­μ§„μˆ˜: 12

μˆ«μžμ—°μ‚°

  • +, -, *, / 기호λ₯Ό μ΄μš©ν•˜μ—¬ 두 μˆ«μžκ°„ 사칙연산을 μˆ˜ν–‰ν•¨
// FourArithmetic.java

package jump2java;

public class FourArithmetic {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);
    }
}
15
5
50
2
  • /λŠ” λ‚˜λˆ—μ…ˆμ˜ λͺ«μ„ λ°˜ν™˜ν•˜λŠ” μ—°μ‚°μž
  • %λŠ” λ‚˜λˆ—μ…ˆμ˜ λ‚˜λ¨Έμ§€ 값을 λ°˜ν™˜ν•˜λŠ” μ—°μ‚°μž

증감연산 (++, –)

  • μžλ°”λŠ” ++, -- 기호λ₯Ό μ΄μš©ν•˜μ—¬ 값을 μ¦κ°€ν•˜κ±°λ‚˜ κ°μ†Œμ‹œν‚¬ 수 있음
    • ++, -- 기호λ₯Ό 증감 μ—°μ‚°μžλΌκ³  함
int i = 0;
int j= 10;
i++;
j--;

System.out.println(i);
System.out.println(j);
1
9
  • ++λŠ” 값을 1만큼 μ¦κ°€μ‹œν‚€κ³  --λŠ” 값을 1만큼 κ°μ†Œ

μ¦κ°μ—°μ‚°μžμ˜ μœ„μΉ˜μ— λ”°λ₯Έ κ°’ λ³€ν™”

  • i++ : 값이 참쑰된 후에 증가
  • i++ 와 같이 ++ μ—°μ‚°μžκ°€ λ³€μˆ˜λͺ… 뒀에 λΆ™μœΌλ©΄ ν•΄λ‹Ή μ½”λ“œκ°€ μ‹€ν–‰λ˜λŠ” μˆœκ°„μ—λŠ” i 값이 λ³€κ²½λ˜μ§€ μ•ŠμŒ
    • i++ λ¬Έμž₯이 μ‹€ν–‰λœ 이후에 i값이 μ¦κ°€ν•˜κ²Œ 됨
int i = 0;
System.out.println(i++);
System.out.println(i);
0
1
  • ++i : 값이 참쑰되기 전에 증가
  • ++i라고 μ‚¬μš©ν•˜κ²Œ 되면 i 값이 λ¨Όμ € μ¦κ°€λœ 후에 ν•΄λ‹Ή μ½”λ“œκ°€ 싀행됨
int i = 0;
System.out.println(++i);
System.out.println(i);
1
1

reference

점프 투 μžλ°”