1 / 21

Introduction to Java 2 Programming

Introduction to Java 2 Programming. Lecture 4 Writing Java Applications, Java Development Tools. Overview. Java Programming Tools Command-Line Applications Practical Exercises. Java Programming Tools. Javac – the Java Compiler Java – the Java Executable (virtual machine)

ghalib
Télécharger la présentation

Introduction to Java 2 Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Don’t 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 <i>simple</i> Calculator * * @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: CLASSPATH=c:\classes;c:\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. CLASSPATH=c:\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 CLASSPATH=%CLASSPATH%;. • 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 CLASSPATH=%CLASSPATH%;c:\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 can’t 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 –DpropertyName=propertyValue 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

More Related