using java without bluej 5.0. 2 bluej projects a bluej project is stored in a directory on disk. a...
TRANSCRIPT
![Page 1: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/1.jpg)
Using Java without BlueJ
5.0
![Page 2: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/2.jpg)
2
BlueJ projects
• A BlueJ project is stored in a directory on disk.
• A BlueJ package is stored in several different files.
• Some files store the source code, some store the compiled code, some store additional information.
• BlueJ uses standard Java format for some files and adds some additional files with extra information.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 3: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/3.jpg)
3
The BlueJ directory structure
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
UserInterfaceUserInterface
CalcEngineCalcEngine
CalculatorCalculator
project: calculator c:\bluej\calculator\Calculator.javaCalculator.classCalculator.ctxtCalcEngine.javaCalcEngine.classCalcEngine.ctxtpackage.bluejUserInterface.javaUserInterface.classUserInterface.ctxt
![Page 4: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/4.jpg)
4
The BlueJ file structure
• package.bluej – the the package file. Contains information about classes in the package. One per package.
• *.java - standard Java source file (text). One per class.
• *.class - standard Java code file. One per class
• *.ctxt - BlueJ context file. Contains extra information for a class. One per class.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
![Page 5: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/5.jpg)
5
Standard Java files
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• source files: *.javaJava source files contain the source code in readable form, as typed in by the programmer.
• source files: *.javaJava source files contain the source code in readable form, as typed in by the programmer.
• class files: *.classJava class files contain byte code (a machine readable version of the class). They are generated by the compiler from the source file.
• class files: *.classJava class files contain byte code (a machine readable version of the class). They are generated by the compiler from the source file.
![Page 6: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/6.jpg)
6
The edit-compile-execute cycle
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
source file
011010
110101
010001
class file011010
110101
1001
10
1
0111
0110110
1
1
editorcompiler(javac)
virtual machine(java)
![Page 7: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/7.jpg)
7
Editing
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• A file can be edited in any text editor– Notepad, emacs, jEdit, PFE, vi, ...
• Don't use Word: by default, Word does not save in text format
• Make sure to save with a .java filename before compiling!
![Page 8: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/8.jpg)
8
Command line invocation
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• Compilation and execution of Java in JDK are done from a command line
• On Microsoft systems: DOS shell• On Unix: Unix shell• Must make sure that the
commands for compiler and runtime are in the command path.
![Page 9: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/9.jpg)
9
Compiling
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• Name of the JDK compiler: javac• To invoke:javac <source name>
• compiles <source name> and all classes it depends on
• Example:cd C:\bluej\zuuljavac Game.java
![Page 10: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/10.jpg)
10
Error messages
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
C:\bluej\zuul> javac Game.java
Game.java:22: ';' expected.
private Parser parser
^
1 error
C:\bluej\zuul>
The programmer has to open the file in the editor, find the line number, fix the error and recompile.
![Page 11: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/11.jpg)
11
Execution
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• C:\bluej\zuul> java Game• “java” starts the Java virtual
machine.• The named class is loaded and
execution is started.• Other classes are loaded as
needed.• Only possible if class has been
compiled.
![Page 12: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/12.jpg)
12
Problem: Execute what?
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• If we try:
C:\bluej\zuul> java GameException in thread "main" java.lang.NoSuchMethodError: main
• The problem: how does the system know which method to execute?
![Page 13: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/13.jpg)
13
The main method
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• The answer: The java system always executes a method called main with a certain signature:
public static void main(String[] args){ ...}
• For this to work, such a method must exist!
![Page 14: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/14.jpg)
14
The main method
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
• main must exist.• main must be public.• main must be static (class
method).• main must have a String[]
parameter.• Only main can be invoked.
![Page 15: Using Java without BlueJ 5.0. 2 BlueJ projects A BlueJ project is stored in a directory on disk. A BlueJ package is stored in several different files](https://reader036.vdocuments.net/reader036/viewer/2022062312/55164365550346c6758b54e1/html5/thumbnails/15.jpg)
15
Main method - example
• Consider placing in a separate class, containing just this.
• The main method should– create an object– call the first method
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling
public static void main(String[] args){ Game game = new Game(); game.play();}