Intro to Java

advertisement
Introduction to
Java
Java Characteristics

Simple (relatively)
Object-Oriented
Distributed

Interpreted

Robust and Reliable

Secure and safe (relatively)

Platform-Independent (Architecture-Neutral)



Distributed and Portable

Fast (but not the fastest)

Multithreaded
Object Oriented Programming

Encapsulation: keeping data and its related functionality

Data hiding: providing an interface to the user, and hiding the

Inheritance: ability for one class to inherit properties (data and

Polymorphism: ability for the same message to be interpreted
together (non-OOP left them independent)
implementational details of this interface. This leads to simpler
programming tasks.
functionality) from other classes. This leads to reusable code.
(Classes are arranged in a hierarchy of classes (categories) and
subclasses (sbucategories)
by objects of different types in different ways.
The Java Programming Process
No
Write Source
Code in Java
Source Code
file
(*.java)
Compile
(using javac.exe)
No
Logic
OK?
Yes
Turn it in to
Mitri!!
Syntax
OK?
Yes
Execute the
bytecode
(using java.exe)
java.exe is the VIRTUAL MACHINE
Bytecode Class
files
(*.class)
Anatomy of a Java Program







Comments – documentation. Compiler ignored these.
Reserved Words – keywords of the language.
Modifiers – keywords that describe properties of
methods, classes, or variables.
Statements – action instructions telling the CPU what
to do.
Blocks – groups of statements enclosed in { and }
Classes – object-oriented constructs involving methods
and variables; arranged in inheritance hierarchies.
Methods – functions, members of classes.


The main method – the starting point of a Java application.
Package – group of related classes.
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
Comments…use // for single
line or /* */ for multiple lines
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
Package – indicates a grouping
of classes.
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
Reserved words – keywords of
the language with specific
meaning to the compiler.
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
Modifiers – reserved words that
specify characteristics or
properties of data, methods,
and classes.
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
Statements – action
}
instructions. Always end with
semicolon (;)
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
Blocks – groups of statements
(sometimes called compound
statements). Enclose classes, method
statements, or statements inside
controls structures. Can be nested.
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
package chapter1;
Classes – complex data structures
encapsulating data and actions. Classes
are composed of methods (functions)
and variables (attributes)
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
A Simple Application
Example 1.1
//Welcome.java: This application program prints
// Welcome to Java!
Methods – named blocks of statements that
package chapter1;
can be called, take arguments (parameters),
return values.
Note: all Java applications must have a main
method as an entry point to the program.
public class Welcome
{
public static void main (String[] args)
{
System.out.println("Welcome to Java!");
}
}
Options for Building and Running
Java Applications

Command Line (in DOS mode)




Get into command window
Call JDK programs for operations
Text-mode debugging
We’ll discuss this later
Using an Integrated Development Environment
(e.g. NetBeans)



GUI interface
Menus/toolbars for operations
Graphical debugging
Sun’s Java Development Kit
(JDK)

Includes the following tools


found in bin subdirectory of the java directory:

Java Compiler (javac.exe)

Java Virtual Machine (java.exe)

Java AppletViewer (AppletViewer.exe)

Java Debugger (jdb.exe)
Where to get the JDK


from http://java.sun.com/javase/downloads/netbeans.html
also includes Netbeans IDE
It’s Free and Open Source!!!
Using Command-Line Technique for
Writing, Compiling and Running
Java Applications




Use any text editor to create your .java source
code file (for example, Notepad).
Copy the compile.bat and run.bat files
(available for download from my web site) to
the same folder as your .java source code file.
Make sure the path in the batch files are
correct (see next slide).
Use the Command Prompt (DOS window) to
access the folder and run the batch files.
File Paths

If you installed the Java SDK and
NetBeans from Sun’s Java Site, the path to
your file will be:


c:\Program Files\Java\jdk1.5.0_12
If you are using java in the lab (installed
on the D: drive), the path to the JDK is:

D:\Program Files\Java\jdk1.5.0_12
In both cases, the javac.exe and java.exe programs are in the bin subfolder
What is NetBeans?



Integrated Development Environment (IDE)
Analogous to Microsoft Visual Studio
Tools include:






Project workspace
Color-coded, smart editing
GUI building tools (e.g. form builders)
Compiler
Execution
Debugging tool
What is NetBeans? (continued)


Can build entire projects consisting of
multiple source files and classes
Includes GUI building tools for easy
placement of components (controls)


Like form builders in VB
Menu/toolbar interfaces for
compile/execute/debug
NetBeans Interface
(for edit, compile, execute, and debug)
Projects
window
Editor
window
Output
window
Debug
windows
Using the Examples from Liang’s
Textbook




All Textbook examples are located downloadable
from my web site.
Create a Liang7eSamples project using
NetBeans.
In the Liang7eSamples folder, there is a src
subfolder. In that subfolder, you can copy the
folders I provide in my examples…each
subfolder of src is a package, and contains the
java programs of the chapter
NOTE: Liang has a web site with more
resources: http://prenhall.com/liang.
Download