MCS231Week2

advertisement




To understand the essentials of objectoriented programming in Java
To review the primitive data types of Java,
how to use the control structures of Java
To learn how to use predefined classes such
as Math, JOptionPane, String, StringBuffer,
and StringTokenizer
To review how to write and document your
own Java classes
Appendix A: Introduction to Java
2



To understand how to use arrays in Java
To learn how to perform I/O in Java using
simple dialog windows
To learn how to perform I/O in Java using
streams
Appendix A: Introduction to Java
3
Appendix A: Introduction to Java
4





The class is the fundamental programming unit
Every program is written as a collection of classes
Class definitions are stored in separate files with
the extension .java and the file name must be the
same as the class name
A class is a named description for a group of
entities
A class is a general description of a group of
entities that all have the same characteristics;
each entity is an object
Appendix A: Introduction to Java
5


Java consists of small core language
augmented by an extensive collection of
packages
Each package contains a collection of related
Java classes, such as:
◦ Swing
◦ AWT
◦ util
Appendix A: Introduction to Java
6
Template for Class Definition
Import Statements
Class Comment
class
{
Class Name
Data Members
Methods
(incl. Constructor)
}

Java distinguishes two kinds of entities
◦ Primitive types: data is stored in primitive type
variables
◦ Objects: are associated with reference variables
which store an object’s address
Appendix A: Introduction to Java
8




Represent numbers, characters, and Boolean
values
Integers: byte, short, int, and long
Real numbers: float and double
Characters: char
Appendix A: Introduction to Java
9
9
70
O
For example,
character 'O' is
79 (row value
70 + col value 9
= 79).
Format:
<data type> <variable_name>;
If more than one variable has the same data
type:
<data type> <name1>, <name2>..;
<variable name> = <expression>;
Example:
x =2*5+6-1;



It must be a legal identifier.
It must not be a keyword, a boolean literal
(true or false), or the reserved word null.
It must be unique within its scope.



Legal identifier:be composed of letters,
numbers, _ and $. Identifiers may only begin
with a letter, _, or $.
Keyword:
http://java.sun.com/docs/books/tutorial/java/
nutsandbolts/_keywords.html
Java styles:
◦ Variable names begin with a lowercase letter
◦ Class names begin with an uppercase letter
Which of the following is not a valid Java identifier?
a. my Value
b. $_AAA1
c. width
d. m_x
Appendix A: Introduction to Java
15
Which of the following is not a valid Java identifier?
a. my Value
b. $_AAA1
c. width
d. m_x
Appendix A: Introduction to Java
16
Which of the following is a correct variable
declaration statement?
a. int x - float y;
b. int x: float y;
c. int x,y;
d. Long int x;
Appendix A: Introduction to Java
17
Which of the following is a correct variable
declaration statement?
a. int x - float y;
b. int x: float y;
c. int x,y;
d. Long int x;
Appendix A: Introduction to Java
18

Constant:
◦ Value it contains doesn’t change
final int MONTHS_IN_YEAR = 12;

Variables:
◦ Value it contains may vary
double loanAmount;
 loanAmount =0;
 loanAmount = 1000.99;

Integer division:
◦ Integer/integer = integer, 7/2 = 3
◦ Integer/double = double, 7/2.0 = 3.5
◦ Double/integer = double, 7.0/2 = 3.5

Type casting: a process that converts a value of
one data type to another data type.
Implicit casting
Explicit casting

Implicit casting:
◦ Operand is converted from a lower to a higher
precision
◦ Higher precision: a data type with a larger range of
values
 Double has a higher precision than float
 Int has a higher precision than short
◦ Operand: can be a constant, variable, method call
or another arithmetic expression

Explicit casting
◦ (<data type>) <expression>
◦ Example:
float result;
result = (float) ((3+5)/6);
and
result = ((float) (5+3))/6;


Widening conversion: operations involving
mixed-type operands, the numeric type of
the smaller range is converted to the numeric
type of the larger range
In an assignment operation, a numeric type
of smaller range can be assigned to a
numeric type of larger range
Appendix A: Introduction to Java
23
Control Statements: Simple
Choice Statement
if (<boolean expression>)
<block>;
else
<block>;
if (<boolean expression>)
single statement;
else
single statement;

Boolean expression: is a conditional expression
that is evaluated to either true or false.

Conditional expression: is a three part
expression:
<exp.>

<relational operators>
<exp.>
Boolean expressions can be combined by
boolean operators
Relational Operators
a
a
a
a
a
a
Expression
== b
!= b
> b
< b
>= b
<= b
Meaning
Is a equal to b?
Is a not equal to b?
Is a greater than b?
Is a less than b?
Is a greater than or equal to b?
Is a less than or equal to b?
Boolean operators
&&
||
!
means
means
means
AND
OR
NOT

How many times the method readData() will
be called in the following code segnment?
int i;
i = 0;
while ( i <= 4 ) {
readData();
i = i + 1;
} // end while
5
Appendix A: Introduction to Java
28
.
can be used to traverse a twodimensional array.
a. A do while statement.
b. A for statement.
c. Two nested for statements.
d. Three nested for statements.
Appendix A: Introduction to Java
29
.
can be used to traverse a twodimensional array.
a. A do while statement.
b. A for statement.
c. Two nested for statements.
d. Three nested for statements.
Appendix A: Introduction to Java
30
while(<boolean expression>){
// Repeat multiple statements.
statement 1
statement 2
statement 3
...
}
The Do-While Loop
do {
// Repeat multiple statements.
statement 1
statement 2
statement 3
...
} while(<boolean expression);
•Note that the statements in the body of the loop
are always executed at least one.
•Note the final semicolon, which is required.
// Repeat multiple statements.
for(initialization; condition; post-body update){
// Statements to be repeated.
statement 1
statement 2
statement 3
...
}
•Commonly used with increment
and decrement operators.

Used as a shorthand for add-one-to and
subtract-one-from:
 value = value+1;
 value += 1;
 value++;

Prefix and postfix forms:
 ++value;
 --value;
 value--;
<modifiers>
<data type> <name> ;
Modifiers
Data Type
private
String
Name
ownerName ;
Note: There’s only one modifier
in this example.
<modifier>
<return type>
<method name>
( <parameters>
){
<statements>
}
Modifier
public
Return Type
void
Method Name
setOwnerName
ownerName = name;
}
(
Parameter
String
name
Statements
) {

A constructor is a special method that is executed when a
new instance of the class is created.
public <class name> ( <parameters> ){
<statements>
}
Modifier
public
Class Name
Bicycle
Parameter
(
) {
ownerName = “Unassigned”;
}
Statements


An argument is a value we pass to a method.
A parameter is a placeholder in the called
method to hold the value of the passed
argument.
class Sample {
class Account {
public static void
main(String[] arg) {
. . .
public void add(double amt) {
Account acct = new Account();
. . .
}
acct.add(400);
. . .
. . .
}
}
. . .
}
argument
balance = balance + amt;


An argument is a value we pass to a method.
A parameter is a placeholder in the called
method to hold the value of the passed
argument.
class Sample {
class Account {
public static void
main(String[] arg) {
. . .
public void add(double amt) {
Account acct = new Account();
. . .
}
}
acct.add(400);
. . .
. . .
}
parameter
balance = balance + amt;
. . .
}




You can declare reference variables that
reference objects of specified types
Two reference variables can reference the
same object
The new operator creates an instance of a
class
A constructor executes when a new object is
created
Appendix A: Introduction to Java
40





Programmers use methods to define a group of
statements that perform a particular operation
The modifier static indicates a static or class
method
A method that is not static is an instance method
All method arguments are call-by-value
If the argument is a primitive type, its value is
passed to the method
◦ The method can’t modify the argument value and have
the modification remain after return from the method
Appendix A: Introduction to Java
41


If the argument is of a class type, the value of
the reference variable is passed, not the value
of the object itself
Reference variables point to the object and
any modification to the object will remain
after return from the method
Appendix A: Introduction to Java
42
Consider the following Java statements:
int x = 9;
double y = 5.3;
result = calculateValue( x, y );
Which of the following statements is false?
a. A method is called with its name and arguments
inside parentheses.
b. x and y are parameters.
c. Copies of x and y are passed to the method
calculateValue().
d. x and y are arguments
Appendix A: Introduction to Java
43
Consider the following Java statements:
int x = 9;
double y = 5.3;
result = calculateValue( x, y );
Which of the following statements is false?
a. A method is called with its name and arguments
inside parentheses.
b. x and y are parameters.
c. Copies of x and y are passed to the method
calculateValue().
d. x and y are arguments
Appendix A: Introduction to Java
44

Provides a collection of methods that are
useful for performing common mathematical
operations
Appendix A: Introduction to Java
45


An escape sequence is a sequence of two
characters beginning with the character \
Represents characters or symbols that have a
special meaning in Java
Appendix A: Introduction to Java
46


String class defines a data type that is used to
store a sequence of characters
You cannot modify a String object
◦ If you attempt to do so, Java will create a new object
that contains the modified character sequence
Appendix A: Introduction to Java
47

You can’t use the relational operators or
equality operators to compare the values
stored in strings or other objects
Appendix A: Introduction to Java
48
We can do this
because String
objects are
immutable.


Stores character sequences
Unlike a String object, the contents of a
StringBuffer object can be changed
50
Consider the Java segment:
String line1 = new String( "c = 1 + 2 + 3" ) ;
StringTokenizer tok = new StringTokenizer(
line1 );
int count = tok.countTokens();
What is the value of count ?

7
Appendix A: Introduction to Java
51
Consider the Java segment:
String line1 = new String( "c = 1 + 2 + 3" ) ;
StringTokenizer tok = new StringTokenizer( line1, delimArg );
For the String line1 to have 4 tokens, delimArg
should be:
a. String delimArg = "+=";
b. String delimArg = "123"
c. String delimArg = "c+";
d. String delimArg = " ";
52
Consider the Java segment:
String line1 = new String( "c = 1 + 2 + 3" ) ;
StringTokenizer tok = new StringTokenizer( line1, delimArg );
For the String line1 to have 4 tokens, delimArg
should be:
a. String delimArg = "+=";
b. String delimArg = "123"
c. String delimArg = "c+";
d. String delimArg = " ";
53

We often need to process individual pieces, or
tokens, in a string
Appendix A: Introduction to Java
54


Sometimes we need to process primitive-type
data as objects
Java provides a set of classes called wrapper
classes whose objects contain primitive-type
values: Float, Double, Integer, Boolean,
Character, etc.
Appendix A: Introduction to Java
55

Unified Modeling Language is often used to
represent a class
◦ Standard means of documenting class relationships
widely used in industry
Appendix A: Introduction to Java
56

The modifier private sets the visibility of each
variable or constant to private visibility
◦ These data fields can be accessed only within the
class definition


Only class members with public visibility can
be accessed outside of the class
Constructors initialize the data fields within a
class
Appendix A: Introduction to Java
57


In Java, an array is also an object
The elements are indexes and are referenced
using a subscripted variable of the form
arrayname[subscript]
Appendix A: Introduction to Java
58
A programmer must do the following before
using an array:
a. declare then reference the array.
b. create then declare the array.
c. create then reference the array.
d. declare then create the array.
Appendix A: Introduction to Java
59
A programmer must do the following before
using an array:
a. declare then reference the array.
b. create then declare the array.
c. create then reference the array.
d. declare then create the array.
Appendix A: Introduction to Java
60
Appendix A: Introduction to Java
61


A dialog window always returns a reference to
a string
Therefore, a conversion is required
Appendix A: Introduction to Java
62




An input stream is a sequence of characters
representing program data
An output stream is a sequence of characters
representing program output
The console keyboard stream is System.in or
Scanner
The console window is associated with
System.out.print(ln) or Formatter
Appendix A: Introduction to Java
63
Download