Introduction to Java 2 Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to Java 2 Programming

Description:

Javac the Java Compiler. Java the Java Executable (virtual machine) ... Usage example: javac MyApplication.java. javac comldoddsintro2javaRobot.java ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 22
Provided by: Leigh86
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Java 2 Programming


1
Introduction to Java 2 Programming
  • Lecture 4
  • Writing Java Applications, Java Development Tools

2
Overview
  • Java Programming Tools
  • Command-Line Applications
  • Practical Exercises

3
Java Programming Tools
  • Javac the Java Compiler
  • Java the Java Executable (virtual machine)
  • Javadoc Java Documentation generator
  • Jar Java ARchive creator
  • All found in JAVA_HOME\bin

4
Javac the Java Compiler
  • Generates bytecode (.class files) from source
    code (.java files)
  • One class file per source file
  • Usage example
  • javac MyApplication.java
  • javac com\ldodds\intro2java\Robot.java
  • Javac expects source code to be organised into
    directories according to package structure
  • One directory per dotted portion of package

5
Sample Directory Structure
  • E.g
  • package com.ldodds.intro2java

6
Java the Virtual Machine
  • Executes the virtual machine and loads one or
    more classes into it
  • Specify the class name (including packages) as a
    parameter
  • Dont indicate the class file, but the class name
  • Examples
  • java MyApplication
  • java com.ldodds.intro2java.Robot

7
Javadoc the Documentation Generator
  • Automatically generates HTML documentation from
    Java source code
  • Very efficient way to produce development
    documentation for your application.
  • E.g
  • javadoc com\ldodds\intro2java\Robot.java
  • Output can be customised in a number of different
    ways,
  • usually by adding special tags to the source
    code
  • List of useful tags in the Tools Reference
    handout

8
Javadoc Example
  • /
  • A ltigtsimplelt/igt Calculator
  • _at_author Leigh Dodds
  • /
  • public class Calculator
  • /
  • Adds two numbers together and returns the
    result
  • /
  • public int plus(int x, int y)
  • return x y

9
Jar Tool
  • Java ARchive
  • Basically a zip file, used to package java
    classes
  • E.g. for delivery as an applet or application
  • Usually contain a Manifest
  • An index of the contents of a jar file
  • Major benefit is indicating which class holds the
    main method
  • Allows an application to be launched
    automatically from a jar file
  • E.g. by double-clicking the archive

10
The CLASSPATH
  • The CLASSPATH is
  • How Java finds compiled classes
  • A system property
  • A list of directories and/or jar files (similar
    to PATH)
  • A common source of frustration!
  • E.g
  • CLASSPATHc\classesc\applications\app.jar
  • Classify Java tools into three groups
  • File based
  • CLASSPATH based
  • And mixed mode (I.e. use both)

11
File based tools
  • Javadoc, jar
  • Accept command-line parameters referring to
    files.
  • Read the directory structure to find related
    files
  • javadoc c\intro2java\src\intro2java\.java
  • Result in file-based errors

12
CLASSPATH based tools
  • java, javap
  • Refer to classes and not files
  • Ignore the file-system, except for those
    directories mentioned in the CLASSPATH
  • Starts at those directories and walks down to
    find the correct .class files
  • Can look inside JAR files to do the same
  • Result in exceptions or errors, e.g.
    ClassNotFoundException NoClassDefFoundErrors

13
CLASSPATH based tools
  • Example
  • E.g.
  • CLASSPATHc\src
  • java com.ldodds.intro2java.Robot

14
Mixed mode tools
  • javac
  • Accept parameters referring to files
  • BUT, Read the CLASSPATH to find related classes
  • javac c\intro2java\src\intro2java\.java
  • Results in file errors (relating to parameters),
    and cannot resolve symbol errors (relating to
    missing classes)

15
CLASSPATH Tips
  • Always add the current working directory to the
    CLASSPATH
  • SET CLASSPATHCLASSPATH.
  • Good idea keep classes and source separate (e.g.
    bin and src directories)
  • But need to be careful when compiling
  • Use a global classes directory, e.g. c\classes
  • Add this to the CLASSPATH
  • Always compile into that directory
  • SET CLASSPATHCLASSPATHc\classes
  • javac d c\classes .java

16
Overview
  • Java Programming Tools
  • Command-line Applications
  • Practical Exercises

17
Command Line Applications
  • Java has no notion of executable
  • Just loads classes into the virtual machine
  • Starting a Java application involves calling a
    method
  • Which may then create objects, call other
    methods, etc, etc
  • There needs to be a starting point to trigger the
    application to run

18
The main method
  • To turn a class into an application, give it a
    main method
  • public static void main(String args)
  • Must be of this format (otherwise Java cant find
    it)
  • Can then be invoked from the command-line
  • Do all the work to initialise the app (create
    objects, etc) in this method
  • Minimise the amount of code in there just create
    an object or two, and call their methods.

19
Command Line Parameters
  • Parameters are passed in as an array
  • E.g.
  • java MyApplication param1 param2 param3
  • Can also use System Properties
  • Parameters global to the whole virtual machine
  • Get them with the System.getProperty() method
  • //the command line
  • java DpropertyNamepropertyValue MyApplication
  • //In the code
  • String value System.getProperty(propertyValue)

20
Overview
  • More Syntax
  • Constants, Strings, Arrays
  • The Object Lifecycle
  • Java Programming Tools
  • Practical Exercises

21
The Calculator
Write a Comment
User Comments (0)
About PowerShow.com