Java Methods

Download Report

Transcript Java Methods

Objectives:




Writing a Java program.
How to send output to the command line
console.
Learn about escape sequences.
Learn how to compile, debug, and
execute a Java program.
Lab 01-2
Console Output
In Java, console output is achieved by calling
System.out.print or System.out.println.
• The data to be output is given as an argument in
parentheses.
System.out.println(“Blackjack”);
• Every invocation of println ends a line of output.
Blackjack
_
Lab 01-3
println Versus print
The print method is like println, except that
it does not end a line
• With println, the next output goes on a new line
• With print, the next output goes on the same line
Lab 01-4
The print Method
System.out.print(“Hello ”);
System.out.print(“World”);
Lab 01-5
The print Method
System.out.print(“Hello ”);
System.out.print(“World”);
Output
HelloWorld
Lab 01-6
The print Method
System.out.print(“Hello ”);
System.out.print(“World”);
Lab 01-7
The print Method
System.out.print(“Hello ”);
System.out.print(“World”);
Output
Hello World
Lab 01-8
The println Method
System.out.println(“Hello”);
System.out.println(“World”);
Lab 01-9
The println Method
System.out.println(“Hello”);
System.out.println(“World”);
Output
Hello
World
Lab 01-10
The + Symbol
• A plus sign is used to connect more than one item
System.out.println(21 + “ is a Blackjack”);
21 is a Blackjack
System.out.println(3 + 4);
7
System.out.println(3 + 4 + “ is lucky”);
7 is lucky
System.out.println(“Lucky number “ + 3 + 4);
Lucky number 34
Lab 01-11
Other Math Symbol
• Be careful when using other math symbols.
System.out.println(3 * 2);
6
System.out.println(3 * “Hello World”);
Error – the * symbol can not be used with Strings
System.out.println(11 – 4 + “ is lucky”);
7 is lucky
System.out.println(“Lucky number “ + 11 - 4);
Error – the – symbol can not be used with Strings
System.out.println(15 / 4);
3
Lab 01-12
Escape Sequences
• Escape sequences are used to print characters that
are non-printable. Escape sequences always begin
with a \ (backslash) character.
• Common Escape sequences
\n – new line
\” – quote symbol
\t – tab
\\ - backslash
Lab 01-13
Escape Sequences (Cont…)
System.out.println(“Hello\nWorld”);
Output
Hello
World
Lab 01-14
Escape Sequences (Cont…)
System.out.println(“Hello\tWorld”);
Output
Hello
World
Lab 01-15
Escape Sequences (Cont…)
System.out.println(“\”Hello\tWorld\””)
Output
“Hello
World”
Lab 01-16
Sequential Programming
The order in which statements occur is important.
Normally program statements execute from top to
bottom.
This is called sequential control. Sequential
control is the default control structure.
There are other control structures that we will
discuss later.
Lab 01-17
Sequential Programming (cont…)
What will be output by the following program
segment?
System.out.print(“Chester ”);
System.out.print(“Nimitz”);
Output
Chester Nimitz
Lab 01-18
Sequential Programming (cont…)
Now what will be output by the following
program segment?
System.out.print(“Chester\nNimitz”);
Output
Chester
Nimitz
Lab 01-19
Sequential Programming (cont…)
Now what will be output by the following
program segment?
System.out.println(“Chester\\Nimitz”);
Output
Chester\Nimitz
Lab 01-20
Sequential Programming (cont…)
Keep in mind as you are programming that
where you place a statement determines when it
will be executed.
SEQUENTIAL CONTROL
Lab 01-21
String Concatenation
Here is a typical print statement.
System.out.print(“Hello ” + 1 + 2);
Lab 01-23
String Concatenation (cont…)
System.out.print(“Hello ” + 1 + 2);
“Hello 1”
Lab 01-24
String Concatenation (cont…)
System.out.print(“Hello ” + 1 + 2);
“Hello 1”
“Hello 12”
Lab 01-25
String Concatenation (cont…)
Here is another typical print statement.
System.out.print(1 + 2 + “ Hello”);
Lab 01-26
String Concatenation (cont…)
System.out.print(1 + 2 + “ Hello”);
3
Lab 01-27
String Concatenation (cont…)
System.out.print(1 + 2 + “ Hello”);
3
“3 Hello”
Lab 01-28
String Concatenation (cont…)
Here is another typical print statement.
System.out.print(“Hello ” + 3 * 2);
Lab 01-29
String Concatenation (cont…)
System.out.print(“Hello ” + 3 * 2);
Multiplication has a higher
precedence than addition!
Lab 01-30
String Concatenation (cont…)
System.out.print(“Hello ” + 3 * 2);
6
Lab 01-31
Sequential Programming (cont…)
System.out.print(“Hello ” + 3 * 2);
6
“Hello 6”
Lab 01-32
String Concatenation (cont…)
Here is another typical print statement.
System.out.print(“Hello ” + 6 - 4);
Lab 01-33
String Concatenation (cont…)
System.out.print(“Hello ” + 6 - 4);
“Hello 6”
Lab 01-34
String Concatenation (cont…)
System.out.print(“Hello ” + 6 - 4);
“Hello 6”
Compile Time Error
“operator - can not be applied to String, int”
Lab 01-35
String Concatenation (cont…)
How can we “fix” this problem?
System.out.print(“Hello ” + 6 - 4);
Lab 01-36
String Concatenation (cont…)
Use parantheses!
System.out.print(“Hello ” + (6 - 4));
Lab 01-37
Sequential Programming (cont…)
System.out.print(“Hello ” + (6 - 4));
2
Lab 01-38
Sequential Programming (cont…)
System.out.print(“Hello ” + (6 - 4));
2
“Hello 2”
Lab 01-39
Top Down Design



Start JCreator.
Create a new file called “Lab01.java”.
Save the new file in your Lab01 folder.
Lab 01-41
Creating A Java Class File
Lab 01-42
Creating A Java Class File (cont…)
Lab 01-43
Creating A Java Class File (cont…)
Lab 01-44
Creating A Java Class File (cont…)
Lab 01-45
Creating A Java Class File (cont…)
Lab 01-46
Creating A Java Class File (cont…)
Class names should always
begin with an uppercase letter.
Lab 01-47
Creating A Java Class File (cont…)
Click this button to
set the location.
Lab 01-48
Creating A Java Class File (cont…)
Lab 01-49
Creating A Java Class File (cont…)
Lab 01-50
Declaring A Java Class
This class can be used
by other classes!
public class Lab01
{
}
Lab 01-51
Declaring A Java Class
The keyword class defines
this file as a Java class.
public class Lab01
{
}
Lab 01-52
Declaring A Java Class
User defined name. Class names should
always begin with an uppercase letter.
public class Lab01
{
}
Lab 01-53
Declaring A Java Class
public class Lab01
{
The body of every class begins
and ends with a set of curly brackets.
}
Lab 01-54
The main Method
• In Java, you need to have a method
named main in at least one class.
• This method must appear within a class,
but it can be any class.
• A class containing a main method is a
program. Every program has a main
method but not every class is a program.
Lab 01-55
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Curly brackets are used to define block
}
statements. Methods, like classes, are
}
block statements and must begin and
end with a set of curly brackets.
Lab 01-56
The main Method (cont…)
The main method is static.
public class Lab01
{
public static void main(String[ ] args)
{
}
}
Lab 01-57
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
System.out.println(“Main Method!”);
}
}
Lab 01-58
Compiling A Java Class File
Lab 01-59
Compiling A Java Class File
Lab 01-60
Running A Java Program
Lab 01-61
Running A Java Program
Lab 01-62
The main Method (cont…)
output is not static
public class Lab01
{
public static void main(String[ ] args)
{
System.out.println(“Main Method!”);
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-63
The main Method (cont…)
Run the program
public class Lab01
{
public static void main(String[ ] args)
{
System.out.println(“Main Method!”);
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-64
The main Method (cont…)
Lab 01-65
The main Method (cont…)
output did not execute
public class Lab01
{
public static void main(String[ ] args)
{
System.out.println(“Main Method!”);
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-66
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
System.out.println(“Main Method!”);
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-67
The main Method (cont…)
How do we get from here
public class Lab01
{
public static void main(String[ ] args)
{
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-68
The main Method (cont…)
How do we get from here to there
public class Lab01
{
public static void main(String[ ] args)
{
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-69
The main Method (cont…)
A method call to output
public class Lab01
{
public static void main(String[ ] args)
{
output();
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-70
The main Method (cont…)
Lab 01-71
The main Method (cont…)
Lab 01-72
The main Method (cont…)
error: non-static method output() cannot
be referenced from a static context
Lab 01-73
The main Method (cont…)
Double click on the first line of the error.
Lab 01-74
The main Method (cont…)
The editor will send the cursor to
the line that contains the error.
Lab 01-75
The main Method (cont…)
Static methods are class methods. Non-static
methods are instance methods. Class methods can
not call instance methods – however instance
methods can call class methods. More on this
topic later.
To be able to call output we need an instance of the
class Lab01.
Lab 01-76
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
output();
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-77
The main Method (cont…)
lab is an object. An object
is an instance of a class.
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-78
The main Method (cont…)
We can call output using lab which
public class Lab01is an instance of the class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(“Hello World”);
}
}
Lab 01-79
Run The Program
Lab 01-80
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(“Hello\nWorld”);
}
}
Lab 01-81
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(“Hello\\World”);
}
}
Lab 01-82
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(“Hello World” + 1 + 2);
}
}
Lab 01-83
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-84
Control Structures
Lab 01-85
Control Structures
Sequential Control
Branching
Conditions
Looping
Lab 01-86
How The Program Executes.
Lab 01-87
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-88
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-89
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-90
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-91
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-92
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-93
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-94
The main Method (cont…)
public class Lab01
{
public static void main(String[ ] args)
{
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(1 + 2 + “Hello World”);
}
}
Lab 01-95
Control Structures
Refers to the order in which the
individual statements of a program
are executed or evaluated
Lab 01-97
Control Structures
•
•
•
•
Sequential (Default)
Branching
Conditional
Repetition (looping)
Lab 01-98
Control Structures
Sequential Control:
Statements are executed in the
order in which they are written.
Lab 01-99
Control Structures
System.out.println(“ABC”);
System.out.println(“DEF”);
Lab 01-100
Control Structures
System.out.println(“ABC”);
System.out.println(“DEF”);
Output:
ABC
DEF
Lab 01-101
Control Structures
Branching:
Allows the flow of execution to
jump to a different part of the
program.
Lab 01-102
Control Structures
public static void main(String[] args) {
Lab01 lab = new Lab01();
lab.output();
}
public void output() {
System.out.println(“Hello World”);
}
Lab 01-103
Control Structures
public void methodA() {
methodB();
methodC();
}
public void methodB() {
System.out.print(“Hello ”);
}
public void methodC() {
System.out.print(“World”);
}
Lab 01-104
Questions?
Lab 01-105