04.30(Properties, IO, 배열을 사용한 예제)
2020. 4. 30. 23:43
프로그래밍/JAVA
Properties 사용 예제 java.util.Properties를 사용하여, data.xml 파일에 데이터를 기록 저장한 다음 파일에 기록된 데이터들을 읽어와서 Fruit[]에 기록하고 Fruit[]의 값들을 화면에 출력처리 > 실행결과 1 = apple, 1200, 3 2 = banana, 2500, 2 3 = grape, 4500, 5 4 = orange, 800, 10 5 = melon, 5000, 2 public class PropTest { public static void main(String[] args) { Properties prop = new Properties(); prop.put("1", "apple,1200,3"); prop.put("2", "banana,2500,2"); pr..
04.29(ArrayList 내림차순 정렬 예제)
2020. 4. 29. 23:01
프로그래밍/JAVA
ArrayList의 내림차순 정렬 예제 java.util.Ramdom을 사용하여 1부터 100사이의 임의의 정수 10개를 발생시켜 ArrayList에 저장하고 내림차순 출력하기 > 실행 결과 정렬 전 : 89 20 26 57 4 54 22 73 5 45 정렬 후 : 4 5 20 22 26 45 54 57 73 89 public class ListTest { public static void main(String[] args) { List list = new ArrayList(); Random rnd = new Random(); while(list.size()
04.28(GUI 작업 순서)
2020. 4. 28. 23:01
프로그래밍/JAVA
작업 순서 1. 컨테이너 객체 생성 - 컨테이너 객체 생성하기 ① JFrame 상속을 이용한 방법 import javax.swing.JFrame; public class Test extends JFrame{ public Test(){ super("테스트"); } public static void main(String[] args){ new Test(); } } ② 상속 받지 않고 객체 생성하기 import javax.swing.JFrame; public class Test{ public static void main(String[] args){ JFrame mainFrame = new JFrame("테스트"); } } ③ JFrame 상속 받은 클래스 작성하고, 실행용 클래스가 실행 import java..
04.27(GUI)
2020. 4. 27. 23:01
프로그래밍/JAVA
AWT(Abstract Window Toolkit) GUI프로그래밍(윈도우 프로그래밍)을 위한 도구로 다양한 컴포넌트를 제공함 Java로 구현하지 않고 OS의 컴포넌트를 그대로 사용하는 것이 특징임 Swing AWT를 확장한 GUI 프로그래밍 도구임 AWT보다 더 많은 종류의 컴포넌트를 제공하며, OS의 컴포넌트를 사용하지 않고 순수 Java로 구현한 것이 특징임 클래스명 앞에 J를 붙여서 AWT와 구분 컨테이너란? 다른 컴포넌트를 포함할 수 있는 GUI 컴포넌트임 다른 컨테이너에 포함 가능 다른 컨테이너에 속하지 않고 독립적으로 존재 가능 스스로 화면에 자기 자신을 출력하는 컨테이너로는 JFrame, JDialog, JApplet이 있음 컴포넌트란? 컨테이너에 포함되어야 화면에 출력될 수 있는 GUI ..
04.24(서버와 클라이언트 / TCP 소켓 프로그래밍 순서)
2020. 4. 24. 23:04
프로그래밍/JAVA
서버와 클라이언트 서버는 서비스를 제공하는 프로그램 클라이언트는 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당됨 소켓프로그래밍 소켓을 이용한 통신 프로그래밍을 뜻함 소켓이란 프로세스간의 통신에 사용되는 양쪽 끝단 TCP 연결이 더 확실(안정성높음) 한쪽에서 통신을 할때 보내는 쪽과 응답하는 곳의 연결을 확인하고 연결이 잘 되었을 때만 데이터 전달 UDP 속도는 빠르나 일방적으로 보내기에 보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않았는지 확인할 수 없음 TCP 소켓 프로그래밍 순서(서버용) 1. 서버의 포트번호를 정함 2. 서버용 소켓 객체를 생성 3. 클라이언트쪽에서 접속요청이 오기를 기다림 4. 접속 요청이 오면 요청을 수락하고 해당 클라이언트에 대한 소켓 ..
04.23(스레드)
2020. 4. 23. 23:16
프로그래밍/JAVA
자바프로세스란? 실행중인 하나의 프로그램 스레드란? 프로세스 내에서 실제 작업을 수행하는 작업 단위 모든 프로세스는 하나 이상의 스레드를 가짐 프로세스 종료 싱글 스레드의 경우 메인 스레드가 종료하면 프로세스도 종료 멀티 스레드의 경우 실행중인 스레드가 하나라도 있다면 프로세스가 종료되지 않음 멀티 스레드의 장점 1. 자원을 보다 효율적으로 사용할 수 있음 2. 사용자에 대한 응답성이 향상 3. 작업이 분리되어 코드가 간결 멀티 스레드의 단점 1. 동기화에 주의해야 함 2. 교착상태가 발생하지 않도록 주의해야 함 3. 프로그래밍시 고려사항이 많음 스레드의 생성 1. Thread클래스를 상속받아 직접 생성 [표현식] class 클래스명 extends Thread { @Override public void ..
04.22(예외 처리/ IO/ Collection/ Generics)
2020. 4. 22. 23:14
프로그래밍/JAVA
오류(Error)의 종류 1. 컴파일 에러 : 소스상의 문법 에러 2. 런타임 에러 : 입력값이 틀렸거나 배열 인덱스의 범위가 벗어난 경우 발생하는 오류들 3. 논리 에러 : 개발자의 의도대로 작동X 4. 시스템 에러 : 컴퓨터의 오작동 오류와 예외 Error(오류) : 해결 불가능 Exception(예외) : 예외처리를 통해 해결 가능한 오류 - Checked Exception → IOException : 개발자가 반드시 처리해야하는 오류 - Unchecked Exception → RuntimeException 예외처리 1. throws 메소드를 최초 호출한 곳으로 예외던지기 2. try~catch try{ //예외처리할 구문 }catch(처리할예외클래스명 참조형변수명){ //예외클래스 처리 구문 }f..
04.21(IO 예제로 정리하기)
2020. 4. 21. 22:11
프로그래밍/JAVA
InputStreamReader으로 사용자 입력값 받기 public class IOTest { public static void main(String[] args) { //사용자 입력값 (1byte) new IOTest().InputStreamReader_1(); new IOTest().InputStreamReader_2(); } //사용자 입력값 받기(문자) public void InputStreamReader_1() { String input = ""; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //보조스트림 끼움 System.out.print("입력 : "); try { while((input=br.readLi..