JAVA 89

[JAVA] 파일 출력 스트림(바이트 기반)

import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class MyFileOutputStream { public static void main(String[] args) { long start = System.nanoTime(); // 데이터가 존재 String data = "Hello, Java FileOutputStream \n 안녕반가워"; // 1. 파일에다가 데이터를 저장 하고 싶다면 (바이트 기반) // 자바 8버전 부터 제공 // try-catch-resource -> (자동으로 자원 닫아 준다) try (FileOutputStream fos =..

JAVA/Java 기초 2024.05.17

[JAVA] 파일 입력 스트림(바이트 기반)

기반 스트림 (Base Stream)이란 뭘까?기반 스트림은 데이터 소스와 직접 연결되는 스트림으로, 실제 데이터 읽기나 쓰기 작업을 수행한다. 이 스트림들은 데이터의 실제 입력 소스(파일, 메모리, 네트워크 연결 등)에 직접 연결되어 데이터를 바이트 단위로 읽거나 쓰는 기본적인 기능을 제공한다.바이트 기반 스트림: FileInputStream, FileOutputStream, SocketInputStream, SocketOutputStream 등이 있으며, 이들은 바이트 데이터를 처리한다.문자 기반 스트림: FileReader, FileWriter 등이 있으며, 이들은 문자 데이터를 처리한다. 보조 스트림 (Filter Stream)이란?보조 스트림은 기반 스트림 또는 다른 보조 스트림에 연결되어 사용..

JAVA/Java 기초 2024.05.16

[JAVA] 표준 입출력

자바에서 표준 입출력(Standard Input/Output)은 프로그램과 사용자 간의 기본적인 데이터 교환 방법을 제공한다.표준 입출력의 핵심 요소System.in**System.in**은 자바 프로그램의 표준 입력 스트림이다. 기본적으로 이 스트림은 키보드 입력을 받는다. 이는 InputStream 객체로, 바이트 기반의 낮은 수준의 입력 기능을 제공한다. 일반적으로, 사용자로부터 텍스트를 읽기 위해 Scanner 클래스나 **BufferedReader**와 같은 더 높은 수준의 래퍼(wrapper)를 사용하여 쉽게 데이터를 처리할 수 있다.System.out**System.out**은 자바 프로그램의 표준 출력 스트림으로, 텍스트 데이터를 콘솔에 출력한다. 이 스트림은 PrintStream 객체로,..

JAVA/Java 기초 2024.05.16

[JAVA] 도전! - 회원 가입 순서 기록 및 조회 시스템

문제 설명:사용자들이 웹사이트에 가입한 순서대로 회원 정보를 기록하고, 가입한 순서를 기준으로 회원을 조회하는 시스템을 구현하고자 합니다. 사용자는 이름과 이메일 주소로 구성되며, 시스템은 사용자가 가입한 순서대로 정보를 저장해야 합니다. 사용자를 조회할 때는 가입한 순서대로 출력해야 하며, 특정 사용자의 정보를 업데이트할 수 있어야 합니다. 해결 방법:LinkedHashMap을 사용하여 사용자의 가입 순서를 유지하면서 사용자 정보를 저장합니다. LinkedHashMap은 요소가 추가된 순서대로 요소를 저장하고 반환하는 특성이 있어 이 문제에 적합합니다. import java.util.LinkedHashMap;import java.util.Map;public class UserRegistrantionSy..

JAVA 2024.05.16

[JAVA] Map 인터페이스

Map은 키(key)와 값(value)을 연관시키는 자료구조이다. 이는 사전과 유사한 구조로, 각 키는 고유한 값을 가진다.Java에서 Map은 인터페이스로 정의되어 있으며, 이를 구현한 여러 가지 클래스가 있다. Map 주요 특징키-값 저장: Map은 키(key)와 값(value)의 쌍으로 데이터를 저장한다. 각 키는 고유해야 하며, 하나의 값에만 매핑된다.중복 키 불가: Map은 각 키가 고유해야 한다. 따라서 동일한 키를 두 번 이상 추가할 수 없다. 키의 유일성은 Map 내에서 보장된다.순서 보장하지 않음: Map은 키-값 쌍을 저장하는데 순서를 유지하지 않는다. 따라서 Map에 저장된 순서와 데이터를 순회할 때의 순서는 일치하지 않을 수 있다. Map 주요 기능 및 메서드키-값 저장: Map은 ..

JAVA/Java 기초 2024.05.16

[JAVA] 도전! - 영화 평점 관리 시스템

예제 개념: 영화 평점 관리 시스템상황 설명: 사용자가 영화에 평점을 주고, 평점에 따라 영화 추천 목록을 관리하는 시스템입니다. 사용자는 영화에 1부터 5까지의 평점을 줄 수 있으며, 평점이 높은 영화부터 낮은 순으로 정렬하여 보여줍니다.import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Comparator;public class MovieRayiongSystem { public static void main(String[] args) { // Movie object 계속 추가하는 자료구조 ArrayList movies = new ArrayList(); movies.ad..

JAVA 2024.05.16

[JAVA] 프레임워크(collection framework)

자바에서 컬렉션 프레임워크(collection framework)란다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미.즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현. ● 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 이다.● java.util 패키지에 구현되어 있음● 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있음 (만들어져 있는 걸 활용)● 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요함   List 인터페이스 - 1자바에서 객체를 순서대로 ..

JAVA/Java 기초 2024.05.16

[JAVA] 자바 I/O 개론

자바 I/O (입출력)데이터를 읽고 쓰는 기능파일, 네트워크, 다른 프로그램 등 다양한 소스와 대상으로부터 데이터를 주고 받는데 사용됨자바의 I/O 시스템은 크게 네 가지 주요 구성 요소로 나룰 수 있다(바이트 기반 스트림, 문자 기반 스트림, 버퍼링 스트림 그리고 고수준의 스트림으로 분류할 수 있음) 💡  Stream 이라는 단어를 살펴보자스트림(Stream)은 데이터를 순차적으로 처리하는 일련의 연속된 데이터 요소들이다. 자바에서 스트림은 데이터의 흐름을 읽고 쓰는 데 사용되는 추상적인 개념으로, 입출력 작업을 수행할 때 데이터를 한 곳에서 다른 곳으로 이동시키는 매개체 역할을 한다.주의!자바에서 '스트림'이라는 용어는 두 가지 맥락에서 사용된다. 하나는 I/O에 관련된 데이터 흐름을 처리하는 스트..

JAVA/Java 기초 2024.05.16

[JAVA] LinkedList

1. LinkedList 에 특징을 알아 보자2. LinkedList 구현해 보기자기 참조 관계-  자기 참조는 객체가 자신과 같은 타입의 다른 객체를 가리키는 경우를 말한다.- 용도 -> 연결 리스트, 트리 구조에 많이 활용 LinkedList 특징동일한 데이터 타입을 순서에 따라 관리하는 자료 구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음자료가 추가 될때 노드 만큼의 메모리를 할당 받고 이전 노드의 링크로 연결함 (정해진 크기가 없음)jdk 클래스 : LinkedList52라는 데이터를 찾으려면 Head에서부터 차례차례로 찾는다 -> next : 하나의 요소를 저장하는 기능 설계 package structure.ch04;public class MyLinkedList {..

JAVA/Java 기초 2024.05.08

[JAVA] BUBBLE GAME(버블 게임) 10단계

적군 생성 및 버블 수정파일 (new 파일 ->  BackgroundEnemyervice, Enemy, EnemyWay)인터페이스 파일enum 파일package Bubble.ex10;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Player extends JLabel implements Moveable { BubbleFrame mContext; private int x; private int y; private ImageIcon playerR, playerL; // 움직임의 상태 private boolean left; private boolean right; private boolean up; private boolean dow..

JAVA/Java 응용 2024.05.08