basic java seminar 2/2 novemberr 5, 1997 sparcs nam sedong [email protected] seminars on...
TRANSCRIPT
![Page 1: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/1.jpg)
Basic Java Seminar 2/2
Novemberr 5, 1997
SPARCS
Nam Sedong
Seminars on 4th SPARCS Exhibition - The second one
![Page 2: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/2.jpg)
What is Java?
• A way to make Web pages sexy?
• A language like C++, Smalltalk?
• Computing Platform– Java Programming Language– Java (Virtual) Machine (JVM)– Java API (Application Programmers’ Interface)
• MFC
![Page 3: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/3.jpg)
Java Language
• C++ -- +++– Object Oriented
– no multiple inheritance
– no operator overloading
– No pointer
• Secure• Thread-safe• Exception Handling
• Architecture Neutral• Internationalization
– Unicode, 2 byte char
• Garbage Collection• Standardization
– sizeof( int )
• Packages• Network Oriented
– Class loading
![Page 4: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/4.jpg)
Java Virtual Machine
• The engine that actually executes a Java program
• key to many of Java’s features– portability (Write once, run anywhere)– efficiency– security (Sandbox)
• virtual processor, virtual memory…• Used in JDK, JRE, browsers
![Page 5: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/5.jpg)
Java API
• package java.awt
• package java.awt.datatransfer
• package java.awt.event
• package java.awt.image
• package java.beans
• package java.io
• package java.lang
• package java.lang.reflect
• package java.math
• package java.net
• package java.rmi
• package java.rmi.dgc
• package java.rmi.registry
• package java.rmi.server
• package java.security
• package java.security.acl
• package java.security.interfaces
• package java.sql
• package java.text
• package java.util
• package java.util.zip
![Page 6: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/6.jpg)
Application & Applets
• Application– standalone programs– HotJava browser
• Applet– a Java program to be included in HTML pages
and executed in a Java-compatible browser.
![Page 7: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/7.jpg)
How Applet Run?
Java Source Code
Compile
Java Class File
Network
Web Browser
![Page 8: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/8.jpg)
Before You go on
• JDK(Java Development Kit)
• Java-compatible browser
• References– Java Tutorial HTML format– Java API Documentation
• You can find many resources about Java at http://www.javasoft.com
![Page 9: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/9.jpg)
Hello World Application
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
![Page 10: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/10.jpg)
Compiling
• JDK:– UNIX:
• javac HelloWorld.java
– DOS shell (Windows 95/NT): • javac HelloWorld.java
• Other Visual Development Tools:– Maybe, you can find “Compile” button, or etc.
• Output: HelloWorld.class
![Page 11: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/11.jpg)
Running
• Run the program using the Java interpreter.
• JDK– java HelloWorldApp
• Other Visual Development Tools:– Maybe, you can find “Compile” button, or etc.
![Page 12: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/12.jpg)
Variables and Data Types
• Primitive Type– char
• 2byte, UNICODE
– boolean• true or false
• Reference Type
• C data types Not supported – pointer, struct, union
![Page 13: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/13.jpg)
Class java.lang.String
String a = new String( “abc” );
String b;
b = new String( “def” );
String c = “abc”;
System.out.println( a.length( ) );
System.out.println( a.substring( 5, 10 ) );
System.out.println( a + b );
System.out.println( a == “abc” );
System.out.println( a.equals( “abc” ) );
System.out.println( c == “abc” );
String d = “This is”.concat( “String” );
![Page 14: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/14.jpg)
Class java.lang.Math
int a;
a = Math.max( -5, -10 );
a = Math.abs( a );
int pi = Math.PI;
a = ( int )Math.max( -9.0, -10.2 );
![Page 15: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/15.jpg)
java.util.Vector
Vector()
Vector(int)
Vector(int, int)
addElement(Object)
capacity()
contains(Object)
copyInto(Object[])
elementAt(int)
elements()
firstElement()
indexOf(Object) ...
![Page 16: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/16.jpg)
Class java.util.Stack
public class Stack extends Vector {
public Object push(Object item);
public Object pop() throws EmptyStackException;
public Object peek() throws EmptyStackException;
public boolean empty();
public int search(Object o);
}
![Page 17: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/17.jpg)
Abstract Window Toolkit(AWT)
• GUI, Look and Feel
• Components– Button, Frame, Panel, TextField, ...
• Event Handling– MouseListener, ComponentListener, ...
• Layout– GridLayout, FlowLayout, …
![Page 18: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/18.jpg)
AWT Component Hierarchy
![Page 19: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/19.jpg)
HelloSPARCS Application
• A button turn in to red when pressed– Add components to a container– Add a listener to a component– Multiple class in a file
![Page 20: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/20.jpg)
HelloSPARCS.java 1/3
import java.awt.*;
import java.awt.event.*;
public class HelloSPARCS {
public static void main( String[] args ) {
Frame f = new Frame( "HelloSPARCS" );
f.add( new SPARCSButton( ) );
f.pack();
f.show();
}
}
![Page 21: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/21.jpg)
Hello SPARCS.java 2/3
class SPARCSButton extends Button {
public SPARCSButton( ) {
this.setLabel( "SPARCS" );
this.addMouseListener( new SPARCSButtonAdapter( ) );
}
public SPARCSButton( Color argC ) {
this.setBackground( argC );
this.addMouseListener( new SPARCSButtonAdapter( ) );
}
}
![Page 22: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/22.jpg)
Hello SPARCS.java 3/3
class SPARCSButtonAdapter extends MouseAdapter {
public void mouseClicked( MouseEvent argME ) {
if ( argME.getSource( ) instanceof SPARCSButton ) {
( ( SPARCSButton )argME.getSource( ) ).setBackground( Color.red );
}
else {
System.err.println( "ERROR: ... " );
}
}
}
![Page 23: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/23.jpg)
Hello World Applet
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
![Page 24: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/24.jpg)
Class java.awt.Graphics
• Various devices, as well as onto off-screen images.
• Component.getGraphics( ) – origin – clip – color – font. – XOR
![Page 25: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/25.jpg)
repaint( )
• Another Thread for AWT
• repaint( )– may not be called– final state
• update( Graphics g)
• paint( Graphics g)
![Page 26: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/26.jpg)
HW.html(Calling an Applet)
<HTML>
<HEAD>
<TITLE>
A Simple Program
</TITLE>
</HEAD>
<BODY>
<APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>
![Page 27: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/27.jpg)
The Life Cycle of an Applet
public class Simple extends Applet {
. . .
public void init() { . . . }
public void start() { . . . }
public void stop() { . . . }
public void destroy() { . . . }
. . .
}
![Page 28: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/28.jpg)
한글 ? Unicode?
• char– 2byte
• String
• Unicode 2.0– 2 byte
• 한글로 된 변수이름을 쓸 수 있다 .
![Page 29: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/29.jpg)
Java 의 미래 ?
• Today, 5 times slower than C++– Just In-Time(JIT) compiler – JAR
• Write Once, Run Anywhere?– Java Foundation Class
• Assembly C• JavaBeans - Software Component• JavaStation - (Not Virtual)Machine
![Page 30: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/30.jpg)
References
• http://www.javasoft.com/docs/books/tutorial/index.html• http://www.javasoft.com/products/jdk/1.1/docs/api/
packages.html• http://www.javasoft.com/docs/books/jls/html/index.html• 전문가로 큰다 , 김도형 (dynaxis), 마이크로소프트웨어 • Java Unleashed, Sams net• Java Virtual Machine, Jon Meyer&Troy Downing, O’Reilly
![Page 31: Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong dgtgrade@sparcs.kaist.ac.kr Seminars on 4th SPARCS Exhibition - The second one](https://reader035.vdocument.in/reader035/viewer/2022062422/56649f145503460f94c28ee4/html5/thumbnails/31.jpg)
Contact Information
• [email protected]• [email protected]
• Office: 869-5400
• Off-line: SPARCS room