Presentation is loading. Please wait.

Presentation is loading. Please wait.

March 29, 2000CS102-01Lecture 1.2 Introduction to Java CS 102-01 Lecture 1.1 Java: A simple, object-oriented, network-savvy, interpreted, robust, secure,

Similar presentations


Presentation on theme: "March 29, 2000CS102-01Lecture 1.2 Introduction to Java CS 102-01 Lecture 1.1 Java: A simple, object-oriented, network-savvy, interpreted, robust, secure,"— Presentation transcript:

1 March 29, 2000CS102-01Lecture 1.2 Introduction to Java CS 102-01 Lecture 1.1 Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high- performance, multithreaded, dynamic language.

2 March 29, 2000CS102-01Lecture 1.2 What is Java? Programming language –Computers are stupid –Step-by-step instructions Human languages allow for too much ambiguity “The policeman hit the boy with the stick.” Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

3 March 29, 2000CS102-01Lecture 1.2 Object-oriented A world full of objects –Programming a computer means translating those objects OO languages make it easy to specify objects and their relationships Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

4 March 29, 2000CS102-01Lecture 1.2 Writing for Networks Network “rules of the road” –Protocols: TCP/IP, HTTP & FTP –Understand URLs Distributed programming –Get other computers to do your work for you –SETI@home Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

5 March 29, 2000CS102-01Lecture 1.2 Interpreted Computers don’t speak Java as a native language Two ways to translate a book –One line at a time for each person who reads it –Do the whole thing at once Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

6 March 29, 2000CS102-01Lecture 1.2 Run Anywhere Different strokes for different folks –Should you break eggs at the little end or the big end? –“Look & feel” Byte-codes are universal Virtual machines are virtually the same Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

7 March 29, 2000CS102-01Lecture 1.2 His Majesty desired I would take some other opportunity of bringing all the rest of his enemy's ships into his ports. And so unmeasurable is the ambition of princes, that he seemed to think of nothing less than reducing the whole empire of Blefuscu into a province, and governing it by a Viceroy; of destroying the Big-Endian exiles, and compelling that people to break the smaller end of their eggs, by which he would remain the sole monarch of the whole world. -- Gulliver’s Travels by Jonathan Swift My Platform is Better than Yours

8 March 29, 2000CS102-01Lecture 1.2 How to Do More than One Thing at a Time One processor means one thing at a time Switching among many tasks quickly is tough –Lots to track –Use the computer to track it all Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

9 March 29, 2000CS102-01Lecture 1.2 Simple?! (Maybe Similar) Looks like C/C++ –Good for existing programmers –Scheme is simple, but Java isn’t Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language.

10 March 29, 2000CS102-01Lecture 1.2 Simple = Harder to Hurt Yourself Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language. Removed some of C/C++’s foot-shooting ability –Useful but difficult to use well: Memory management Multiple inheritance Operator overloading

11 March 29, 2000CS102-01Lecture 1.2 “Do You Know Where Your Code Has Been?” Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language. Robust means it’s hard to break things Don’t talk to strangers –How do you know who’s a stranger over a network? –Use a secret code!

12 March 29, 2000CS102-01Lecture 1.2 The Dynamic Uno Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language. Don’t do today what you can put off until tomorrow: Either always carry suntan lotion and an umbrella, OR wait for the sun to come out “Waiting” is dynamic, or run-time, lookup

13 March 29, 2000CS102-01Lecture 1.2 High-Octane Programming Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language. Java runs more slowly for two reasons –Dynamic means waiting 'til a program runs to do some housekeeping –Interpreted means translating each line every time Just-in-time compilation

14 March 29, 2000CS102-01Lecture 1.2 A First Java Program // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); }

15 March 29, 2000CS102-01Lecture 1.2 Run It, and Ta-Da! Prints out the message “Welcome to Java Programming!” at a specified location

16 March 29, 2000CS102-01Lecture 1.2 Got Something to Say? // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } Comments are key The life you save might be your own...

17 March 29, 2000CS102-01Lecture 1.2 It Ain’t International Trade // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } import puts your code on a first-name basis with existing class(es)

18 March 29, 2000CS102-01Lecture 1.2 Everything’s a Class // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } In Java, writing a program means creating a class “Call me Welcome” -- Moby Java

19 March 29, 2000CS102-01Lecture 1.2 Using Someone Else’s Wheel // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } Inheritance in action A “Welcome” is a kind of “Applet”

20 March 29, 2000CS102-01Lecture 1.2 Why Bother? destroydestroy() Called by the browser or applet viewer to inform this applet that it is being reclaimed and that it should destroy any resources that it has allocated. getAppletContextgetAppletContext() Determines this applet's context, which allows the applet to query and affect the environment in which it runs. getAppletInfogetAppletInfo() Returns information about this applet. getAudioClipgetAudioClip(URL) Returns the AudioClip object specified by the URL argument. getAudioClipgetAudioClip(URL, String) Returns the AudioClip object specified by the URL and name arguments. getCodeBasegetCodeBase() Gets the base URL. getDocumentBasegetDocumentBase() Gets the document URL. getImagegetImage(URL) Returns an Image object that can then be painted on the screen. getImagegetImage(URL, String) Returns an Image object that can then be painted on the screen. getLocalegetLocale() Gets the Locale for the applet, if it has been set. getParametergetParameter(String) Returns the value of the named parameter in the HTML tag. getParameterInfogetParameterInfo() Returns information about the parameters than are understood by this applet. initinit() Called by the browser or applet viewer to inform this applet that it has been loaded into the system. isActiveisActive() Determines if this applet is active. playplay(URL) Plays the audio clip at the specified absolute URL. playplay(URL, String) Plays the audio clip given the URL and a specifier that is relative to it. resizeresize(Dimension) Requests that this applet be resized. resizeresize(int, int) Requests that this applet be resized. setStubsetStub(AppletStub) Sets this applet's stub. showStatusshowStatus(String) Requests that the argument string be displayed in the "status window". startstart() Called by the browser or applet viewer to inform this applet that it should start its execution. stopstop() Called by the browser or applet viewer to inform this applet that it should stop its execution. “Put away that checkbook! Look at all you get with the amazing new Applet class!”

21 March 29, 2000CS102-01Lecture 1.2 Applets Inherit Too

22 March 29, 2000CS102-01Lecture 1.2 Painting Pretty Pictures // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } When the browser wants to show an applet, it calls paint()

23 March 29, 2000CS102-01Lecture 1.2 Is There an Artist in the House? // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } Browser says, “Paint this!” and passes a Graphics object Call it g for short

24 March 29, 2000CS102-01Lecture 1.2 Scribbling Strings // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } Graphics objects “know” how to print strings

25 March 29, 2000CS102-01Lecture 1.2 Pick a String, Any String // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } If you want to draw a string, you’ve gotta specify: A string (Given in quotes here because we want a literal string) and...

26 March 29, 2000CS102-01Lecture 1.2 Where do you want it? // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); } Start in the upper-left hand corner and count 25 (pixels) over, then 25 down

27 March 29, 2000CS102-01Lecture 1.2 Graphics Know-It-All // A first program in Java // import Applet class import java.applet.Applet; // import Graphics class import java.awt.Graphics; public class Welcome extends Applet { public void paint( Graphics g ) { g.drawString( "Welcome to Java Programming!", 25, 25 ); g.drawOval(5, 5, 220, 35); }

28 March 29, 2000CS102-01Lecture 1.2 New & Improved

29 March 29, 2000CS102-01Lecture 1.2 What is Java? Convenient language for building networked applications Designed to be easy for current programmers to learn Protects you from yourself


Download ppt "March 29, 2000CS102-01Lecture 1.2 Introduction to Java CS 102-01 Lecture 1.1 Java: A simple, object-oriented, network-savvy, interpreted, robust, secure,"

Similar presentations


Ads by Google