Скачать презентацию A little cup of Java-coffee CS 404 CAI Скачать презентацию A little cup of Java-coffee CS 404 CAI

ada7b745408f350c1317efd2d9526605.ppt

  • Количество слайдов: 29

A little cup of Java-coffee CS 404: CAI Class Presentation_01 By: Leo Sep, 2002 A little cup of Java-coffee CS 404: CAI Class Presentation_01 By: Leo Sep, 2002

Today’s session • Part-1) Java overview (5 mins) – What java is – Java Today’s session • Part-1) Java overview (5 mins) – What java is – Java features – Java’s cross-platform • Part-2) two simple and typical java programs – A stand-lone java and its running (5 mins) – A applet and its running (5 mins) • Part-3) how to learn java by yourself (5 mins) – 3 stages – resources

Part-one • Java overview Part-one • Java overview

What Java is • Java is an “easy” programming language, – just a tool 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, 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 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 toplevel view, is classes.

Java’s Features(continue) • Distributed Basically, Java is for Net-Work application, for WEB project. Java 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’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 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 Java’s cross-platform • Interpreted Execute: cross-platform why: For cross-platform purpose. • Once coding, run anywhere. The Java interpreter ( java. exe and its java. Virtual. Machine) 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 “Hot. Spot 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 Ps: Compiler and Interpreters: Run in Physical CPU 1. Compilers use the traditional compile/link/run strategy. Examples: C, C++, ML. 2. source [complie] native-files [link] nativeprogram [run] 3. demo. c cpu --- obj - demo. exe -- Intel 4. Demoh. h 2. Interpreters execute the source code directly. Examples: BASIC, Perl, TCL/Tk, ML. 3. source [load] demo. perl - source-program [interpret run] - Intel cpu

Java: Run in Virtual Cpu : cross-platfrom Demo. java Compile Demo. class link xxx. 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 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) 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)Java. Bean classes Intranet: (5)EJB ( Enterprise. Java. Bean ), (6)RMI, etc

Standalone Java Program • The main() method public static void main(String args[]){. . . 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

1 // Fig. 2. 1: Welcome 1. java 2 // A first program in 1 // Fig. 2. 1: Welcome 1. java 2 // A first program in Java 3 4 public class Welcome 1 { 5 public static void main( String args[] ) 6 { 7 8 9 System. out. println( "Welcome to Java Programming!" ); } } Welcome to Java Programming! Java program

1 // Fig. 2. 1: Welcome 1. java 2 // A first program in 1 // Fig. 2. 1: Welcome 1. java 2 // A first program in Java 3 4 public class Welcome 1 { 5 public static void main( String args[] ) 6 { 7 8 9 System. out. println( "Welcome to Java Programming!" ); } } Java program

A Simple GUI Program: Printing a Line of Text • Display – Most Java 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 JOption. Pane 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) – JOption. Pane is in the javax. swing package • Package has classes for using Graphical User Interfaces (GUIs)

1 // Fig. 2. 6: Welcome 4. java 2 // Printing multiple lines in 1 // Fig. 2. 6: Welcome 4. java 2 // Printing multiple lines in a dialog box 3 import javax. swing. JOption. Pane; // import class JOption. Pane 4 5 public class Welcome 4 { 6 public static void main( String args[] ) 7 { 8 JOption. Pane. show. Message. Dialog( 9 null, "Welcomenton. Javan. Programming!" ); 10 11 12 13 } System. exit( 0 ); } // terminate the program

Packages • Like “namespace” in C++ • How to use: – C++: using namespace 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 1 2 3 4 <html> <applet code= A Simple Java Applet: Drawing a String 1 2 3 4 – appletviewer only understands tags • Ignores everything else • Minimal browser – Executing the applet • appletviewer Welcome. Applet. html • Perform in directory containing. class file

1 // Fig. 3. 6: Welcome. Applet. java 2 // A first applet in 1 // Fig. 3. 6: Welcome. Applet. java 2 // A first applet in Java 3 import javax. swing. JApplet; // import class JApplet 4 import allows us to use predefined classes (allowing us to use applets and graphics, in this case). // import class Graphics import java. awt. Graphics; 5 6 public class Welcome. Applet extends JApplet { 7 public void paint( Graphics g ) 8 { 9 extends allows us to inherit the capabilities of class JApplet. g. draw. String( "Welcome to Java Programming!", 25 ); 10 } 11 } Method paint is guaranteed to be called in all applets. Its first line must be defined as above. 1 2 3 4

1 // Fig. 3. 8: Welcome. Applet 2. java 2 // Displaying multiple strings 1 // Fig. 3. 8: Welcome. Applet 2. 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 Welcome. Applet 2 extends JApplet { 7 public void paint( Graphics g ) 8 { 9 g. draw. String( "Welcome to", 25 ); 10 g. draw. String( "Java Programming!", 25, 40 ); 11 } 12 } 1 2 3 4 The two draw. String 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 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 Welcome. Lines extends JApplet { 6 public void paint( Graphics g ) 7 { 8 g. draw. Line( 15, 10, 210, 10 ); 9 g. draw. Line( 15, 30, 210, 30 ); 10 g. draw. String( "Welcome to Java Programming!", 25 ); 11 } 12 } Draw horizontal lines with draw. Line (endpoints have same y coordinate). 1 2 3 4

Part-3 • How to learn Java by ourself Part-3 • How to learn Java by ourself

3 stages • S-1: basic – Contents: language grammars + GUI (swings and event-driven) 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: Java. Beans RMI Servlets and JSP EJB… many 3 Stages(cont’d) S-3: Advanced projects contents: Java. Beans 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. 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 <>, it has many translated version, Japanese, Chinese, etc. • Sun’s web training • Other books: – Sun’s <>, it’s the base of Sun’s certificatetests. – <>, html style, friendly • Search in http: //deitel. com, a lots of sample codes

IDE’s: search Sun’s web: sun. java. com a. b. c. d. e. Jbuilder Visual IDE’s: search Sun’s web: sun. java. com a. b. c. d. e. Jbuilder Visual Age Sun Forte Visual Café J++