java 31

Java TreeSet

🔷 TreeSet TreeSet은 정렬이 가능한 Set으로, 중앙 노드를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽에 저장됨. 이를 통해 자동으로 정렬된 상태로 데이터를 유지. 🔷 실습(1)TreeSet을 이용하여 Lotto 번호 6개를 랜덤으로 넣기package day08;import java.util.HashSet;import java.util.Random;import java.util.Set;import java.util.TreeSet;public class TreeSet01 { public static void main(String[] args) { // 정렬이 가능한 Set // 중앙 노드를 기준으로 작은 값이 들어오면 left, 큰값이 들어오면 right // TreeSet을 이용하여..

백엔드/Java 2024.10.22

Java Map

🔷 Map- 값을 2개 쌍으로 저장. key / value   👉🏻    key: 홍길동  / value: 70           key: 김영이 / value: 87- key : 중복불가능, value : 중복가능 - key가 index 대용 - index가 없으면 정렬X, 중복X - HashMap을 가장 많이 사용 Map클래스,클래스> map = new HashMap클래스, 클래스>(); - map은 값이 2개이기 때문에 향상된 for문 / iterator 사용불가 - map => key만 분리 => set으로 구성 후 출력list, set  =>  add() : 추가 map  =>  put() : 추가 keySet() : 키를 기준으로 값을 가져오는 것이 가능 get(key) : key에 해당..

백엔드/Java 2024.10.21

Java set

🔷 Set중복 허용하지 않음: 동일한 값은 하나만 저장순서 보장하지 않음: 저장된 순서와 출력되는 순서는 다를 수 있다.인덱스 없음: List와 달리 인덱스 X🔷 HashSet HashSet : 대표적인 SetSet set = new HashSet();set.add("a");set.add("b");set.add("c");set.add("a"); // 중복된 값은 저장되지 않음set.add("b");set.add("c");System.out.println(set);중복된 값은 저장 되지 않고, a,b,c만 출력 됨. 🔷 Set 출력하기set은 index가 없어서 get(i) / set(index, value) 없음. 대신,두 가지 방법으로 출력 가능 향상된 for문 for (String s : set..

백엔드/Java 2024.10.20

Java List

🔷 실습(1)- 하루 일과를 저장하는 list를 생성 (String)- 출력 일반 for / 향상된 for / Iterator 출력 - import 단축키(이클립스) : ctrl + shift + opackage day07;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Iterator;import java.util.List;public class ListEx01 { public static void main(String[] args) { List dayScheduleList = new ArrayList(); dayScheduleList.add("물마시기"); day..

백엔드/Java 2024.10.20

Java Collection 프레임워크

🔷 컬렉션 프레임워크- 표준화된 방식의 자료구조- List, Set, Map => 인터페이스. 반드시 구현 클래스로 객체를 생성  👉🏻 데이터를 묶어서 관리할 때 사용  👉🏻 주로 배열 대신 사용   👉🏻 List(배열과 동일)      ❕ 값을 하나씩 저장      ❕ index 존재 : 순서를 보장      ❕ 중복 허용       ❕ 배열 대신에 가장 많이 사용하는 구조   👉🏻 Set      ❕ 값을 하나씩 저장      ❕ index 없음 : 순서를 보장하지 않음      ❕ 중복허용 안됨. (같은 값이 입력되면 덮어씀.)    👉🏻 Map      ❕ 값을 두개씩 저장  key/value 쌍으로 저장      ❕ index는 없고, key가 index 역할을 함.    ..

백엔드/Java 2024.10.20

Java 익명 클래스(Anonymous Class)

🔷 익명 클래스(Anonymous Class)- 내부 클래스의 일종.- 클래스를 정의하지 않고 즉석에서 객체를 생성 - 인터페이스를 이용하여 객체를 생성할 때, 클래스를 인터페이스 구현하여 객체를 생성  🔷 익명클래스를 사용하는 이유 - 인터페이스의 기능이 적고, 그 객체가 1개만 필요할 경우  - 메서드로 매개변수의 값이 들어와야 할 때 익명클래스를 사용함.package day07;interface Power { void turnOn(); void turnOff();}class TV implements Power { @Override public void turnOn() { System.out.println("전원이 켜집니다."); } @Override ..

백엔드/Java 2024.10.20

Java 예외 처리 실습

🔷 실습 1- 사용자가 지정한 크기와 랜덤 숫자의 범위에 따라 배열을 생성.- 만약 잘못된 입력이 들어오면 예외를 발생시켜서 프로그램이 정상적으로 동작하지 않도록 하고, 그에 대한 에러 메시지를 출력.- 메서드 생성 기능 : size를 입력받아(매개변수) size 만큼의 길이를 가지는 배열을 생성하여 랜덤값을 채워 배열을 리턴 랜덤값은 범위를 매개변수를 받아 start(시작값), count(개수) - size가 0보다 작으면 예외발생 - 랜덤값의 개수가 0이면 예외발생- 메서드 기능 : 매개변수로 배열을 받아 랜덤값을 채우는 메서드 랜덤값은 범위를 매개변수를 받아 start(시작값), count(개수) - 랜덤값의 개수가 0이면 예외발생 - 배열이 null이면 예외 발생 - 배열의 길이가 0보다 작으면..

백엔드/Java 2024.10.20

Java 예외 처리

3.0-1.02.0java.lang.RuntimeException: num2는 0이 될 수 없습니다. at java_project/day06.Exception02.calc(Exception02.java:40) at java_project/day06.Exception02.main(Exception02.java:14)num2는 0이 될 수 없습니다.-1.0예외 처리는 코드의 안정성과 신뢰성을 확보하기 위한 필수 요소 🔷 RuntimeException : 실행 예외 클래스  - 대표적인 RuntimeException의 하위 클래스에는 다음과 같은 것들이 있다.    👉🏻 NullPointerException: null 객체에 접근    👉🏻 ArrayIndexOutOfBoundsException: 배..

백엔드/Java 2024.10.17

Java 날짜와 시간

- Java에는 날짜와 시간을 다루는 다양한 클래스 존재.- Date, Calendar, LocalDateTime, SimpleDateFormat 등등📢 Date 클래스Date 클래스는 날짜와 시간을 표현하기 위해 사용되지만, deprecated 상태로 더 이상 권장되지 않음.Date d = new Date();System.out.println(d);  결과Mon Oct 14 15:30:45 UTC 2024 📢 Calendar 클래스Date의 후속작. 날짜와 시간을 더 편리하게 다룰 수 있음. Calendar 객체는 getInstance() 메서드를 사용하여 생성.Calendar c = Calendar.getInstance();  현재 날짜와 시간 정보를 출력int year = c.get(Calend..

백엔드/Java 2024.10.16

Java로 고객 관리 시스템 구현

고객을 Silver, Gold, VIP 등급으로 분류하며, 각 등급에 따라 보너스 포인트와 할인 혜택이 다르게 제공되는 시스템 구현  - Silver 고객 => 제품을 구매할 때 0% 할인 / 보너스 포인트 1% 적립   - Gold 고객 => 제품을 구매할 때 10% 할인 / 보너스 포인트 2% 적립   - VIP 고객 => 제품을 구매할 때 10% 할인 / 보너스 포인트 5% 적립                     => 전담 상담사           Customer / GoldCustomer / VIPCustomer 클래스 생성     GoldCustomer / VIPCustomer => Customer 클래스 상속 1. Customer 클래스 : 일반 고객을 나타내는 기본 클래스public cla..

백엔드/Java 2024.10.15