'Java' 카테고리의 다른 글
[과제] 로또 번호 (0) | 2017.06.26 |
---|---|
[과제] 입력받는 성적표 (0) | 2017.06.26 |
[JAVA 정리] 18. 네트워크 (0) | 2017.06.24 |
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
[과제] 로또 번호 (0) | 2017.06.26 |
---|---|
[과제] 입력받는 성적표 (0) | 2017.06.26 |
[JAVA 정리] 18. 네트워크 (0) | 2017.06.24 |
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
package util;
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
//로또 1~45까지의 중복값없이 나오게 하기
Random r2 = new Random();
int num[] = new int[6]; //6개의 숫자
for(int i=0; i<num.length;i++){
num[i] = (int)r2.nextInt(45)+1; //1부터 45까지의 6개의 숫자 임의 생성
for(int j =0; j<i; j++){ // 중복 검사
if(num[i]==num[j]){
i--;
}
}
}
System.out.println("로또출력기 행운의 번호는!!");
System.out.print(num[0]+" ,"+num[1]+" ,"+num[2]+" ,"+num[3]+" ,"+num[4]+" ,"+num[5]);
}
}
[과제] Windows Event를 이용한 신호등 예제 (0) | 2017.06.26 |
---|---|
[과제] 입력받는 성적표 (0) | 2017.06.26 |
[JAVA 정리] 18. 네트워크 (0) | 2017.06.24 |
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
[과제] Windows Event를 이용한 신호등 예제 (0) | 2017.06.26 |
---|---|
[과제] 로또 번호 (0) | 2017.06.26 |
[JAVA 정리] 18. 네트워크 (0) | 2017.06.24 |
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
18. 네트워크
*. Ios 7계층과 네트워크 4계층
*. Protocol
http, ftp, telnet, mail, …
ipx.spx, …
전송계층 :
Tcp
- 연결 지향성
- 안정성
- ServerSocket, Socket
Udp
- 비연결 지향성
- 속도
- DatagramSocket, DatagramPacket // 별도의 클레스에서 데이터를 담아야 됨
네트워크 계층 :ip
*. Ip, port, socket
*. Ip
-internet protocal
-네트워크 장치 식별
- 장치연결
*.port
- 프로그램 통로
- 6만여 개 : 1~1024
예제
[과제] 로또 번호 (0) | 2017.06.26 |
---|---|
[과제] 입력받는 성적표 (0) | 2017.06.26 |
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
[JAVA 정리] 15. IO(Input Output) (0) | 2017.06.24 |
17. Windows Programming
(1) 쟤료 : Component메서드<클래스<컴퍼넌트
(2) 디자인 : Layout
(3) 동작 : Event
(4) Component
1) AWT(Abstract Window Toolkit)
Java.awt.Component
Button
Canvas //그림판
Checkbox
Choice
Container // 다른것들을 감싸주는 역할 창고의 기능
Panel
- Applet //실제로는 사용하지 않는다.인터넷
Window
- Dialog
- FileDialog
- Frame
Label //글자출력
List //목록
Scrollbar
TextComponent
TextArea // 한 줄 입력
TextFileld // 여러 줄 입력
Dialog
- Custom(User Define) Dialog // 사용자가 직접 디자인해서 만듬
- Common(System) Dialog //
- 실행 방식
Modal
Modaless
(5) Layout
1) FlowLayout : Panel
2) BorderLayout :태두리(위 아래 오 왼 가운데) 5군대 중 지정해서 배치 할 수 있음
- west, north, south, east, center => window
3) GridLayout :테이블모양으로 행 열로 위치하여 좀 더 정교하게 배치할 수 있다.
4) GridBagLayout
5) CardLayout :눌렀을때 이벤트 발생 // 한 화면에 동시화면 띄어줄 수 있게
(6) Event
1) 3요소
- 이벤트 소스 (where , component)
- 이벤트 클래스 (what ,사건의 종류 어떤사건인지)
Java.util.AWTEvent
-- ActionEvent
컴퍼넌트가 활성화 될 때 발생하는 이벤트
-- AbjustmentEvent
스크롤바와 같이 조정 가능한 컴퍼넌트에서 조정이 일어날 때
-- ComponentEvent
ContainerEvent
컨테이너에 컴퍼넌트가 추가/삭제되는 경우 발생하는 이벤트
FocusEvent
컴퍼넌트에 포커스가 들어왔을 때 발생하는 이벤트
InputEvent
KeyEvent 키보드에 입력된 이벤트
MouseEvent 마우스 클릭에 대한 이벤트
PainEvent
컴퍼넌트가 다시 그려질 때 발생하는 이벤트
WindowEvent
윈도우가 활성화,또는 닫힐 때 발생하는 이벤트
-- ItemEvent
List, Choice와 같이 선택항목이 존재하는 컴퍼넌트에서 선택항목이 선택될 때 발생하는 이벤트
-- TextEvent
텍스트 컴퍼넌트의 내용이 변화될 때 발생하는 이벤트
- 이벤트 핸들러 (how , 어떻게 처리할 것 인지 , 리스너 인터페이스)
2) 이벤트 핸들러 처리 방식
- 이벤트 소스와 이벤트 핸들러가 같은 클래스인 경우
- 이벤트 소스와 이벤트 핸들러가 다른 클래스인 경우
- 이벤트 핸들러가 내부 클래스인 경우
- 이벤트 핸들러가 무명(익명) 클래스인 경우
3) 이벤트 소스와 이벤트 핸들러의 연결
- 이벤트 소스.addXXXListener(이벤트 핸들러);
4) Adapter Class
5) 그 외 이벤트 리스너
6) Menu
- Pull Down Menu(고정식 메뉴)
MenuBar
Menu
MenuItem
- Popup Menu (이동식 메뉴, Context Menu)
PopupMenu
MenuItem
[과제] 입력받는 성적표 (0) | 2017.06.26 |
---|---|
[JAVA 정리] 18. 네트워크 (0) | 2017.06.24 |
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
[JAVA 정리] 15. IO(Input Output) (0) | 2017.06.24 |
[JAVA 정리] 14. 예외 처리 (0) | 2017.06.24 |
16. Thread
(1) Program & Process
->현재 실행되고 있는 Program 이 Process이다.
1) Single Process :하나의 프로그램을 실행중인 상태에서 다른 프로그램을 사용할 수 없음.
2) Multi Process :하나의 프로세스 안에서 여려 작업을 동시에 할 수 있는 것
Multi Processor
하나의 프로그램에 안에서 실행되는 작업 단위 =>스레드
(2) Process
1) Thread
- Single Thread
-Multi Thread
2) 모든 프로그램은 반드시 기본적으로 한 개의 스레드를 가지고 있다.
- Main Thread (메인 메서드 자체가 하나의 메인 스레드 역할 이다.)
(3) 처리방식
1) Thread 클래스 - >편함 (이미 만들어져 있다.)
2) Runnable인터페이스 - > 불편함
(4) Thread의 이름을 처리하는 방법
1) 직접 변수를 통해 저장
2) 부모에 저장해두고 사용 getName()
3) CurrentThread()를 이용
(5) Thread의 LifeCycle
(6) synchronized
1) 메서드
2) 블러
Synchronized(…){
…
}
변수에는 쓸 수 없다.가급적이면 메서드에쓰는게 좋다.
3) wait() , notify(), notifyAll()
(7) 강제 종료
1) stop()
2) interrupt()
3) 직접 제어
(8) 스레드의 종료 시점
1) isAlive() 스레드가 있으면 조건문으로
2) join()
[JAVA 정리] 18. 네트워크 (0) | 2017.06.24 |
---|---|
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
[JAVA 정리] 15. IO(Input Output) (0) | 2017.06.24 |
[JAVA 정리] 14. 예외 처리 (0) | 2017.06.24 |
[JAVA 정리] 13. Generic (0) | 2017.06.24 |
15. IO(Input Output)
(1) java.io
(2) 모든 입출력은 Stream으로 구현된다.
- 단방향
- 원칙적으로 순차적
- 지연 발생 가능
- 어떤 장치를 사용 하던 간에 사용법은 거의 동일하다
(3) 자바에서 제공하는 Stream 방식
1) Byte Stream
- 1byte씩 기계가 사용하기 편한 방식
- InputStream, OutputStream
- 속도가 빠름
- FileInputStream ,FileOutputStream
- DataInputStream ,DataOutputStream
2) Character Stream (내부적으로 ByteStream으로 변환)
- 2byte씩 사람이 사용하기 편한 방식
어짜피byte Stream 으로 바껴서 사용되기 때문에 성능이 저하된다.
-Filter 방식
-Reader, Writer
도스창에서
Copy con 새로만들파일명
Txt 경우 글써놓고ctrl+z
* Print Stream
Serializable (직렬화)한줄로처리된다.
쓰는 방식 : public Interface Serializable {}
* PrintWrite :문자 Stream 방식 (이것저것 좋은 기능은 다 넣은 것)
ByteStream
- Object InputStream , ObjectOutputStream
->객체(복잡한 데이터), 다양한 ,많은 데이터들을 하나의 객체로 묶어서 넘길 수 있다.
bytestream
charstream
[JAVA 정리] 17. Windows Programming (0) | 2017.06.24 |
---|---|
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
[JAVA 정리] 14. 예외 처리 (0) | 2017.06.24 |
[JAVA 정리] 13. Generic (0) | 2017.06.24 |
[JAVA 정리] 12. 유용한 클래스들 (java.lang, java.util, java.text) (0) | 2017.06.24 |
14. 예외 처리
(1) 정의 : 예외가 발생했을 때 예외에 대한 제어권을 시스템(JVM)이 아니라 개발자가 가질 수 있게 하는 방법
(2) why?
1) 예외가 발생했을 때 메시지에 대한 표현 문제
(3) try, catch, throw, finally
(4) try / catch throw
(5) 예외 클래스
Throwable
Exception 소프트웨어 //
- RuntimeException //해도되고안해도되는 것
- IOException // 반드시해야된다.
Error 하드웨어에 대한 문제점 //수많은 자식클래스들이 있다.
(6) throw // 일부로 예외를 발생 시켜, catch가 잡게끔하기
예외처리를 다른 곳에 하기 위해 쓰임
1) block안에서만 사용하는
2) 단 1개만 던질 수 있다.여러 개 (x)
3) 예외를 발생시킨 후(예외가 발생한 후) 에 던짐
(7) throws
1) 예외가 발생하기 전에 던짐 (혹시나 발생할 수 있으니 대신 처리해달라)
2) 여러 개의 예외를 던짐
3) 메서드 밖에서만 사용
(8) finally
1) block
2) try/catch와 함께 사용
Try{
…
}
Catch(..){
…
}
Finally{
…
}
3) 반드시 실행을 보장받을 수 있는 영역
[JAVA 정리] 16. Thread (0) | 2017.06.24 |
---|---|
[JAVA 정리] 15. IO(Input Output) (0) | 2017.06.24 |
[JAVA 정리] 13. Generic (0) | 2017.06.24 |
[JAVA 정리] 12. 유용한 클래스들 (java.lang, java.util, java.text) (0) | 2017.06.24 |
[JAVA 정리] 11. Interface (0) | 2017.06.24 |
13. Generic
(1) 용도
1) 특정 ( 데이터)타입 (객체형)을 미리 검사
- 사전에 잘못된 데이터 타입을 미리 체크
2) c++의 Template
(2) 문법
1) 만드는 법
- class클래스명<이름>{…} // 이렇게 만든 클래스는 제네릭 클래스
2) 사용하는 법
- 클래스명<데이터타입>변수명= new 클래스명<데이터타입>();
[JAVA 정리] 15. IO(Input Output) (0) | 2017.06.24 |
---|---|
[JAVA 정리] 14. 예외 처리 (0) | 2017.06.24 |
[JAVA 정리] 12. 유용한 클래스들 (java.lang, java.util, java.text) (0) | 2017.06.24 |
[JAVA 정리] 11. Interface (0) | 2017.06.24 |
[JAVA 정리] 10. Package (0) | 2017.06.24 |
12. 유용한 클래스들(java.lang, java.util, java.text)
(1) Wrapper Class
Int I =10; // 비객체
i.변수,메서드(x)
Integer I =10; //객체
i.변수,메서드(o)
(2) 시간측정
System.currentTimeMillis()
(3) 문자열 추출하기
String - >split()
(4) Random
(5) 날짜와 시간 : Date, Calendar
(6) 문자열 과싱하기 :StringTokenizer
(7) ***** Collection
Set List
1) set
- 중복된 데이터를 저장하지 않는다.
- 정렬 순서가 없다.
- HashSet, LinkedHashSet, …
(SortedSet // Set계열의 자식 인터페이스)
2) SortedSet
- 정렬 기능 추가
- TreeSet, …
3) List
- 중복된 데이터를 저장
- 정렬 순서가 있다.
- ArrayList, Vector, LinkedList, …
4) Map
- Collection의 자식이 아니라, add 대신 put을 사용
- 키와값을한쌍으로 묶어서 쓴다.
- HashMap, HashTable, …
* 배열이나 컬렉션에서 좀 더 편리하게 사용할 수 있는 반복문
For(변수 :배열or컬렉션){
…
}
[JAVA 정리] 14. 예외 처리 (0) | 2017.06.24 |
---|---|
[JAVA 정리] 13. Generic (0) | 2017.06.24 |
[JAVA 정리] 11. Interface (0) | 2017.06.24 |
[JAVA 정리] 10. Package (0) | 2017.06.24 |
[JAVA 정리] 9. 클래스3 (0) | 2017.06.24 |