StringBuilder

싱글쓰레드 : 한번에 1개 작업
멀티쓰레드 : 한번여 n개 작업 (데이터공유- 동기화(데이터보호))

규칙
1. StringBuilder동기화 처리 되어있지 않음.  (StringBuffer는 동기화 되어있다. 멀티쓰레드에 안전)
2. 멀티쓰레드 프로그램이 아닌경우, 동기화 불필요 (성능저하)
  ㄴ 이럴땐 StringBuffer대신StringBuilder를 사용하면 성능향상  


Math클래스

규칙
1. 수학관련 static메서드의 집합

 

  메서드 & 설명 예제 결과
1 static double abs(double a)
static float     abs(float f)
static int        abs(int f)
static int        abs(long f)

주어진 값의 절대값을 반환한다.(abs: absolute)
int         i = Math.abs(-10);
doulbe d = Math.abs(-10.0)
i = 10
d = 10.0
2 static double ceil(double a)

주어진 값을 올림하여 반환한다.
double   d = Math.ceil(10.1);
double d2 = Math.ceil(-10.1);
double d3 = Math.ceil(10.000015);
d = 11
d2 = -10
d3 = 11
3 static double floor(double a)

주어진 값을 버림하여 반환한다.
double   d = Math.floor(10.8);
double d2 = Math.fllor(-10.8);
d = 10
d2 = -11
4 static double max(double a, double b)
static float     max(float a, float b)
static int        max(int a, int b)

주어진 두 값을 비교하여 큰 쪽 반환
double d = Math.max(9.5, 9.50001);
int         i = Math.max(0, -1);
d = 9.50001
i = 0
5 static double min(double a, double b)
static float     min(float a, float b)
static int        min(int a, int b)
static long     min(longa, long b)

주어진 두 값을 비교하여 작은 쪽을 반환
double d = Math.max(9.5, 9.50001); 
int         i = Math.max(0, -1);
d = 9
i = -1

 

  메서드 & 설명 예제 결과
1 static double random()

0.0~1.0범위의 임의의 double값을 반환한다.
(1.0은 포함되지 않는다.)
double d = Math.random();
int         i = (int)(Math.random()*10)+1
0.0 <= d <1
1 <= i < 11
2 static double rint(double a)
짝수 반올림 ( 소수점첫자리에서 반올림하여, 반올림 결과가 짝수시만 반올림, 아니면 내림 )

round even 더정확

주어진 double값과 가장 가까운 정수값을
double형으로 반환한다.
단, 두 정수의 정가운데 있는 값
     (1.5,  2.5,  3.5 등)은 짝수를 반환.
double  d = Math.rint(1.2);
double d2 = Math.rint(2.6);
double d3 = Math.rint(3.5);
double d4 = Math.rint(4.5);
d = 1.0
d2 = 3.0
d3 = 4.0
d4 = 4.0
3 static long round(double a)
static long round(float a)

소수점 첫째자리에서 반올림한 정수값(long)을
반환한다. 두 정수의 정가운데있는 값은 항상 큰 정수를 반환.(rint()의 결과와 비교)
long l = Math.round(1.2);
long l2 = Math.round(2.6);
long l3 = Math.round(3.5);
long l4 = Math.round(4.5);
double k = 90.7552;
double k2 = Math.round(k*100)/100.0;
l = 1
l2 = 3
l3 = 4
l4 = 5
k = 90.7552
k2 = 90.76

 


래퍼클래스(wrapper) 클래스

규칙
1. 기본형(8개)을 객체로 다뤄야할 때 사용하는 클래스. ( 감쌀 때 )
  기본형 래퍼클래스 생성자 예시
1 boolean Boolean Boolean(boolean value);
Boolean(String s);
Boolean b = new Boolean(true);
Boolean b2 = new Boolean("true");
2 char Character Character(char vlaue) Character c = new Character('a');
3 byte Byte Byte(byte value)
Byte(String s)
Byte b = new Byte(10);
Byte b2 = new Byte("10");
4 short Short Short(short value)
Short(String s)
Short s = new Short(10);
Short s2 = new Short("10");
5 int Integer Integer(int value)
Integer(String s)
Integer i = new Integer(100);
Integer i2 = new Integer("100");
6 long Long Long(long value)
Long(String s)
Long l = new Long(100);
Long l2 = new Long("100");
7 float Float Float(double value)
Float(float value)
Float(String s)

Float f = new Float(1.0);
Float f2 = new Float(1.0f);
Float f3 = new Float("1.0f");

8 double Double Double(double value)
Double(String s)
Double d = new Double(1.0);
Double d2 = new Double("1.0");

 


Number클래스

 


문자열을 숫자로 변환하기

※ 래퍼클래스 → 문자열 = toString 사용

 

 

n진법의 문자열을 숫자로 변환하는 방법

// n진법의 문자열을 숫자로 변환하는 방법
//"@"을 'n' 진수로 해석하면?
		int k1 = Integer.parseInt("100",2);  // 100(2) = 4
		int k2 = Integer.parseInt("100",8);  // 100(8) = 64
		int k3 = Integer.parseInt("100",16); // 100(16) = 256
		int k4 = Integer.parseInt("FF",16);  // FF(16) = 255

오토박싱 & 언박싱

규칙
1. 오토박싱이란,   int (기본형) → Integer(래퍼클래스)  자동으로 바꿔주는걸 말함.
2. 언박싱이란,  Integer(래퍼클래스)  → int (기본형) 자동으로 바꿔주는걸 말함.
3. 자바의 원칙이 바뀐게아니라, 프로그래머가 쉽게 개발할수 있게 자동으로 컴파일러가 코드를 추가해주는 것.
   ( 기본형과 참조형간의 자동형변환)

※ JDK 1.5 이전에는 기본형과 참조형간의 연산이 불가능했음.

 

 

 

 


출처 : 남궁성의 정석코딩

https://www.youtube.com/@MasterNKS

 

 

 

 

+ Recent posts