Java - StringBuilder 클래스 , Math 클래스

춤추는개발자·2022년 11월 28일
0

Java 정리

목록 보기
35/59

StringBuilder 클래스

  • StringBuffer와 차이점이 동기화되어 있지 않다.
  • 멀티 쓰레드에 안전하게 하는것이 동기화이다.
    • 싱글 쓰레드 : 한번에 1개 작업 하는 것
    • 멀티 쓰레드 : 한번에 여러개 작업하는 것
  • 멀티 쓰레드 프로그램이 아닌 경우에는 동기화가 불필요한 성능저하를 가져온다. 이 때 StringBuffer대신 StringBuilder를 사용하면 성능 향상을할 수 있다. 싱글 쓰레드 프로그램일때는 StringBuilder를 사용하는게 좋다.
  • StringBuffer,StringBuilder 클래스의 메서드는 같다. 참조변수 타입과 생성자만 바꾸면 된다.

Math 클래스

  • 수학관련 static메서드의 집합이다. 그 외에 2개의 상수만 있다. (E(자연로그의 밑), PI(원주율))
  • Math 클래스의 생성자는 private로 되어 있어서 다른 클래스에서 인스턴스를 생성할 수 없다. 그 이유는 클래스 내에 인스턴스 변수가 없어 인스턴스를 생성할 필요가 없기 때문이다.

round() 메서드로 원하는 소수점까지 반올림하기

일단 예시로 35.32752 소수점 세번째 자리에서 반올림한 값 출력하기
1. 35.32752 * 100 = 3532.752 => 주어진 값에 100 곱하기
2. Math.round(3532.752) = 3533 => round() 메서드 사용
3. 3533/100.0 = 35.33 => 위의 결과를 다시 100.0(float,double)으로 나눈다. 100으로 나누면 3533,100이 int형이기 때문에 35가 나온다.

Math 클래스 메서드 (자주 쓰이는 메서드만)

  • static int,long,float,double abs(int,long,float,double) : 입력되는 값의 절대값을 반환
  • static double ceil(double d) : 입력되는 값을 올림하여 반환, 소수점에 1만 있어도 올림, 음수는 예를들어 -5.1이 입력되는 -5.0이 반화된다.
  • static double floor(double a) : 입력되는 값을 버림하여 반환, 양수는 10.5 이면 10.0 반환, 음수는 -10.5이면 -11.0 반환
  • static double max(double a, double b) : 입력되는 값 두개중에 큰 값 반환, int, long, float, double 타입으로 가능
  • static double min(double a, double b) : 입력되는 값 두개중에 작은 값 반환, int, long, float, double 타입으로 가능
  • static double random() : 0.0~1.0 범위의 임의의 double형 값을 반환, 1.0은 포함 안됨
  • static double rint(double a) : 입력되는 double값과 가장 가까운 정수값을 double형으로 반환, 단 입력되는 double형 값이 x.5형태일때 x와 x+1중에 짝수를 반환
  • static long round(double a) : 입력되는 double형 값을 소수점 첫째자리에서 반올림한 정수값 long 타입을 반환, 단 x.5 형태로 두 정수의 정가운데 값으로 입력값이 입력되면 항상 큰 정수를 반환

0개의 댓글