Java์ Math
ํด๋์ค๋ ์ํ์ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ํ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ์ฐ์ ์ฐ์ฐ๋ถํฐ ๋ณต์กํ ์ผ๊ฐ ํจ์, ๋ก๊ทธ ํจ์, ์ง์ ์ฐ์ฐ๊น์ง ๋ค์ํ ์์
์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Math
ํด๋์ค์ ์ฃผ์ ๊ธฐ๋ฅ๊ณผ ํ์ฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. Math ํด๋์ค์ ๊ฐ์
Math
ํด๋์ค๋ java.lang ํจํค์ง์ ํฌํจ๋์ด ์์ผ๋ฉฐ, ๋ณ๋์ ์ํฌํธ ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๋ฉ์๋๋ ์ ์ ๋ฉ์๋(Static Method)๋ก ์ ์๋์ด ์์ผ๋ฏ๋ก, ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ ๋ฐ๋ก ํธ์ถ ๊ฐ๋ฅํฉ๋๋ค.
Math ํด๋์ค์ ์ฃผ์ ์์
Math.PI
: ์์ฃผ์จ(์ฝ 3.14159)Math.E
: ์์ฐ ๋ก๊ทธ์ ๋ฐ(์ฝ 2.718)
์์
public class MathConstantsExample {
public static void main(String[] args) {
System.out.println("PI: " + Math.PI);
System.out.println("E: " + Math.E);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
PI: 3.141592653589793
E: 2.718281828459045
2. Math ํด๋์ค์ ์ฃผ์ ๋ฉ์๋
Math
ํด๋์ค๋ ๋ค์ํ ์ํ ์ฐ์ฐ์ ์ํํ ์ ์๋ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ค์
๋๋ค.
2.1 ์ ๋๊ฐ: abs()
abs()
๋ฉ์๋๋ ์ซ์์ ์ ๋๊ฐ์ ๋ฐํํฉ๋๋ค.
public class MathAbsExample {
public static void main(String[] args) {
System.out.println("์ ๋๊ฐ (์ ์): " + Math.abs(-10));
System.out.println("์ ๋๊ฐ (์ค์): " + Math.abs(-3.14));
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ ๋๊ฐ (์ ์): 10
์ ๋๊ฐ (์ค์): 3.14
2.2 ์ฌ๋ฆผ๊ณผ ๋ด๋ฆผ: ceil()
์ floor()
ceil()
๋ฉ์๋๋ ์ซ์๋ฅผ ์ฌ๋ฆผํ๋ฉฐ, floor()
๋ฉ์๋๋ ์ซ์๋ฅผ ๋ด๋ฆผํฉ๋๋ค.
public class MathCeilFloorExample {
public static void main(String[] args) {
System.out.println("์ฌ๋ฆผ: " + Math.ceil(3.14));
System.out.println("๋ด๋ฆผ: " + Math.floor(3.14));
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ฌ๋ฆผ: 4.0
๋ด๋ฆผ: 3.0
2.3 ๋ฐ์ฌ๋ฆผ: round()
round()
๋ฉ์๋๋ ์ซ์๋ฅผ ๋ฐ์ฌ๋ฆผํฉ๋๋ค.
public class MathRoundExample {
public static void main(String[] args) {
System.out.println("๋ฐ์ฌ๋ฆผ: " + Math.round(3.14));
System.out.println("๋ฐ์ฌ๋ฆผ: " + Math.round(3.74));
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
๋ฐ์ฌ๋ฆผ: 3
๋ฐ์ฌ๋ฆผ: 4
2.4 ๊ฑฐ๋ญ์ ๊ณฑ๊ณผ ์ ๊ณฑ๊ทผ: pow()
์ sqrt()
pow()
๋ฉ์๋๋ ๊ฑฐ๋ญ์ ๊ณฑ์ ๊ณ์ฐํ๋ฉฐ, sqrt()
๋ฉ์๋๋ ์ ๊ณฑ๊ทผ์ ๊ณ์ฐํฉ๋๋ค.
public class MathPowSqrtExample {
public static void main(String[] args) {
System.out.println("2์ 3์ ๊ณฑ: " + Math.pow(2, 3));
System.out.println("16์ ์ ๊ณฑ๊ทผ: " + Math.sqrt(16));
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
2์ 3์ ๊ณฑ: 8.0
16์ ์ ๊ณฑ๊ทผ: 4.0
2.5 ์ต๋๊ฐ๊ณผ ์ต์๊ฐ: max()
์ min()
max()
๋ฉ์๋๋ ๋ ๊ฐ ์ค ๋ ํฐ ๊ฐ์ ๋ฐํํ๋ฉฐ, min()
๋ฉ์๋๋ ๋ ์์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
public class MathMaxMinExample {
public static void main(String[] args) {
System.out.println("์ต๋๊ฐ: " + Math.max(10, 20));
System.out.println("์ต์๊ฐ: " + Math.min(10, 20));
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
์ต๋๊ฐ: 20
์ต์๊ฐ: 10
2.6 ๋๋ค ์ซ์ ์์ฑ: random()
random()
๋ฉ์๋๋ 0.0 ์ด์ 1.0 ๋ฏธ๋ง์ ๋์๋ฅผ ๋ฐํํฉ๋๋ค. ์ด๋ฅผ ํ์ฉํด ์ํ๋ ๋ฒ์์ ๋์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
public class MathRandomExample {
public static void main(String[] args) {
int randomNumber = (int) (Math.random() * 100); // 0~99 ์ฌ์ด์ ๋์
System.out.println("๋์: " + randomNumber);
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ (์์):
๋์: 42
2.7 ์ผ๊ฐ ํจ์: sin()
, cos()
, tan()
์ผ๊ฐ ํจ์ ๋ฉ์๋๋ ๊ฐ๋(๋ผ๋์ ๋จ์)๋ฅผ ์ฌ์ฉํด ์ผ๊ฐ ํจ์ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค.
public class MathTrigExample {
public static void main(String[] args) {
double radians = Math.toRadians(30); // 30๋๋ฅผ ๋ผ๋์์ผ๋ก ๋ณํ
System.out.println("sin(30): " + Math.sin(radians));
System.out.println("cos(30): " + Math.cos(radians));
System.out.println("tan(30): " + Math.tan(radians));
}
}
์ถ๋ ฅ ๊ฒฐ๊ณผ:
sin(30): 0.49999999999999994
cos(30): 0.8660254037844387
tan(30): 0.5773502691896257
3. Math ํด๋์ค ํ์ฉ ํ
- ์ ํํ ๊ฐ ๊ณ์ฐ:
Math
ํด๋์ค์ ๋ฉ์๋๋ ์ ํ๋ ๋์ ๊ณ์ฐ์ ์ ๊ณตํฉ๋๋ค. - ๋์ ์์ฑ: ๊ฒ์, ์ํธํ, ์๋ฎฌ๋ ์ด์ ๋ฑ ๋์๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค.
- ์ผ๊ฐ ํจ์์ ๋ก๊ทธ: ๊ณผํ ๊ณ์ฐ ๋ฐ ๋ฐ์ดํฐ ๋ถ์์ ์ฌ์ฉ๋ฉ๋๋ค.
๊ฒฐ๋ก
Java์ Math
ํด๋์ค๋ ์ํ์ ์ผ๋ก ํ์ํ ๋๋ถ๋ถ์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ์ฐ์ฐ๋ถํฐ ์ผ๊ฐ ํจ์์ ๋์ ์์ฑ๊น์ง ๋ค์ํ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ํจ์จ์ ์ด๊ณ ์ ํํ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฒ ๊ธ์์ ์๊ฐํ ๋ฉ์๋์ ํ์ฉ๋ฒ์ ์ฐธ๊ณ ํ์ฌ, Java์์ ์ํ์ ์์
์ ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํด ๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ