Download Java: Getting Started

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java
Getting Started
"Hello, World" Application
public class Hello {
public static void main (String args[ ]) {
System.out.println ("Hello, World!");
}
}
• Memorize this:
public static void main (String args[ ])
• Use System.out.println for output
Compiling a Java program
• The program defined public class Hello
• Therefore, the file must be named Hello.java
• Compile the program with javac Hello.java
– This creates a file named Hello.class
– Hello.class contains Java byte code
• Run the program with java Hello
– This runs the Java virtual machine (interpreter)
"Hi, World" Applet
import java.applet.*;
import java.awt.*;
public class HiWorld extends Applet {
public void paint (Graphics g) {
g.drawString ("Hi, world!", 50, 100);
}
}
No main method
• Yes, applets have a main method...
• ...but it's in the browser, not in your code!
import Statements
• import java.applet.*; makes available all the
classes and objects in the java.applet package.
• import is not #include -- it doesn't make the
program bigger, it just makes things easier to
reference.
• Without import java.applet.*; you could still
say java.applet.paint (...)
instead of paint (...)
The paint method
• public void paint (Graphics g) {
g.drawString ("Hi, world!", 50, 100);
}
• This is a method you supply in class HiWorld
• It overrides the predefined paint (Graphics)
method in Applet
• If you don't define this method, you get the
inherited method (which does nothing!)
"Hi, World" Applet (repeat)
import java.applet.*;
import java.awt.*;
public class HiWorld extends Applet {
public void paint (Graphics g) {
g.drawString ("Hi, world!", 50, 100);
}
}
The Person class
class Person {
String name;
int age = 20;
}
void birthday ( ) {
age++;
System.out.println (name + " is now "+ age);
}
The People program
public class People {
public static void main (String args [ ]) {
Person john;
// "People" uses "Person"
john = new Person ( );
Person mary = new Person ( );
}
}
john.name = "John Doe";
john.birthday ( );
Sending a message
• You don't "call a function," you send a message
to an object
• The object may execute one of its own methods
• The object may execute an inherited method
• You generally need a pretty clear idea of what
methods are being inherited
toString
• toString( ) is defined at Object, and is
therefore inherited by every object
• System.out.println, when given any
object, automatically calls that object's
toString method
• The resultant output is better than nothing
• It's a good idea to define toString( ) for
every class you write
An example toString( ) method
class Person {
String name;
int age;
}
public String toString ( ) {
return name + ", age " + age;
• Returns something like "John, age 34"
Parameter transmission
• In Java,
– primitives (int, double, char, boolean, etc.) are
passed by value
– objects (Person, String, arrays, etc.) are passed
by reference
• This rule is simple and easy to work with
• You never accidentally get a copy of an object
• If you need to copy an object, do it "by hand"
Procedural thinking
• Procedural programs use functional
decomposition
– Decide what program is to do
– Write a top level procedure, inventing new
lower-level procedures as you go
– Write lower-level procedures
– Continue until program is fully coded
• Goal: small, relatively independent parts
Object thinking
• Decide what program is to do
• Decide what objects you need
• For each object, decide
– what are its responsibilities
– with which other objects it must collaborate
• Goal: small, relatively independent parts
The End