Transcript PowerPoint

Chapter 2
Classes and Methods I
Lecture Slides to Accompany
An Introduction to Computer Science
Using Java (2nd Edition)
by
S.N. Kamin, D. Mickunas, E. Reingold
Chapter Preview
In this chapter we will:
• describe structure of Java programs
• present techniques for creating and using
class instances
• introduce two classes for doing output:
– OutputBox for text output
– DrawingBox for graphical output
Running Java Programs
• Enter the program source code in a data file
called Hitwall.java using an editor
• Compile the source program by typing
javac Hitwall.java
• Execute the compiled program by typing
java Hitwall
Program Elements – Part 1
• white space
– blank lines and spaces includes in program
source listings to make things more readable
• comments
– lines beginning with two slashes //
– single or multiple lines enclosed by /* */
– that allow the programmer to insert notes to help
other people understand the program
• documentation
– program comments and data files describing a
program’s structure and behavior
Program Elements – Part 2
• import directive
– tells the Java compiler which packages the
program makes use of
• packages
– predefined collections of programs providing
services to many programmers (e.g. CSLib.*
package used throughout the text)
• class heading
– needs to be included at the beginning of every
program
– class name must match root of file name
– each class must be stored in a file of its own
Program Elements – Part 3
• main method
– the chief computational unit of a Java application
– executed first when application is run
• functions
– also known as methods
– define operations that may be applied to a Java
data object (class instance)
• body
– Java statements that contain the implementations
of classes and their methods
Program Elements – Part 4
• variable declaration
– statement giving the name and data type of a data
location used by the program
• executable statement
– statement which manipulates variables or
determines program control during execution
• atomic statements
– single Java expressions terminated by a ;
• variable assignment statement
– executable statement which copies a particular
value to a data location
Identifiers
• Java uses identifiers to name
–
–
–
–
variables
methods
classes
packages
• Syntax rules
– Must begin with a letter (upper- or lower-case)
– May be followed by any number (including 0) of letters and
digits
– The characters $ and _ are considered letters
– Java identifier names are case sensitive
– May not duplicate a Java keyword (e.g. class or main)
Building a Simple Class
import CSLib.*;
public class WarningMouse {
// Exterminate a rodent.
// Author: C. Mickunas 11/21/00
public void shout() {
TrickMouse alert;
alert = new TrickMouse();
alert.setTitle(“WARNING”);
alert.speak(“Look out!”);
}
}
Method shout( )
• public method
– Means that methods in other classes (or
clients) may use it
• void return type
– Means it does not return a value to the
caller (client)
OutputBox Class
• int literals
0, 1, -1, 2, -2, 3, -3, …
• double literals
3.45, -48.2, 33.0, …
• print
– Display text representation of argument and leave
output cursor on the same line
• println
– Display text representation of argument and
advance output cursor to the next line
Using OutputBox
import CSLib.*;
public class Forecast {
// Give the weather forecast.
// Author: E. Reingold 11/12/00
public void predict() {
OutputBox out;
out = new OutputBox();
out.print(“The temperature will be ”);
out.print(-10);
out.println(“ degrees.”);
out.println(“That’s cold, folks!”);
}
}
DrawingBox Window
• A DrawingBox window is divided into a rectangular
grid of picture elements (pixels)
• The size of a pixel depends on the resolution (the
number of pixels in the grid) of your workstation
monitor
• A typical screen resolution might be 1028 by 768
pixels.
• Pixels may have two colors (black or white) or many
colors (depending on the resolution of the monitor)
Using DrawingBox
import CSLib.*;
public class Concentric {
// Draw concentric circles.
// Author: A. Baranowicz 12/2/00
public void drawThem() {
DrawingBox g;
g = new DrawingBox();
g.setDrawableSize(300, 300);
g.drawOval(110, 110, 80, 80);
g.drawOval(95, 95, 110, 110);
g.drawOval(80, 80, 140, 140);
}
}
Concentric Client Program
import CSLib.*;
public class ConcentricClient {
public static void main(String[] args)
{
Concentric circles;
circles = new Concentric();
circles.drawThem();
}
}
Color
• DrawingBox defines several symbolic
constants to simplify selecting drawing colors
Color.white, Color.black,
Color.red, Color.blue, etc.
• You may select the color to draw with by
calling setColor before drawing
g.SetColor(Color.blue);
g.fill Rectangle(0, 0, 50, 25);