Download Lecture 2

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
Lecture 2
Software Concepts
Instructors:
Fu-Chiung Cheng
(鄭福炯)
Associate Professor
Computer Science & Engineering
Tatung Institute of Technology
Outline
• Structure of Java standalone applications
• Basic program elements
• Executing a program
• Helpful support for writing software
• Java applets
Java Program Structure
• A program is made up of one or more classes
• A class contains one or more methods
• A method contains program statements
• A Java application always executes the main method
class Lincoln {
public static void main (String[] args) {
System.out.println ("Whatever you are, be a good one.");
} // method main
} // class Lincoln
Java Program Structure
White Space
• white space: Spaces, blank lines, and tabs.
• White space is used to separate words and symbols
(tokens) in a program
• Extra white space is ignored.
• A valid Java program can be formatted many
different ways:
class Lincoln2 { public static void main (String[] args)
{ System.out.println ("Whatever you are, be a good one."); } }
• Readability: consistent indentation
Java Program Structure:
Comments
• Comments: same syntax as C/C++.
• One-line comment: //
// comment runs to the end of the line
• Multiple-line comment:
/* comment runs to terminating
* symbol, even across line breaks
*/
Java Program Structure:
Indentifiers
• Identifiers:
class name, method name, variables, key words.
• Most identifiers have no predefined meaning except
as specified by the programmer
• An identifier can be made up of letters, digits, the
underscore character (_), and the dollar sign
• They cannot begin with a digit
• Java is case sensitive, therefore Total and
total are different identifiers
Java Program Structure:
Indentifiers
Identifiers in Lincoln.java:
• class name: Lincoln
• method name: main, System.out.println
• variables: args
• key words: String
Good Programming Practice
Naming Conventions:
• Classes: first word capitalized
• Methods and variables: first word lower case
• Intermediate words capitalized
• Words run together, no underscores
class IntegerList (X Integer_List)
int listItem (X list_Item)
• Constant: all caps with underscores to separate
words
MAX_INTEGER_ARRAY
Java Program Structure:
Reserved words
• reserved words have specific meanings in Java and
cannot be used in other ways
abstract
boolean
break
byte
byvalue
case
cast
catch
char
class
const
continue
default
do
double
else
extends
false
final
finally
float
for
future
generic
goto
if
implements
import
inner
instanceof
int
interface
long
native
new
null
operator
outer
package
private
protected
public
rest
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
var
void
volatile
while
Java Program Structure:
Literals
• Integer literals:
25
69
-4288
• Floating point literals:
3.14159
42.075
-0.5
• String literals:
"The result is: "
"To thine own self be true."
Java Program Structure
Java API
• The Java Application Programmer Interface (API)
is a collection of classes that can be used as needed
• Java API: print and println;
• Java APIs are not part of the Java language itself.
java.applet
java.net
java.awt
java.rmi
java.beans
java.security
java.io
java.sql
java.lang
java.text
java.math
java.util
Java Program Structure
Operator overloading (+ )
• String concatenation: String + String
• String concatenation: String + numeric data
• addition: numeric data + numeric data
class Sum {
public static void main (String[] args) {
System.out.println ("6 + 9 = " + (6+9));
System.out.print (" Java " + " Programming");
System.out.println ("for Antarctica is " + 672);
} // method main
} // class Sum
Program Languages
• Traditional programming languages:
A. high-level languages ==> machine languages
B. Each CPU has its own specific machine language
• The Java compiler translates Java source code into
a special representation called bytecode
• Java bytecode is not the machine language for any
traditional CPU
• Java interpreter translates bytecode into machine
language and executes it.
Java Translation and Execution
Java source
code
Java
compiler
Java
bytecode
Java
Bytecode
interpreter compiler
Standalone applications:
Machine
code
Java Translation and Execution
local computer
Java source
code
remote
computer
Applet
Java
compiler
Web browser
Java
interpreter
Java
bytecode
Java Translation and Execution
• compiling Java programs into bytecodes:
> javac Lincoln.java
• The bytecode of Lincoln.java is Lincoln.class
• Java interpreter (Java Virtual Machines):
> java Lincoln
Errors:
• A program can have three types of errors:
A. compile-time errors:
syntax errors.
B. run-time errors:
divide by zero
C. logical errors:
incorrect results.
Object-Oriented Programming:
• Everything is an object.
• Programs are made from objects
• Each object has its own memory made up of
other objects.
• Objects communication: send messages (requests).
• An object contains data and methods
• An object is defined by a class (type)
• Multiple objects can be created from the same class
Object-Oriented Programming:
• A class (type) represents a concept and
• An object (instance) represents the realization of that
concept.
Objects
Class
Car
My first car
John's car
Dad's car
Object-Oriented Programming:
• An object contains data and methods.
• Composition: (reuse objects):
Ex, A car has a engine.
Car
drive();
start();
etc...
engine
wheel[4]
door[2]
etc...
Class
Methods
Data
Object-Oriented Programming:
• Objects communication: send messages.
message
Object1
Object2
message
message
Object3
Object-Oriented Programming:
• Inheritance: reuse the interface.
Shape
draw();
erase();
Circle
draw();
erase();
Line
draw();
erase();
Square
draw();
erase();
Object-Oriented Programming:
• Polymorphism (dynamic binding).
• shape.draw() will call the right draw function of circle
line or square.
draw();
erase();
Circle
Shape
Line
Square
Dynamic Binding
void doStuff(Shape s) {
s.erase();
// ...
s.draw();
}
// ...
Circle c = new Circle();
Triangle t = new Triangle();
Line l = new Line();
doStuff(c);
doStuff(t);
doStuff(l);
Importing Packages
• Using a class from the Java API: fully qualified name:
java.lang.System.out.println();
• import statement::
import java.applet.*;
import java.util.Random;
….
Random coin = new Random();
• The java.lang package: automatically imported
into every Java program
Conclusions
• Simple Structure of Java: classes
• Object-oriented concepts
• Import statement
完成 Lecture 2 休息十分鐘!
Related documents