Intro to Java

ninetimesdissemblingSoftware and s/w Development

Nov 10, 2012 (4 years and 7 months ago)

316 views

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
together (non
-
OOP left them independent)


Data hiding
:
providing an interface to the user, and hiding the
implementational details of this interface. This leads to simpler
programming tasks.


Inheritance
:
ability for one class to inherit properties (data and
functionality) from other classes. This leads to reusable code.
(Classes are arranged in a hierarchy of classes (categories) and
subclasses (sbucategories)


Polymorphism
:
ability for the same message to be interpreted
by objects of different types in different ways.

The Java Programming Process

Write Source
Code in Java

Source Code


file

(*.java)

Compile

(using
javac.exe
)

Syntax

OK?

No

Bytecode Class


files

(*.class)

Yes

Execute the

bytecode

(using
java.exe
)

Logic

OK?

No

Turn it in to
Mitri!!

Yes

java.exe is the VIRTUAL MACHINE

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;


public class Welcome

{



public static void main (String[] args)


{


System.out.println("Welcome to Java!");


}

}

Comments…use // for single
line or /* */ for multiple lines

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!");


}

}

Package


indicates a grouping
of 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!");


}

}

Reserved words


keywords of
the language with specific
meaning to the compiler.

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!");


}

}

Modifiers


reserved words that
specify characteristics or
properties of data, methods,
and 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!");


}

}

Statements


action
instructions. Always end with
semicolon (;)

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!");


}

}

Blocks


groups of statements
(sometimes called compound
statements). Enclose classes, method
statements, or statements inside
controls structures. Can be
nested
.

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!");


}

}

Classes


complex data structures
encapsulating data and actions. Classes
are composed of methods (functions)
and variables (attributes)

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!");


}

}

Methods


named blocks of statements that
can be called, take arguments (parameters),
return values.


Note: all Java applications must have a
main

method as an entry point to the program.

Options for Building and Running
Java Applications


Command Line (in DOS mode)


Get into command window


Call JDK programs for operations


Text
-
mode debugging




Using an Integrated Development Environment
(e.g. NetBeans)


GUI interface


Menus/toolbars for operations


Graphical debugging



We’ll discuss this later

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
.