1
Kursusform
- 13
uger med:
- Undervisning
i klassen 1,5-2 timer
- Opgave
”regning” i databar (løsninger på hjemmeside)
- En
midtvejsopgave der afleveres og rettes
- 2
uger med:
- Praktisk
opgave i grupper med rapport
- 1
uge med:
- Mundtlig
eksamen (rapport+teori)
- Lærere:
- OBS
– Dette er et universitet – sørg selv for at læse!
2
Vigtige links
- www.campusnet.dtu.dk
- www.imm.dtu.dk/courses/02312
- java.sun.com/j2se
- www.eclipse.org
Chapter
1: Computer Systems
Presentation
slides for
Java
Software Solutions
Foundations
of Program Design
Third
Edition
by
John Lewis and William Loftus
Java
Software Solutions is published by Addison-Wesley
Presentation
slides are copyright 2002 by John Lewis and William Loftus. All rights
reserved.
Instructors
using the textbook may use and modify these slides for pedagogical purposes.
4
Java
- A
programming language specifies the words and symbols that we
can use to write a program
- A
programming language employs a set of rules that dictate how the words
and symbols can be put together to form valid
program statements
- The
Java programming language was created by Sun Microsystems, Inc. (new
C# from MS much the same)
- It
was introduced in 1995 and it's popularity has grown quickly since
- It
is an object-oriented language
5
Java Program Structure
- In
the Java programming language:
- A
program (application) is made up of one or more
classes
- A
class contains one or more methods
- A
method contains program statements
- These
terms will be explored in detail throughout the course
- A
Java application always contains a method called main
6
Java Program Structure
public class
MyProgram
{
}
// comments
about the class
class header
class body
Comments
can be placed almost anywhere
7
Java Program Structure
public class
MyProgram
{
}
public static
void main (String[] args)
{
}
// comments
about the class
// comments
about the method
method
header
method
body
8
Comments
- Comments
in a program are called inline documentation
- They
should be included to explain the purpose of the program and describe
processing steps
- They
do not affect how a program works
- Java
comments can take three forms:
// this comment
runs to the end of the line
/* this
comment runs to the terminating
symbol, even across line breaks
*/
/** this is
a javadoc comment */
9
Identifiers
- Identifiers
are the words a programmer uses in a program
- An
identifier can be made up of letters, digits, the underscore character
( _ ), and the dollar sign
- Identifiers
cannot begin with a digit
- Java
is case sensitive -
Total, total, and TOTAL are different identifiers
- By
convention, Java programmers use different case styles for different
types of identifiers, such as
- title
case for class names - Lincoln
- upper
case for constants - MAXIMUM
10
Identifiers
- Sometimes
we choose identifiers ourselves when writing a program (such as Lincoln)
- Sometimes
we are using another programmer's code, so we use the identifiers that
they chose (such as println)
- Often
we use special identifiers called reserved words that already
have a predefined meaning in the language
- A
reserved word cannot be used in any other way
11
Reserved Words
abstract
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
extends
false
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
true
try
void
volatile
while
12
White Space
- Spaces,
blank lines, and tabs are called white space
- White
space is used to separate words and symbols in a program
- Extra
white space is ignored
- A
valid Java program can be formatted in many ways
- Programs
should be formatted to enhance readability, using consistent indentation
- See Lincoln2.java (page 37)
- See Lincoln3.java (page 38)
13
Programming Languages
- A
program must be translated into machine language before it can be executed
on a particular type of CPU
- This
can be accomplished in several ways
- A
compiler is a software tool which translates
source code into a specific target language
- Often,
that target language is the machine language for a particular CPU type
- The
Java approach is somewhat different
14
Java Translation
- The
Java compiler translates Java source code into a special representation
called bytecode
- Java
bytecode is not the machine language for any traditional CPU
- Another
software tool, called an interpreter, translates bytecode into
machine language and executes it
- Therefore
the Java compiler is not tied to any particular machine
- Java
is considered to be architecture-neutral
15
Java Translation
Java
source
code
Machine
code
Java
bytecode
Java
interpreter
Bytecode
compiler
Java
compiler
16
Development Environments
- There
are many environments for developing Java software:
- Sun
Java Development Kit (JDK)
- Sun
Forte for Java
- Borland
JBuilder
- MetroWerks
CodeWarrior
- Microsoft
Visual J++
- Symantec
Café
- Monash
BlueJ
- JCreator
- Though
the details of these environments differ, the basic compilation and
execution process is essentially the same (often using the JDK)
17
Syntax and Semantics
- The
syntax rules of a language define how we can put together symbols,
reserved words, and identifiers to make a valid program
- The
semantics of a program statement define what that statement means
(its purpose or role in a program)
- A
program that is syntactically correct is not necessarily logically (semantically)
correct
- A
program will always do what we tell it to do, not what we
meant to tell it to do
18
Errors
- A
program can have three types of errors
- The
compiler will find syntax errors and other basic problems (compile-time
errors)
- If
compile-time errors exist, an executable version of the program is not
created
- A
problem can occur during program execution, such as trying to divide
by zero, which causes a program to terminate abnormally (run-time
errors)
- A
program may run, but produce incorrect results, perhaps using an incorrect
formula (logical errors)
19
Basic Program Development
errors
errors
Edit
and
save
program
Compile
program
Execute
program and
evaluate
results