17
Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Embed Size (px)

Citation preview

Page 1: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Java Workshop for Teachers May 6, 2005

A Brief Look

at the

Java Programming Language

Page 2: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

What Java Is and Is Not

Java is a full-fledged, powerful and very versatile object-oriented programming language.

Java is a “sequel” to C++ and a “prequel” to Microsoft’s C #.

Java is not Javascript.

Page 3: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

How is Java like and unlike what you may already know? Syntax is very similar to C and C++ Must deal with classes from the beginning Can write stand-alone programs (old-

fashioned console, as well as new-fangled GUI) and also “applets” that run via HTML pages on the WWW

A platform-dependent java compiler produces a file of platform-independent “bytecodes” that are then interpreted by a platform-dependent java interpreter

Page 4: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Early History of Java

Started at Sun Microsystems (1990/91) James Gosling headed development team Began life as ‘oak’, was later renamed ‘Java’ Designed for consumer electronic products First Person, Inc. lost Time-Warner contract Also worked well for internet programming Java and HotJava (Web browser) formally

announced (Sun World ’95, May 23 in San F)

Page 5: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Version History of Java

Java 1.0 (1995) 212 classes in 8 packages Java 1.1 (1997) 504 classes in 23 packages Java 1.2 (1998) 1520 classes in 59 packages Java 1.3 (2000) 1842 classes in 76 packages Java 1.4 (2002) 2991 classes in 135 packages Java 5.0 (2004) 3270 classes in ? packages

Java 5.0 contains the first major changes in the language itself since version 1.1.

Page 6: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Java Language Features

object-oriented simple distributed interpreted robust secure

architecture neutral portable high performance multithreaded dynamic

Page 7: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

//HelloWorld.javapublic class HelloWorld{ public static void main(String[] args) { System.out.println("Hello, world!"); }}$ javac HelloWorld.javaThe above command produces HelloWorld.class,which is then interpreted by the following command:$ java HelloWorld

The Java “Hello, world!” Program

Page 8: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Some Hands-On Experience

A couple of console applications:WelcomeConApp.javaConsoleWelcome.java and ConsoleWelcomeTest.java

A GUI application:WelcomeGUIApp.java

An applet:WelcomeApplet.java and WelcomeApplet.html

Page 9: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

WelcomeConApp.java

A typical single-file “console program”, with text output to a “console window” (also called “the screen” or “the standard output”)

Compile it with the command$ javac WelcomeConApp.java

Confirm that you got a file calledWelcomeConApp.class

Run that .class file with the command$ java WelcomeConApp

Page 10: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

ConsoleWelcome.java and ConsoleWelcomeTest.java

A typical, but very small, multi-file Java program (only two files)

Consists of a class file capable of producing objects of that class, plus another “driver class” that creates and uses an object of the first class

Compile both files with the single command$ javac ConsoleWelcomeTest.java

Run the program with the command$ java ConsoleWelcomeTest

Page 11: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

WelcomeGUIApp.java

A small GUI application program, illustrating- programmer color choices- programmer font selection- programmer choice of window size- programmer placement of text in the window

This is again a single-file program, but a later practice exercise asks you to convert it to a two-file program (and make some other changes as well).

Page 12: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Java Applets vs. Java Applications

An applet is not a standalone program, but instead runs within a web browser

An applet must be run via an HTML file which refers to the applet’s class file in an applet tag

An applet can also be run by a utility called appletviewer that comes with the JDK (Java Development Kit), just like javac and java

appletviewer just shows the applet and ignores any HTML code in the HTML file

Applications have a main function, applets don’t

Page 13: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

WelcomeApplet.java and WelcomeApplet.html

WelcomeApplet.java shows the order in which three of the “built-in” methods of an applet are called:init() is called to do whatever needs doing oncestart() is called after init() and at each “restart”paint() is called to draw the Graphics object

WelcomeApplet.html contains an <applet> element that refers to the applet-containing file WelcomeApplet.class which is loaded and run by the browser

Page 14: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Follow-Up Practice Exercises

Convert WelcomeConsoleTest.java to use the first two “command-line parameters” as the text of the welcome message and the date.

Convert WelcomeGUIApp.java to a two-file program and choose another font, color scheme, and message.

Revise WelcomeApplet.java so that the following command will run the applet:$ appletviewer WelcomeApplet.java(assuming WelcomeApplet.class is available)

Page 15: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

StudentMarks1.java to StudentMarks6.java

A sequence of programs to illustrate incremental program development

Get something that works and does a “small version” of what your ultimate goal program will do

With each “iteration” add one or more new features that take you toward that goal

This kind of program development is closer to the modern “extreme programming” approach than to the older “structured programming”

Page 16: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

Some of the things you will see in the StudentMarks*.java sequence Building a GUI interface with buttons and an

area to display text Reading input from a file of text Exception handling Event handling Use of a “comparator” to change the “natural”

order of a list of strings Generic programming (a brand new feature in

Java 5.0)

Page 17: Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language

SplashScreen.java

A “fun” application to promote Java Shows how to position your application in the

middle of the screen independently of the screen resolution

Uses randomly generated values Uses the sleep() method of the Thread class

to generate a short delay Uses a “keyboard listener” to terminate the

program