A Little Cup of Java-Coffee: CS404: CAI Class Presentation - 01 By: Leo Sep, 2002
A Little Cup of Java-Coffee: CS404: CAI Class Presentation - 01 By: Leo Sep, 2002
CS404: CAI
Class Presentation_01
By: Leo
Sep, 2002
Today’s session
• Part-1) Java overview (5mins)
– What java is
– Java features
– Java’s cross-platform
• Part-2) two simple and typical java programs
– A stand-lone java and its running (5mins)
– A applet and its running (5mins)
• Part-3) how to learn java by yourself (5mins)
– 3 stages
– resources
Part-one
• Java overview
What Java is
• Java is an “easy” programming language,
– just a tool like C++, VB, …and English. Somehow a
language tool itself is not so complex.
Java can open and access “objects” across the Net via
URLs (Uniform Resource Locator)----eg.
“http//:gamut.neiu.edu/~ylei/home.html”,
• Robust
The single biggest difference between Java
and C/C++ is that Java has “a inner safe
pointer-model”, therefore it eliminates the
possibility of overwriting memory and corrupting
data, so programmers feel very safe in coding.
Java’s Features(continue)
• GUI [Java-Swing]
For some reason, Sun believe their java-swing
is very important, so they always put it in their
certificate-tests.
• Multi-threaded
• Secure [ Exception handling ]
• Dynamic [ for Server-side coding]
Java’s cross-platform
• Interpreted Execute: cross-platform
why: For cross-platform purpose. Once coding, run anywhere.
The Java interpreter ( java.exe and its javaVirtualMachine) can
execute compiled Java-byte-codes(Xxx.class) directly on any machine to
which the interpreter has been ported.
How: ( eg. Dos command line style)
- Edit source code “demo.java” , by notepad/or other IDE tools
- Compile ( javac.exe ) “demo.java” javac Demo.java Java byte
codes, namely, Demo.class
- Execute (Interpreted Execute) java Demo
• Speed issue AND new solutions: java is slower than c++ in running.
however, by now, there are some new technology of Java compiler, such
as “Just-in-time”, and “HotSpot adaptive Compiler”. They make java
very faster than before.
Ps: Compiler and Interpreters: Run in Physical CPU
1. Compilers use the traditional compile/link/run strategy.
Examples: C, C++, ML.
source [complie] native-files [link] nativeprogram [run]
demo.c --- obj - demo.exe --Intel cpu
Demoh.h
2. Interpreters execute the source code directly. Examples:
BASIC, Perl, TCL/Tk, ML.
source [load] [interpret run]
demo.perl - source-program - Intel cpu
data
Java: Run in Virtual Cpu
:cross-platfrom
Demo.java Compile Demo.class link xxx.class
Source-code “javac” byte-code files bytecode
program
Java program
1 // Fig. 2.1: Welcome1.java
2 // A first program in Java
3
4 public class Welcome1 {
5 public static void main( String args[] )
6 {
7 System.out.println( "Welcome to Java Programming!" );
8 }
9 }
Java program
A Simple GUI Program: Printing a
Line of Text
• Display
– Most Java applications use windows or a dialog box
• We have used command window
– Class JOptionPane allows us to use dialog boxes
• Packages
– Set of predefined classes for us to use
– Groups of related classes called packages
• Group of all packages known as Java class library or Java
applications programming interface (Java API)
– JOptionPane is in the javax.swing package
• Package has classes for using Graphical User Interfaces (GUIs)
1 // Fig. 2.6: Welcome4.java
7 {
8 JOptionPane.showMessageDialog(
9 null, "Welcome\nto\nJava\nProgramming!" );
10
12 }
13 }
Packages
• Like “namespace” in C++
• How to use:
– C++: using namespace xxx
– Java: import xxx, or
import xxx.xx
A Simple Java Applet: Drawing a
1 <html>
2
3
String
<applet code="WelcomeApplet.class" width=300 height=30>
</applet>
4 </html>
1 <html>
2 <applet code="WelcomeLines.class" width=300 height=40>
3 </applet>
4 </html>
Part-3
• How to learn Java by ourself
3 stages
• S-1: basic
– Contents: language grammars +
GUI (swings and event-driven)
Applets
– 2-4 weeks
• S-2: mid-level projects
– Contents:
• Exception Handling
• Threads
• Streams
• Network
– 4-8 weeks
3 Stages(cont’d)
S-3: Advanced projects
contents: JavaBeans
RMI
Servlets and JSP
EJB…
many topics
time: years , just do projects with Java
Self-training Resources:
in Stage-1 and Stage-2
• Sun’s free JSDK. Download and install it.
– By the way, many books give us a free CD of JSDK.
– Visit http://orion.neiu.edu/~ncaftori/
• Online books <<Thinking in Java>>, it has many
translated version, Japanese, Chinese, etc.
• Sun’s web training
• Other books:
– Sun’s <<core java>>, it’s the base of Sun’s certificate-tests.
– <<Java:How to program>>, html style, friendly
• Search in http://deitel.com, a lots of sample codes
IDE’s: search Sun’s web:
sun.java.com
a. Jbuilder
b. Visual Age
c. Sun Forte
d. Visual Café
e. J++