basic java seminar 2/2

31
Basic Java Seminar 2/2 Novemberr 5, 1997 SPARCS Nam Sedong [email protected]. kr Seminars on 4th SPARCS Exhibition - The second one

Upload: hong

Post on 30-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Seminars on 4th SPARCS Exhibition - The second one. Basic Java Seminar 2/2. Novemberr 5, 1997 SPARCS Nam Sedong [email protected]. What is Java?. A way to make Web pages sexy? A language like C++, Smalltalk? Computing Platform Java Programming Language - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Basic Java Seminar 2/2

Basic Java Seminar 2/2

Novemberr 5, 1997

SPARCS

Nam Sedong

[email protected]

Seminars on 4th SPARCS Exhibition - The second one

Page 2: Basic Java Seminar 2/2

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

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

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

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

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

How Applet Run?

Java Source Code

Compile

Java Class File

Network

Web Browser

Page 8: Basic Java Seminar 2/2

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

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

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

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

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

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

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

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

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

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

AWT Component Hierarchy

Page 19: Basic Java Seminar 2/2

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

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

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

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

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

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

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

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

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

한글 ? Unicode?

• char– 2byte

• String

• Unicode 2.0– 2 byte

• 한글로 된 변수이름을 쓸 수 있다 .

Page 29: Basic Java Seminar 2/2

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

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

Contact Information

[email protected]

[email protected][email protected]

[email protected]

[email protected]

• Office: 869-5400

• Off-line: SPARCS room