본문 바로가기

Java2

[Java] 실수형 연산의 오류 , 0.1 + 0.2 = 0.3이 왜 아닐까? (feat. BigDecimal 사용법) 서론 알고리즘 문제를 풀다 보니 double형의 계산을 해아 할 때가 있었는데, 간혹 가다 정말 내 머리로는 오점이 없는데 틀렸다고 나온다. 맞왜틀.. 이 경우에는 대부분 나의 논리적 오류였지만, 찾아보니 double형의 합 연산이 근사치를 표현한다고 찾아서 나중에 실수하지 않기 위해, 또한 궁금증을 제대로 풀기 위해 정리하려고 한다. 항상 왜 그런지를 알고 어떻게 그렇게 되는지에 대한 절차를 알아야 기억에 오래 남는다. 무작정 외워선 방대한 프로그래밍 지식을 오래 가지고 갈 수 없다고 생각한다. 본론 일단 왜 그런지에 앞서 한번 출력을 해보자 한다. 다음은 0.1과 0.2를 합한 값을 출력하는 프로그램이다. import java.math.BigDecimal; public class DoubleError.. 2022. 3. 22.
[Java] Array 와 Array List의 차이 , 공통점 Java 백준 문제를 풀던중 분명 Array와 ArrayList를 적재적소에 사용을 하면 효율적인 코딩이 가능할 것 같은데 아직 구분을 잘 못하고 있어서 정리하려고 한다. 대략적인 Array와 ArrayList의 차이 코드로 보는 Array와 ArrayList import java.util.ArrayList; public class ArrayAndArrayList { public static void main(String[] args) { // 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 // Array와 ArrayList의 선언 과 타입에서의 차이 (+ 크기 알아보기) int[] numArray = { 1, 2, 3, 4, 4};// 중복되는 원소를 추가할 수 .. 2022. 2. 28.