논리 연산자는 자주 사용하는 연산자인 것에 비해 헷갈리는 부분이 많다. [x가 5보다 크다] 라는 조건을 연산자를 써서 표현한다면 [x > 5] 로 표현한다. 하지만 코드를 작성하다보면 이렇게 단순한 식이 아닌 복잡한 연산자를 수행해야 한다. 논리연산자에는 기본적으로 && / || / ! 가 있다. && 그리고 (AND) || 또는 (OR) ! 부정 한가지 조건이 아닌 두가지 혹은 세가지 조건이 붙는 경우가 많다. x는 1보다 크고, 10보다 작다. 라는 말은 쉽게 말해 x 는 1보다 크다. 그리고 10보다는 작다. 라는 말이다. 이 조건을 위에 대입하여 다음과 같이 쓸 수 있다. x > 1 && x < 10 y는 2의 배수 또는 3의 배수이다. 이 조건을 위에 대입하여 다음과 같이 쓸 수 있다. y%2..
//다중 채팅 프로그램 import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import java.util.Scanner; import java.util.StringTokenizer; class ChattingClient extends Frame implements ActionListener { private static final long serialVersionUID = -6754116203125986830L; ThreadlistenThread; // 쓰레드 Socketsocket; // 클라이언트 소켓 BufferedReaderreader; // 입력 스트림 BufferedWriterwriter; // 출력 ..
import java.io.*; import java.net.*; class ClientThread extends Thread{ Socketsocket; // 클라이언트 소켓 MultiServerserver; // 서버 소켓 BufferedReaderreader; // 입력 스트림 BufferedWriterwriter; // 출력 스트림 StringuserMsg; // 메시지 StringnickName; // 클라이언트 닉네임 /* * 클라이언트 쓰레드 초기화 */ public ClientThread(Socket userSocket, MultiServer mainServer) throws Exception{ socket = userSocket; server = mainServer; reader = new..
import java.net.*; import java.util.*; public class MultiServer{ ServerSocketsc; // 서버 소켓 Vectorclients; // 클라이언트 목록 ClientThreadclient; // 클라이언트 쓰레드 Iterator clientsEn; // 클라이언트 목록 검색 : Enumeration // EnumerationclientsEn; // 메인 메소드 public static void main(String args[]){ MultiServer ms=null; // 채팅 서버 초기화 try { ms=new MultiServer(); // 채팅서버 객체 생성 ms.welcomeClients(); // 메시징 } catch(Exception e)..
IOEx1import java.io.*; import java.util.Arrays; class IOEx1 { public static void main(String[] args) { byte[] inSrc = {0,1,2,3,4,5,6,7,8,9}; byte[] outSrc = null; ByteArrayInputStream input = null; ByteArrayOutputStream output = null; input = new ByteArrayInputStream(inSrc); output = new ByteArrayOutputStream(); int data = 0; while((data = input.read())!=-1) { output.write(data);// void write(in..
AWT, 로그인 예제, Adapter클래스 이용 8/20일 예제 인용 /* * 창닫기 기능 구현 : WindowAdapter(추상클래스) -> 구현 * windowClosing(추상메소드) * 장점 : WindowListener를 이용할 경우는 실제로 필요하지 않은 메소드도 강제적으로 구현해야 하지만 * 추상클래스(WindowAdapter)의 경우는 실제로 필요한 메소드만을 구현하면 되므로 경제적 */ import java.awt.*; import java.awt.event.*; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.regex.Matcher; import java..
데이트베이스에 연동하여 AWT, Dialog, Popup 창을 이용한 로그인 예제 import java.awt.*; import java.awt.event.*; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import com.kysoft.member.Member; import com.kysoft.member.MemberDAO; class JavaEx29 extends Frame { // Frame = 기본..
import java.awt.*; import java.awt.event.*; class FrameTest3 { public static void main(String args[]) { Frame f = new Frame("Login");// Frame객체를 생성한다. f.setSize(300, 200);// Frame의 크기를 설정한다. // EventHandler클래스의 객체를 생성해서 Frame의 WindowListener로 등록한다. f.addWindowListener(new EventHandler()); f.setVisible(true);// 생성한 Frame을 화면에 보이도록 한다. } } class EventHandler implements WindowListener { public void..