들어가기 전에
지난 시간에는 자바에서 사용되는 중요한 두 데이터 타입인 숫자와 문자열에 대해서 알아보았습니다.
숫자 데이터 타입을 가지고 어떤 연산을 더 할 수 있을까요?
학습 목표
자바의 숫자 데이터에서 할 수 있는 연산을 더 알아봅니다.
핵심 단어
- Math 클래스
강의 듣기
들어가기 전에
지난 시간에는 자바에서 사용되는 중요한 두 데이터 타입인 숫자와 문자열에 대해서 알아보았습니다.
숫자 데이터 타입을 가지고 어떤 연산을 더 할 수 있을까요?
학습 목표
자바의 숫자 데이터에서 할 수 있는 연산을 더 알아봅니다.
핵심 단어
강의 듣기
자바의 숫자 데이터의 다른 연산
자바의 숫자 연산에는 +와 * 이외에도 다른 연산들이 있습니다.
이번 시간에는 숫자 데이터의 다른 연산들에 대해서 알아보기 위한 실습을 진행합니다.
이전에 생성했던 Data_and_operation 프로젝트에서 진행하도록 합니다.
지금까지는 프로젝트에서 New - File을 클릭하여 새로운 java 파일을 만들어 왔습니다.
하지만 New 메뉴에서 Class를 통해 더 쉽게 자바 클래스를 생성할 수 있습니다.
위와 같이 이름이 Number인 클래스를 생성합니다. public static void main(String[] args) 옵션을 체크하면 main 메소드도 자동적으로 생성해 줍니다.
자바에는 기본적인 +, -, *, /와 같은 사칙연산자 이외에도 숫자를 연산할 수 있는 도구들이 있습니다.
그 중에서 수학과 관련된 것들을 모아놓은 일종의 캐비닛과 같은 Math라는 클래스가 있습니다.
Math 안에 있는 여러 데이터와 명령들 중에서 이번에는 PI 데이터를 불러와서 floor 명령어를 이용해 내림을 해 보고, ceil 명령어를 이용해 올림을 해 봅니다.
생성된 클래스에 다음과 같이 입력합니다.
Number.java
public class Number {
public static void main(String[] args) {
// Operator
System.out.println(6 + 2); // 8
System.out.println(6 - 2); // 4
System.out.println(6 * 2); // 12
System.out.println(6 / 2); // 3
System.out.println(Math.PI); // 3.141592653589793
System.out.println(Math.floor(Math.PI));
System.out.println(Math.ceil(Math.PI));
}
}
실행하여 어떻게 동작하는지 살펴봅니다.
생각해보기
1) PI, floor, ceil이외에 Math에서 제공하는 기능이 어떤 것들이 있는지 찾아보고 댓글로 공유해 보세요
참고자료
https://docs.oracle.com
comment
abs()
acos()
addExtract()
asin()
atan()
floorDiv(int x, int y)
log()
max()
min()
round()
Math.min()
Math.max()
Math.round()...etc 등이있따.
Math.avs
Math.acos 등이 있습니다.
1)
Math.abs()
Math.fow()
Math.round()
Math.random()
Math.random() -> 0.0이상 1.0 미만 랜덤한 숫자를 생성한다
Math.abs() -> 음수이면 절대값을 반환한다.
Math.round() -> 소수점 첫째자리에서 반올림 한 정수를 반환한다
아래 댓글 중 쓸만한 메소드 정리
package src;
public class Number {
public static void main(String[] args) {
// Operator
System.out.println(6 + 2); // 8
System.out.println(6 - 2); // 4
System.out.println(6 * 2); // 12
System.out.println(6 / 2); // 3
System.out.println(Math.PI); // 3.141592....
System.out.println(Math.floor(Math.PI)); // 3.0 내림
System.out.println(Math.ceil(Math.PI)); // 4.0 올림
System.out.println(Math.round(Math.PI)); // 3 반올림
}
}
// Math.abs() : 인수의 절대값 반환
// Math.pow() : 거듭 제곱
// Math.max(), Math.min() : 최대값, 최소값 반환
// Math.random() : 0.0~1.0 사이의 실수를 랜덤 생성하여 반환
1) PI, floor, ceil이외에 Math에서 제공하는 기능이 어떤 것들이 있는지 찾아보고 댓글로 공유해 보세요
> cos
math.random() 0과 1사이의 난수를 리턴한다.
와 다들 잘 적어주셔서 배우고 갑니다. 정말 감사합니다!
System.out.println(Math.); 박스내용이 안떠요?
Math. 했는데 박스 내용이 안떠요?
Math.hypot(double x, double y)
제곱근 (x^2 +y^2)의 값을 리턴한다
Math.abs() : 인수의 절대값 반환
Math.pow() : 거듭 제곱
Math.max(), Math.min() : 최대값, 최소값 반환
Math 함수에서 max 최대값, min 최소값 등을 구하는 기능도 제공한다.
Math.abs() : ()안의 값의 절대값을 나타낸다
Math.sin() : ()안의 값의 sin값을 나타낸다(단, ()안의 값은 radian 값이다.)
Math.cos() : ()안의 값의 cos값을 나타낸다(단, ()안의 값은 radian 값이다.)
Math.asin(): ()안의 값을 갖는 sin 각도를 계산해준다.
Math.acos() , Math.atan() 도 마찬가지.
Math.sqrt() : ()안의 루트값. sqrt: square root
Math.cbrt() : ()안의 세제곱근값. cbrt: cubic root
Math. exp() : e^()
Mah. sin(), cos(),tan() : ()의 sin ,cos, tan 값
Math. copysign(x , y) : copysign, 즉 "부호를 카피하다"라는 뜻으로 x의 부호를 y의 부호와 같게 출력한다.
예로 Math.copysign(-2,4) : 2 Math.coysign(2,-4):-2
Math.abs() : ()안의 값을 절댓값으로 반환
Math.random() : 0.0~1.0 사이의 실수를 랜덤 생성하여 반환
Math.max(a, b) : a, b 중 큰 값을 반환
Math.min(a, b) : a, b 중 작은 값을 반환
public class Number {
public static void main(String[] args) {
//연산자 operator
System.out.println(6 + 2); // 8
System.out.println(6 - 2); //4
System.out.println(6 * 2); //12
System.out.println(6 / 2); // 3
System.out.println(Math.PI); //3.14~~~
System.out.println(Math.floor(Math.PI) ); // math.floor 소숫점을 안보이게끔 하는 math list 고로 3.14~~의 소숫점을 가리게끔 했음 즉 내림
System.out.println(Math.floor(1.3232) ); // 위에 응용
System.out.println(Math.ceil(Math.PI) ); // 소숫점이 있으면 그냥 올림
System.out.println(Math.ceil(1.636) ); // 응용 사용해보니 반올림이 아니라 그냥 올림이여서 반올림도 어떤건지 알아 보고 싶다.
System.out.println(Math.round(Math.PI) ); // 구글에 서치해본결과 round라는 값이 반올림인듯 하다. 3.14~~는 반올림 대상이 아니기 때문에 3으로 표시
System.out.println(Math.round(3.6) ); // 응용 3.5보다 크니 4로 표기 되는걸 보아 반올림이 잘 작동한다.
}
}
PI 원주율
floor 소수점 내림
ceil 소수점 올림
Math.max() => 두 값 중 가장 큰 값 반환
Math.sqrt() => 제곱근 반환
등 많은 Math관련 메소드가 있군요!