Title: Outline
1Outline
- Java program structure
- Basic program elements
- Preparing and executing a program
- Suggested reading
- Chapter 2 in Java software solutions / Lewis
Loftus
syllabus
basic programming concepts
object oriented programming
topics in computer science
2Java Program Structure
- In the Java programming language
- A program 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
3Java Program Structure
// comments about the class
public class MyProgram
class header
class body
Comments can be added almost anywhere
4Java Program Structure
// comments about the class
public class MyProgram
// comments about the method
public static void main (String args)
method header
method body
5Example a Basic Java Program
- // Prints a quote from Abraham Lincoln
- class Lincoln
- // method main
- public static void main(String args)
- System.out.println(Whatever you are, be
a good one) -
6Basic program elements identifiers
- Identifiers are the words the programmer uses to
give names to program constructs (classes,
methods, variables,...) - Naming rules
- An identifier can be made up of letters, digits,
the underscore character _, and the dollar sign
- An identifier must begin with a letter, _ or
- Java is case sensitive, therefore Total and total
are different identifiers
7Naming style
- Names should be chosen carefully - they play a
central role in the readability of the program
and is part of its documentation they should be - meaningful
- BankAccount, size vs. XP12_r, wq1
- long enough to express the meaning of the name -
numberOfElements - But not unnecessarily long - theCurrentItemBeingPr
ocessed
8Identifiers
- 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
9Reserved Words
- Reserved words - have predefined meaning in the
language and cannot serve as identifiers
abstract boolean break byte byvalue case cast catc
h char class const continue
default do double else extends false final finally
float for future generic
goto if implements import inner instanceof int int
erface long native new null
operator outer package private protected public re
st return short static super switch
synchronized this throw throws transient true try
var void volatile while
10Literals
- A literal is an explicit data value used in a
program - Integer literals
- 25 69 -4288
- Floating point literals
- 3.14159 42.075 -0.5
- Boolean literals
- true false
- String literals
- "The result is "
- The quick brown fox jumped over the lazy dogs
11White Spaces
- Spaces, blank lines, and tabs are collectively
called white space and are used to separate words
and symbols in a program - Extra white space is ignored
- A valid Java program can be formatted many
different ways - Programs should be formatted to enhance
readability, using consistent indentation
12Bad Indentation Example
- // Prints a quote from Abraham Lincoln
- class
- Lincoln
- public
- static
- void main(String args)
- System.out.
- println(Whatever you are
- )
-
13Comments
- Explain the code in human language
- Are ignored by the translation process
- Comments should be short and descriptive
- Two forms of Java comments
- // comment runs to the end of the line
- / comment run to terminating symbol,
- even across line breaks /
14Java Translation and Execution
- The Java compiler translates Java source code
into a special representation called bytecode - Java bytecode can be thought of the machine code
for a fictions machine called the Java Virtual
Machine - The Java interpreter translates the bytecode into
machine language code and executes it - The use of bytecode makes Java platform
independent
15Java Translation and Execution
Java code (Lincoln.java)
javac Lincoln.java
Java compiler
java Lincoln
Java interpreter
16Translation and Execution
- Compiling from the command line
- gt javac Lincoln.java
- This creates a file called Lincoln.class, which
contains the bytecode for class Lincoln - Running the class using the interpreter
- gt java Lincoln
- Other environments do this processing in a
different way
17Translation and Execution
18Java Translation and Execution
Java source code
Java bytecode
Java compiler
Java interpreter
Bytecode compiler
Machine code
19Development Environments
- There are many development environments which
develop Java software - Sun Java Software Development Kit (SDK)
- Borland JBuilder
- MetroWork CodeWarrior
- Microsoft Visual J
- Symantec Café
- Though the details of these environments differ,
the basic compilation and execution process is
essentially the same
20Syntax and Semantics
- The syntax rules of a language define how we can
put symbols, reserved words, and identifiers
together 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
21Errors
- A program can have three types of errors
- The compiler finds problems with syntax and other
basic issues (compile-time errors) - If compile-time errors exist, an executable
version of the program is not created - A problem can occur during program execution
(example divide by zero). This can causes a
program to terminate abnormally (run-time errors) - A program may run, but produce incorrect results
(logical errors)
22Syntax error
- // This program contains a syntax error
- class lincoln
- public static void main (String args)
- System.out.println("Whatever you are")
-
-
23What you should be able to do...
- write a very simple java program that can print a
sentence - run it on a computer compile with javac,
interpret with java - understand error messages given by the computer