목록Java (100)
디케이
//int value int result = bigDecimalNumber.intValue(); //double value double result = bigDecimalNumber.doubleValue(); //float value float result = bigDecimalNumber.floatValue();
BigDecimal을 사용해야 하는 이유 Type 범위 float 1.4E-45 ~ 3.4028235E38 double 4.9E-324 ~ 1.7976931348623157E308 소수점을 저장할 수 있는 타입인 float과 double은 소수점의 정밀도가 완벽하지 않아 값의 오차가 생길 수 있습니다. 수점 이하의 수를 다룰 때 double과 float은 사칙연산 시 정확한 값을 출력하지 않을 수 있습니다. 그 이유는 내부적으로 수를 저장할 때 이진수의 근사치를 저장하기 때문입니다. 그렇기에 미세한 숫자의 변동도 허용하지 않는 특히 돈과 소수점을 다룬다면 BigDecimal을 사용하셔야 합니다. BigDecimal은 속도는 느리지만 숫자가 어긋날 가능성을 미연에 방지할 수 있습니다. BigDecimal ..
Math.round() Math함수의 round()함수는 실수의 소수점 첫번째 자리를 반올림하여 정수로 리턴시켜줍니다. 하지만 이 메서드를 잘 활용하면 소수점 몇번째 자리까지 나타내는것도 가능합니다. 예를들어 33.777*100을 하면 3377.7가 되겠죠. 여기서 round를 적용시키면 3378이라는 정수가 리턴될것입니다. 여기서 다시 100.0을 나눠주면 실수로 적용되어 나옵니다. (33.78이 나오게 됩니다.) 소수점 둘째 자리까지 나타내고싶으시면 100.0을 곱하였다가 나눠주시면 되고 소수점 셋째 자리까지 나타내고싶으시면 1000.0을 곱하였다가 나눠주면 됩니다. (참고로 반올림이 아닌 올림을 하고싶다면 Math.ceil(); 버림은 Math.floor();입니다.) Math.round() 예제 ..
문자열에있는 숫자를 계산하고 싶은경우, 스트링변수에 Int값을 넣고싶은경우등등 코딩을 하다보면 어떤 변수형을 다른 형으로 강제 치환해야 할 경우가 많습니다. 이번글에서는 자바의 형변환에 대해 포스팅하겠습니다. 문자 -> 숫자 1. String to Int 가장 많이 사용한다고 생각됩니다. 자바 Integer클래스의 parseInt함수와 valueOf 함수로 변환 시켜줄 수 있습니다. //Integer.paseInt(String값) //Integer.valueOf(String값) String s_num = "10"; int i_num = Integer.parseInt(s_num); //String -> Int 1번방식 int i_num2 = Integer.valueOf(s_num); //String -> ..
삼항연산자 삼항 연산자는 조건식을 가지고 반환할 피연산자를 선택하는 동작을 하기 때문에 조건 연산자라고도 부른다. 이름에서 알 수 있듯 조건식의 결과에 따라 값을 반환하기 때문에, if문과 비슷한 역할을 수행할 수 있다. 이번 글에서는 삼항연산자를 중첩 사용해서 if문을 대체하는 연습을 해보겠다. 삼항연산자의 사용 (조건식)? 참 : 거짓; Java int a = 20; int b = 10; System.out.println((a > b)? "a가 b보다 크다." : "b가 a보다 크다."); // "a가 b보다 크다." 출력 출처: https://mintparc.tistory.com/62 [829] 삼항연산자의 기본적인 사용 방법이다. 조건식이 참일 때는 참에 해당하는 값을 반환하고, 거짓일때는 거짓에..
아작스(ajax) 통신 동기 방식 집에간다. 옷을 세탁기에 넣는다. 세탁이 다 될 때 까지 세탁기 앞에서 대기 한다. 세탁기가 세탁을 완료하면, 건조기에 넣는다. var d = 10; // 예를 들어 실행이 2초 걸린다면 var data = getAjaxData("https://www.naver.com"); //체감상 2년 alter(data) 비동기 방식 집에 간다. 옷을 세탁기에 넣는다. 세탁기에 건조 예약을 걸어 둔다. 세탁 이외에 다른 작업을 할 수 있다. ###- 바닐라JS 사용 // 바닐라JS console.clear(); let apiURL = "https://api.github.com/repos/vuejs/vue/commits?per_page=5&sha=master"; let fetchDa..
특정 문자열에서 원하는 문자가 포함되어 있는지 확인해야 될 때가 있다. 주로 문자열 포함 여부에 따라서 if문과 같은 분기문을 작성하거나 할때가 그러한데, Java에서는 여러가지 방법으로 문자열 검색이 가능하다. 그중에서도 오늘은 contains, indexOf, matches를 이용하여 문자열을 검색하는 방법을 포스팅 하겠다. [예제] public class StringFinder { public static void main(String[] args) { // TODO Auto-generated method stub String txt1 = "가나다라" ; String txt2 = "해당 내용은 테스트 입니다" ; String txt3 = "가격은 29,000원 입니다" ; // contains를 이..
메이븐 프로젝트(maven project ) 적용 후 API 라이브러리 추가 Project 명 우클릭 Configure >> Convert to Maven Project 클릭 Create new POM 팝업 >> Finish 클릭 porm.xml 생성 API 소스 코드 추가
재귀 (Recursion) 함수란 특정 함수 내에서 자기 자신을 다시 호출하여 문제를 해결해나가는 함수입니다. 문제를 해결하기 위해 원래 범위의 문제에서 더 작은 범위의 하위 문제를 먼저 해결함으로써 원래 문제를 해결해 나가는 방식입니다. 일반 반복문을 통해 구현 가능한 기능은 재귀 함수를 통해 구현이 가능하며 반대로 재귀 함수로 구현 한 기능을 반복문으로 구현이 가능합니다. 재귀 함수는 함수 내에서 자기 자신을 계속 호출하는 방식이기 때문에 함수 안에 반드시 종료 구간이 되는 Base Case를 생각하며 코드를 구현해야 합니다. 아래 샘플 예제를 한 번 보겠습니다. public class Recursion_Test { public static void main(String[] args) { Functi..
오버로딩(Overloading) 오버라이딩(Overriding) 자바에서 다형성을 지원하는 방법으로 메소드 오버로딩(Overloading) 오버라이딩(Overriding)이 있다. 오버로딩(Overloading)과 오버라이딩(Overriding) 비슷한 이름이 참 헷갈리게 한다. 오버로딩(Overloading) : 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의 해서 상요한다. 둘이 개념이 다른데도 어떤게 오버로딩(Overloading)이고 오버라이딩(Overriding)이고 뒤돌아서면 헷갈린다. 어쩔 수 있나 머리가 나쁘니.. 헷갈릴 때마다 확인할 수 밖에... 1. 오버로딩..