SlideShare ist ein Scribd-Unternehmen logo
1 von 29
A little cup of Java-coffee
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 works for internet project(mainly), and apply
“3-tired architecture”, coding on the server-side
– So besides Java language knowledge, we need to learn
lots of thing about telecommunication on WEB, to
finish a real-time project.
What Java is(continue)
• Java applies Object-Oriented Tech.
– Java is not so difficulty, though OOP is. A java
expert must be an OOP expert.
• Java is slower than C++ ( 3-5 times), Java’s
database function is slower than VB.
• Java is very portable: cross-platform
Java’s Features
• Simple
Java omits many rarely used, poorly understood, confusing
features of C++. Say : No Pointer! No dynamic delete.
• Object Oriented
Object –oriented design is a technology that focuses design
on the data (object) and on the interfaces to it.
Let’s say, everything is an object, everything will
become a class in Java. Every java program, in top-
level view, is classes.
Java’s Features(continue)
• Distributed
Basically, Java is for Net-Work application, for WEB
project.
Java can open and access “objects” across the Net via
URLs (Uniform Resource Locator)----eg.
“http//:gamut.neiu.edu/~ylei/home.html”,
with the same ease as when accessing a local file system
Java’s Features(continue)
• 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
1. 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
interpretedly run on VM |-- Intel CPU
(virtual CPU: JSDK ) |-- … CPU
|-- Apple CPU
Part-2 2 samples
• How many kinds of java programs ?
• Demo-1: Stand-lone sample
• Demo-2: an Applet sample
How many kinds of Java Programs?
• Un-network app.: (1)Standalone Java program (today)
• Network app: non-standalone Java program
Internet: (2)Applet , (today)
(3)servlet
(4)JavaBean classes
Intranet: (5)EJB ( EnterpriseJavaBean ),
(6)RMI, etc
Standalone Java Program
• The main() method
public static void main(String args[]){
...
}
public--- the interpreter can call it
static ----It is a static method belonging to the class
void -----It does not return a value
String----It always has an array of String objects as its formal parameter.
the array contains any arguments passed to the program on the
command line
the source file’s name must match the class name which main method is
in
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 }
Welcome to Java Programming!
9 }
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 }
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
2 // Printing multiple lines in a dialog box
3 import javax.swing.JOptionPane; // import class JOptionPane
4
5 public class Welcome4 {
6 public static void main( String args[] )
7 {
8 JOptionPane.showMessageDialog(
9 null, "WelcomentonJavanProgramming!" );
10
11 System.exit( 0 ); // terminate the program
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
String
– appletviewer only understands
<applet> tags
• Ignores everything else
• Minimal browser
– Executing the applet
•appletviewer WelcomeApplet.html
• Perform in directory containing .class file
1 <html>
2 <applet code="WelcomeApplet.class" width=300 height=30>
3 </applet>
4 </html>
1 // Fig. 3.6: WelcomeApplet.java
2 // A first applet in Java
33 import javax.swing.JApplet; // import class JApplet
4 import java.awt.Graphics; // import class Graphics
5
66 public class WelcomeApplet extends JApplet {
77 public void paint( Graphics g )
8 {
9 g.drawString( "Welcome to Java Programming!", 25, 25 );
10 }
11 }
1 <html>
2 <applet code="WelcomeApplet.class" width=300 height=30>
3 </applet>
4 </html>
import allows us to use
predefined classes (allowing
us to use applets and
graphics, in this case).
extends allows us to inherit the
capabilities of class JApplet.
Method paint is guaranteed to
be called in all applets. Its first
line must be defined as above.
1 // Fig. 3.8: WelcomeApplet2.java
2 // Displaying multiple strings
3 import javax.swing.JApplet; // import class JApplet
4 import java.awt.Graphics; // import class Graphics
5
6 public class WelcomeApplet2 extends JApplet {
7 public void paint( Graphics g )
8 {
99 g.drawString( "Welcome to", 25, 25 );
10 g.drawString( "Java Programming!", 25, 40 );
11 }
12 }
1 <html>
2 <applet code="WelcomeApplet2.class" width=300 height=45>
3 </applet>
4 </html>
The two drawString statements
simulate a newline. In fact, the
concept of lines of text does not
exist when drawing strings.
1 // Displaying text and lines
2 import javax.swing.JApplet; // import class JApplet
3 import java.awt.Graphics; // import class Graphics
4
5 public class WelcomeLines extends JApplet {
6 public void paint( Graphics g )
7 {
8 g.drawLine( 15, 10, 210, 10 );
99 g.drawLine( 15, 30, 210, 30 );
10 g.drawString( "Welcome to Java Programming!", 25, 25 );
11 }
12 }
1 <html>
2 <applet code="WelcomeLines.class" width=300 height=40>
3 </applet>
4 </html>
Draw horizontal lines with
drawLine (endpoints have same
y coordinate).
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++

Weitere ähnliche Inhalte

Was ist angesagt?

Java bytecode and classes
Java bytecode and classesJava bytecode and classes
Java bytecode and classes
yoavwix
 
Chapter 2.1
Chapter 2.1Chapter 2.1
Chapter 2.1
sotlsoc
 
Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924
yohanbeschi
 

Was ist angesagt? (17)

Java byte code & virtual machine
Java byte code & virtual machineJava byte code & virtual machine
Java byte code & virtual machine
 
01. Introduction to programming with java
01. Introduction to programming with java01. Introduction to programming with java
01. Introduction to programming with java
 
1- java
1- java1- java
1- java
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introduction
 
Basic java part_ii
Basic java part_iiBasic java part_ii
Basic java part_ii
 
Java introduction
Java introductionJava introduction
Java introduction
 
Java bytecode and classes
Java bytecode and classesJava bytecode and classes
Java bytecode and classes
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
An Introduction to Java Compiler and Runtime
An Introduction to Java Compiler and RuntimeAn Introduction to Java Compiler and Runtime
An Introduction to Java Compiler and Runtime
 
1.introduction to java
1.introduction to java1.introduction to java
1.introduction to java
 
Chapter 2.1
Chapter 2.1Chapter 2.1
Chapter 2.1
 
Java basics notes
Java basics notesJava basics notes
Java basics notes
 
Java Tutorial to Learn Java Programming
Java Tutorial to Learn Java ProgrammingJava Tutorial to Learn Java Programming
Java Tutorial to Learn Java Programming
 
Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924
 

Andere mochten auch (7)

Cpp tutorial
Cpp tutorialCpp tutorial
Cpp tutorial
 
Lec08
Lec08Lec08
Lec08
 
Java tutorials
Java tutorialsJava tutorials
Java tutorials
 
Ipv4 tutorial
Ipv4 tutorialIpv4 tutorial
Ipv4 tutorial
 
Ipv6 tutorial
Ipv6 tutorialIpv6 tutorial
Ipv6 tutorial
 
Introduction to c++
Introduction to c++Introduction to c++
Introduction to c++
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 

Ähnlich wie Java review00

Java basics notes
Java basics notesJava basics notes
Java basics notes
Nexus
 

Ähnlich wie Java review00 (20)

Java basics notes
Java basics notesJava basics notes
Java basics notes
 
Java programming basics notes for beginners(java programming tutorials)
Java programming basics notes for beginners(java programming tutorials)Java programming basics notes for beginners(java programming tutorials)
Java programming basics notes for beginners(java programming tutorials)
 
Java basics notes
Java basics notesJava basics notes
Java basics notes
 
Java basics notes
Java basics notesJava basics notes
Java basics notes
 
Javalecture 1
Javalecture 1Javalecture 1
Javalecture 1
 
basic_java.ppt
basic_java.pptbasic_java.ppt
basic_java.ppt
 
Java1 in mumbai
Java1 in mumbaiJava1 in mumbai
Java1 in mumbai
 
Java/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBCJava/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBC
 
Java Class 2
Java Class 2Java Class 2
Java Class 2
 
j-chap1-Basics.ppt
j-chap1-Basics.pptj-chap1-Basics.ppt
j-chap1-Basics.ppt
 
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
 
Learn JAVA at ASIT
Learn JAVA at ASITLearn JAVA at ASIT
Learn JAVA at ASIT
 
java slides
java slidesjava slides
java slides
 
Java1
Java1Java1
Java1
 
Java1
Java1Java1
Java1
 
Java Programming concept
Java Programming concept Java Programming concept
Java Programming concept
 
Letest
LetestLetest
Letest
 
ITFT - Java Coding
ITFT - Java CodingITFT - Java Coding
ITFT - Java Coding
 
java basic for begginers
java basic for begginersjava basic for begginers
java basic for begginers
 
Java platform
Java platformJava platform
Java platform
 

Java review00

  • 1. A little cup of Java-coffee
  • 2. 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
  • 4. 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 works for internet project(mainly), and apply “3-tired architecture”, coding on the server-side – So besides Java language knowledge, we need to learn lots of thing about telecommunication on WEB, to finish a real-time project.
  • 5. What Java is(continue) • Java applies Object-Oriented Tech. – Java is not so difficulty, though OOP is. A java expert must be an OOP expert. • Java is slower than C++ ( 3-5 times), Java’s database function is slower than VB. • Java is very portable: cross-platform
  • 6. Java’s Features • Simple Java omits many rarely used, poorly understood, confusing features of C++. Say : No Pointer! No dynamic delete. • Object Oriented Object –oriented design is a technology that focuses design on the data (object) and on the interfaces to it. Let’s say, everything is an object, everything will become a class in Java. Every java program, in top- level view, is classes.
  • 7. Java’s Features(continue) • Distributed Basically, Java is for Net-Work application, for WEB project. Java can open and access “objects” across the Net via URLs (Uniform Resource Locator)----eg. “http//:gamut.neiu.edu/~ylei/home.html”, with the same ease as when accessing a local file system
  • 8. Java’s Features(continue) • 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.
  • 9. 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]
  • 10. 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.
  • 11. 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 1. Interpreters execute the source code directly. Examples: BASIC, Perl, TCL/Tk, ML. source [load] [interpret run] demo.perl - source-program  - Intel cpu data
  • 12. Java: Run in Virtual Cpu :cross-platfrom Demo.java Compile Demo.class link xxx.class Source-code “javac” byte-code files bytecode program interpretedly run on VM |-- Intel CPU (virtual CPU: JSDK ) |-- … CPU |-- Apple CPU
  • 13. Part-2 2 samples • How many kinds of java programs ? • Demo-1: Stand-lone sample • Demo-2: an Applet sample
  • 14. How many kinds of Java Programs? • Un-network app.: (1)Standalone Java program (today) • Network app: non-standalone Java program Internet: (2)Applet , (today) (3)servlet (4)JavaBean classes Intranet: (5)EJB ( EnterpriseJavaBean ), (6)RMI, etc
  • 15. Standalone Java Program • The main() method public static void main(String args[]){ ... } public--- the interpreter can call it static ----It is a static method belonging to the class void -----It does not return a value String----It always has an array of String objects as its formal parameter. the array contains any arguments passed to the program on the command line the source file’s name must match the class name which main method is in
  • 16. 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 } Welcome to Java Programming! 9 }
  • 17. 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 }
  • 18. 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)
  • 19. 1 // Fig. 2.6: Welcome4.java 2 // Printing multiple lines in a dialog box 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args[] ) 7 { 8 JOptionPane.showMessageDialog( 9 null, "WelcomentonJavanProgramming!" ); 10 11 System.exit( 0 ); // terminate the program 12 } 13 }
  • 20. Packages • Like “namespace” in C++ • How to use: – C++: using namespace xxx – Java: import xxx, or import xxx.xx
  • 21. A Simple Java Applet: Drawing a String – appletviewer only understands <applet> tags • Ignores everything else • Minimal browser – Executing the applet •appletviewer WelcomeApplet.html • Perform in directory containing .class file 1 <html> 2 <applet code="WelcomeApplet.class" width=300 height=30> 3 </applet> 4 </html>
  • 22. 1 // Fig. 3.6: WelcomeApplet.java 2 // A first applet in Java 33 import javax.swing.JApplet; // import class JApplet 4 import java.awt.Graphics; // import class Graphics 5 66 public class WelcomeApplet extends JApplet { 77 public void paint( Graphics g ) 8 { 9 g.drawString( "Welcome to Java Programming!", 25, 25 ); 10 } 11 } 1 <html> 2 <applet code="WelcomeApplet.class" width=300 height=30> 3 </applet> 4 </html> import allows us to use predefined classes (allowing us to use applets and graphics, in this case). extends allows us to inherit the capabilities of class JApplet. Method paint is guaranteed to be called in all applets. Its first line must be defined as above.
  • 23. 1 // Fig. 3.8: WelcomeApplet2.java 2 // Displaying multiple strings 3 import javax.swing.JApplet; // import class JApplet 4 import java.awt.Graphics; // import class Graphics 5 6 public class WelcomeApplet2 extends JApplet { 7 public void paint( Graphics g ) 8 { 99 g.drawString( "Welcome to", 25, 25 ); 10 g.drawString( "Java Programming!", 25, 40 ); 11 } 12 } 1 <html> 2 <applet code="WelcomeApplet2.class" width=300 height=45> 3 </applet> 4 </html> The two drawString statements simulate a newline. In fact, the concept of lines of text does not exist when drawing strings.
  • 24. 1 // Displaying text and lines 2 import javax.swing.JApplet; // import class JApplet 3 import java.awt.Graphics; // import class Graphics 4 5 public class WelcomeLines extends JApplet { 6 public void paint( Graphics g ) 7 { 8 g.drawLine( 15, 10, 210, 10 ); 99 g.drawLine( 15, 30, 210, 30 ); 10 g.drawString( "Welcome to Java Programming!", 25, 25 ); 11 } 12 } 1 <html> 2 <applet code="WelcomeLines.class" width=300 height=40> 3 </applet> 4 </html> Draw horizontal lines with drawLine (endpoints have same y coordinate).
  • 25. Part-3 • How to learn Java by ourself
  • 26. 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
  • 27. 3 Stages(cont’d) S-3: Advanced projects contents: JavaBeans RMI Servlets and JSP EJB… many topics time: years , just do projects with Java
  • 28. 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
  • 29. IDE’s: search Sun’s web: sun.java.com a. Jbuilder b. Visual Age c. Sun Forte d. Visual Café e. J++