프로그래밍언어36 [Java] 큰 소수를 다루기 위한 BigDecimal 개념 및 사용방법 BigDecimal 소개 자바의 BigDecimal 클래스는 부동 소수점 연산에 있어 높은 정확도를 제공한다. 이 클래스는 금융 계산, 과학 계산 등에서 정확한 숫자 처리가 필수적일 때 사용된다. BigDecimal의 주요 메서드 BigDecimal은 add(), subtract(), multiply(), divide() 등의 사칙연산 메서드를 포함한다. 코드는 실제로 돌려보면서 무슨 차이인지 확인해보면 좋다. 사칙연산 예제 import java.math.BigDecimal; public class Main { public static void main(String[] args) { BigDecimal num1 = new BigDecimal("10.75"); BigDecimal num2 = new Big.. 프로그래밍언어/Java 2024. 4. 8. [Java] 큰 숫자를 다루기 위한 BigInteger 개념 및 사용 방법 BigInteger 소개 자바의 BigInteger 클래스는 제한 없이 큰 정수를 다룰 수 있는 기능을 제공한다. 이 클래스는 일반적인 정수 자료형으로는 처리할 수 없는 매우 큰 수를 다룰 때 사용되며, java.math 패키지에 속해 있다. BigInteger는 암호화, 금융 계산, 수학적 연산 등 다양한 분야에서 유용하게 사용된다. BigInteger의 주요 메서드 BigInteger는 불변 객체로, 각종 수학적 연산 후 새로운 BigInteger 인스턴스를 반환한다. 주요 메서드로는 add(), subtract(), multiply(), divide(), mod() 등이 있다. 이 클래스는 문자열이나 byte 배열로부터 BigInteger 객체를 생성할 수 있는 생성자도 제공한다. 사칙연산 예제 i.. 프로그래밍언어/Java 2024. 4. 4. [Java] 기본 변수 타입과 변수의 크기와 특징 자바는 객체 지향 프로그래밍 언어로, 다양한 유형의 데이터를 효율적으로 처리할 수 있는 기본 변수들을 제공한다. 프로그래밍에서 변수는 데이터를 저장하는 메모리의 공간으로, 적절한 활용은 프로그램의 효율성과 가독성을 높일 수 있다. 자바의 기본 변수 유형은 각각 고유의 크기와 특성을 갖고 있으며, 이는 메모리 관리와 처리 속도에 중요한 역할을 한다. 변수의 크기와 비트로 표현하는 방식 자바에서 각 변수 유형은 고유한 크기와 메모리 할당을 갖는다. 예를 들어, byte는 8비트, int는 32비트를 사용한다. 이러한 비트의 크기는 변수가 저장할 수 있는 값의 범위를 결정한다. 자바의 기본 변수 종류, 범위 및 사용 예시 정수형 byte 범위: -128 ~ 127 크기: 8 비트 예시: byte age = 3.. 프로그래밍언어/Java 2024. 4. 3. [Java] 사용자 입력 및 출력 처리하기 사용자 입력 받기 Scanner Scanner 클래스는 Java의 java.util 패키지에 포함되어 있으며, 사용자로부터의 다양한 형태의 입력을 처리하는 데 사용된다. 이 클래스는 문자열, 정수, 실수, 불리언 등 다양한 타입의 입력을 쉽게 읽을 수 있다. 기본 사용 예제 import java.util.Scanner; public class InputExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("이름을 입력하세요: "); String name = scanner.nextLine(); System.out.println("안녕하세요, " + name + "님.. 프로그래밍언어/Java 2024. 4. 2. [Java] 최솟값, 최댓값 찾기 서론 Java에서 데이터를 효율적으로 처리하고 분석하는 데는 배열과 리스트가 중요한 역할을 합니다. 본 글에서는 for 문, Math 메서드, 그리고 if문을 활용하여 Java에서 배열과 리스트의 최솟값 및 최댓값을 찾는 다양한 방법을 탐구해보겠습니다. 기본적인 배열과 리스트의 활용 Java에서 배열은 동일한 데이터 타입의 요소들을 순차적으로 저장하는 구조이며, 리스트는 가변적인 크기를 갖는 데이터 컬렉션입니다. 이 두 구조 모두 인덱스를 통해 개별 요소에 접근할 수 있으며, 데이터를 저장하고 처리하는 데 널리 사용됩니다. 최솟값과 최댓값 찾기 Math 메서드 활용 예제 int[] numbers = {4, 3, 7, 1, 8}; int min = numbers[0]; int max = numbers[0].. 프로그래밍언어/Java 2024. 4. 1. [Java] 문자열 치환하는 방법(replace, replaceAll, replaceFirst) Java의 문자열 처리 개념 문자열은 문자의 연속된 시퀀스로, Java에서는 String 클래스를 통해 문자열을 표현합니다. 문자열 처리는 데이터 분석, 사용자 입력 처리, 파일 읽기/쓰기 등 다양한 분야에서 중요한 역할을 합니다. 문자열 찾기 및 변경 방법 Java에서 문자열을 찾고 변경하는 데는 여러 메서드가 있습니다: replace(): 문자열에서 특정 문자 또는 문자열을 다른 문자 또는 문자열로 변경합니다. replaceAll(): 정규 표현식을 사용하거나 특정 문자열을 다른 문자열로 변경합니다. replaceFirst(): 정규 표현식을 사용하여 문자열에서 첫 번째로 발견되는 패턴에 해당하는 부분을 변경합니다. 실제 예제 replace() 예제 String original = "Hello, Wo.. 프로그래밍언어/Java 2024. 3. 31. [Java] LocalTime, LocalDate, LocalDateTime을 이용한 시간 관리하기 오늘은 Java를 이용해 시간을 다루는 방법에 대해서 알아보겠습니다. 자바 8의 이전의 java.util.Date 및 java.util.Calendar 클래스들은 여러 가지 문제점을 가지고 있었습니다: 불변성 부족: Date 클래스의 인스턴스는 변경 가능했습니다. 이로 인해 날짜 객체가 예기치 않게 변경될 위험이 있었습니다. 스레드 안전하지 않음: 여러 스레드에서 동시에 Date 객체를 수정할 때 동기화 문제가 발생할 수 있었습니다. 표준화된 시간대 처리 부재: Date는 시간대를 고려하지 않아 국제화된 애플리케이션에서는 문제가 발생하기 쉬웠습니다. 복잡한 API: Calendar 클래스는 사용하기 복잡했으며, 직관적이지 않은 메서드를 많이 포함하고 있었습니다. 자바 8에서는 이러한 문제들을 해결하기 위.. 프로그래밍언어/Java 2024. 3. 30. [Java] 실행시간 측정하기 메서드 시간 측정의 중요성 오늘은 자바 프로그래밍에서 메서드가 얼마나 빨리 실행되는지 측정하는 방법에 대해 알아본다. 프로그래밍을 할 때, 우리가 작성한 코드가 얼마나 효율적인지 알기 위해서는 실행 시간을 측정하는 것이 중요하다. 이를 통해 프로그램의 성능을 개선할 수 있다. 그럼 자바에서 시간을 측정하는 기본적인 방법에 알아보자 자바의 시간 측정 기본 개념 자바에서 시간을 측정하는 데는 주로 두 가지 메서드를 사용한다. System.currentTimeMillis(): 현재 시간을 밀리초(1/1000초) 단위로 반환. 날짜와 시간을 측정 System.nanoTime(): 더 정밀한 나노초(1/1,000,000,000초) 단위로 현재 시간을 반환. 짧은 시간을 측정할 때 유용 실제 예제를 통한 시간 측정.. 프로그래밍언어/Java 2024. 3. 25. [Java] try-catch-final 보다 try-with-resources를 이용하자 try - catch - finally public void insert(User user) { final String sql = "insert into users (account, password, email) values (?, ?, ?)"; Connection conn = null; PreparedStatement pstmt = null; try { conn = dataSource.getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, user.getAccount()); pstmt.setString(2, user.getPassword()); pstmt.setString(3, user.getEmail()); pstmt.execu.. 프로그래밍언어/Java 2022. 3. 25. [Java] JUnit 이란? JUnit Junit이란 자바 개발자의 93%가 사용하는 단위 테스트 프레임워크이며 Java8 이상부터 지원한다. JUnit5의 경우 2017년 10월에 공개 스프링부트의 경우 2.2버전부터 기본적으로 제공된다. 전처리 작업1(모든 테스트 실행전후 한번만) // JUnit4 @BeforeClass, @AfterClass // JUnit5 @BeforeAll, @AfterAll 스태틱으로 동작하기 때문에 변수에 값을 할당하고 싶다면 변수도 static으로 선언해야 한다. import org.junit.jupiter.api.BeforeAll; class JUnitTest { private static String example; @BeforeAll static void setup() { exa.. 프로그래밍언어/Java 2022. 3. 20. [Java] 문자열에서 원하는 문자 추출하기 문자열에서 특정 위치에 있는 문자를 추출하고 싶을때가 있다. 이번 포스팅에서는 원하는 문자를 추출하는 방법에 대해서 알아보자. charAt String 내장 메서드중 하나인 charAt을 이용하면 특정위치의 문자를 가져올 수 있다. python에서 문자열의 index로 가져오는 역할과 비슷하다고 보면 된다. @Test @DisplayName("String에서 특정 문자를 가져온다1.") void charAt1() { //given char expected = '멍'; String text = "멍토 블로그"; //when char value = text.charAt(0); //then assertThat(value).isEqualTo(expected); } 여기서는 첫번째 문자를 가져오고 싶어서 0번째 .. 프로그래밍언어/Java 2022. 2. 10. 자바(Java) String 문자열 비교하기 자바에서 문자열을 비교하려면 기본형 타입(primitive type)인 int나 long, char와 다른방식으로 비교를 해야한다. 이번 포스팅에서는 왜 그런지와 equals 메서드에 대해서 알아보자. == == 의 비교방법은 주소를 이용한 비교이다. 기본형 타입의 경우 값이 같으면 비교가 되고 객체의 경우는 같은 객체일 경우에만 true가 나오게 된다. @Test @DisplayName("String은 비교할때 == 로 비교하면 안된다.") void equals1() { //given String a = "멍토블로그"; String b = new String("멍토블로그"); //when boolean value = a == b; //then assertThat(value).isFalse(); } 일반.. 프로그래밍언어/Java 2022. 2. 10. 이전 1 2 3 다음 💲 광고입니다.