04/21/23 Assoc. Prof. Stoyan Bonev 1
COS240 O-O Languages AUBG, COS dept
Lecture 10bTitle:
Running Programs & IDEs(Java)
Reference: COS240 Syllabus
04/21/23 Assoc. Prof. Stoyan Bonev 2
Lecture Contents:
• Java applications classified• Processing Java source texts
– How Java works– IDEs to run Java
04/21/23 Assoc. Prof. Stoyan Bonev 3
Java programs may be applications or applets.
Applications are standalone programs, similar to .NET Console and Windows applications.
Applets are similar to applications, but they do not run as standalone programs.
- Instead, applets adhere to a set of conventions that lets them run within a Java-compatible browser (client-side).
- You can only run an applet from an HTML page.
Java applications classified
04/21/23 Assoc. Prof. Stoyan Bonev 4
Java, C#, C++ - High Level PL
• In order to run /to execute/, any program written in HLL should be transformed to executable form
• Three ways to convert source code into executable form:– Compiler – generate object code– Interpreter – interpret the source code– Compiler of semi-interpreting type
04/21/23 Assoc. Prof. Stoyan Bonev 5
Source program compiler
data
Results Object program
Executing computer
Compile time Run time
04/21/23 Assoc. Prof. Stoyan Bonev 6
Data
Results Source program
Interpreter
Compile time
Run time
04/21/23 Assoc. Prof. Stoyan Bonev 7
Source program compiler
data
Results Object program in IL form
Interpreter
Compile2 time
Run time
Compile1 time
04/21/23 Assoc. Prof. Stoyan Bonev 8
Processing HLL programs
• Java is compiled to intermediate form – bytecode. Bytecode processed by interpreter named JVM.
• C# and C++ (managed code) are compiled to intermediate form – MSIL code. MSIL code processed by interpreter named CLR.
• C++ (native, unmanaged code) is directly compiled to executable native machine code. No intermediate code, no need of interpreter.
04/21/23 Assoc. Prof. Stoyan Bonev 9
How Java Works
• Java's platform independence is achieved by the use of the Java Virtual Machine (JVM).
• A Java program consists of one or more files with a .java extension
• these are just text (i.e. source) files.
• When a Java program is compiled, the .java files are fed to the compiler which produces a .class file for each .java file.
• The .class file contains Java bytecode. • Java bytecode is like machine language, but it is intended
for the Java Virtual Machine, not a specific processor.
10
11
Executing a Java program
12
JVM emulation run on a physical machine
13
JVM handles translations
14
Java Popularity
• Pure Java includes 3 software facilities:
• JRE
• JVM
• JDK
15
JRE
• The Java Runtime Environment (JRE) provides– the libraries,– the Java Virtual Machine, and– other components to run
applets and applications written in Java.
16
JVM - Overview• Java Virtual Machine is a program which executes certain
other programs, namely those containing Java bytecode instructions.
• JVM is distributed along with Java Class Library, a set of standard class libraries (in Java bytecode) that implement the Java application programming interface (API). These libraries, bundled together with the JVM, form the Java Runtime Environment (JRE).
• JVMs are available for many hardware and software platforms. The use of the same bytecode for all JVMs on all platforms allows Java to be described as a write once, run anywhere programming language, versus write once, compile anywhere, which describes cross-platform compiled languages.
• Oracle Corporation, the owner of the Java trademark, produces the most widely used JVM, named HotSpot, that is written in the C++ programming language.
17
JVM • JVM architecture.
Source code is compiledto Java bytecode, whichis verified, interpreted orJIT-compiled for thenative architecture. The Java APIs and JVMtogether make up theJava Runtime Environment(JRE).
18
JDK contents
The JDK has a collection
of programming tools, including:
19
JDK contents
• java – the loader for Java applications. This tool is an interpreter and can interpret the class files generated by the javac compiler. Now a single launcher is used for both development and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and instead it has been replaced by this new java loader.
• javac – the Java compiler, which converts source code into Java bytecode
• javadoc – the documentation generator, which automatically generates documentation from source code comments
• jar – the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files.
20
A Simple Java Program
//This program prints message “Welcome, Java!“// braces in new-line style
public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); }}
Listing 1.1
21
A Simple Java Program
//This program prints message “Welcome, Java!“// braces in end-line style (recommended)
public class Welcome {
public static void main(String[] args) { System.out.println("Welcome to Java!"); }}
Listing 1.1
22
Creating, Compiling, and Running Java Programs
Source Code
Create/Modify Source Code
Compile Source Code i.e., javac Welcome.java
Bytecode
Run Byteode i.e., java Welcome
Result
If compilation errors
If runtime errors or incorrect result
public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } }
… Method Welcome() 0 aload_0 … Method void main(java.lang.String[]) 0 getstatic #2 … 3 ldc #3 <String "Welcome to Java!"> 5 invokevirtual #4 … 8 return
Saved on the disk
stored on the disk
Source code (developed by the programmer)
Byte code (generated by the compiler for JVM to read and interpret, not for you to understand)
23
Compiling Java Source CodeYou can port a source program to any machine with appropriate compilers. The source program must be recompiled, however, because the object program can only run on a specific machine. Nowadays computers are networked to work together. Java was designed to run object programs on any platform. With Java, you write the program once, and compile the source program into a special type of object code, known as bytecode. The bytecode can then run on any computer with a Java Virtual Machine, as shown below. Java Virtual Machine is a software that interprets Java bytecode.
Java Bytecode
Java Virtual Machine
Any Computer
Java Programming: From Problem Analysis to Program Design, 3e 24
Approaches to run Java
• How to Compile/Run Java Programs– javac, java
• Java IDEs– TextPad, jGRASP, BlueJ, NetBeans, Eclipse
• Java Development Tools– javadoc, jar, jdb
Assoc. Prof. Stoyan Bonev04/21/23 25
Creating, Compiling & Running Java
From the Command Window
From within IDE
Creating, Compiling and Running Java from Command Line Window
First: to open a Command Window– Click Start, All Programs, Accessories, Command Prompt
Second: to create a separate directory/folder on C: drive or Q: drive where to save .java and .class files– md COS240Progs– cd COS240Progs
Third: to Set path to JDK bin directory– Already done by OCC
Fourth: to create and save Java source file– Notepad/Write Welcome.java
Fifth: to Compile– javac Welcome.java
Sixth: to Run– java Welcome
Assoc. Prof. Stoyan Bonev04/21/23 27
Creating and Editing Using editors like Notepad, WordPad, etc
To use NotePad, type notepad Welcome.java
from the DOS prompt.
To use WordPad, type write Welcome.java
from the DOS prompt.
Assoc. Prof. Stoyan Bonev04/21/23 28
Compiling, and Running Java Programs
In order to compile your Java program, you should type
javac Welcome.java In order to run your compiled to bytecode
Java program, you should type
java Welcome
Assoc. Prof. Stoyan Bonev04/21/23 29
Compiling, and Running Java Programs
public class Welcome {public static void main(String args[]) {
int i=1;while (i<5) {
System.out.println("Greeting to Blagoevgrad!");i++;
} // end of while loop } // end of method main} // end of Welcome class
Assoc. Prof. Stoyan Bonev04/21/23 30
Compiling and Running Java from IDEs
Java IDEs:– TextPad
– jGRASP
– BlueJ
– NetBeans – Open source by Sun
– Eclipse – Open source by IBM
Assoc. Prof. Stoyan Bonev04/21/23 31
Compiling and Running Java from TextPad
.
Assoc. Prof. Stoyan Bonev04/21/23 32
Compiling and Running Java from TextPad
Edit the .java file The edited file should be saved before the coming
commands to take effect. Subjects of interest:
– Select tools, click run (user is expected to type command and parameters)
– Command:javac Parameter:Welcome.java
– Command:java Parameter:Welcome
– Select view, click tool output
Assoc. Prof. Stoyan Bonev04/21/23 33
Compiling and Running Java from TextPad
public class COS240 {
public static void main(String args[]) {
int i=1;
for (i=1; i<=5; i++)
System.out.println("Greeting from COS dept");
}
}
Assoc. Prof. Stoyan Bonev04/21/23 34
Compiling and Running Java from jGRASP
Assoc. Prof. Stoyan Bonev04/21/23 35
Compiling and Running Java from jGRASP
Subjects of interest:Select Build, Click CompileSelect Build, Click Run
OrSelect Build, Click Run as Applet
OrSelect Build, Click Run as Application
CheckBox: run in MS-DOS window
Assoc. Prof. Stoyan Bonev04/21/23 36
Compiling and Running Java from jGRASP
import java.util.Scanner;
public class COS240Proba {public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int pom = cin.nextInt(); float pom2 = cin.nextFloat(); double pom3 = cin.nextDouble();
System.out.println(" " + pom + " " + pom2 + " " + pom3); }}
Assoc. Prof. Stoyan Bonev04/21/23 37
Compiling and Running Java from NetBeans
Assoc. Prof. Stoyan Bonev04/21/23 38
Compiling and Running Java from NetBeans
Subjects of interest: The concept of a project The user is expected: To choose project (Categories: Java, Projects: Java application) To name the project and to locate the project To create Main class and to set as Main project
To type the Java source text
To select Run, click Run Main Project (F6) Or To select Run, click Build Main Project(F11), click Run Main Project (F6) Or To select Run, click Clean and Build Main Project(Shift+F11), click Run Main Project (F6)
Assoc. Prof. Stoyan Bonev04/21/23 39
Compiling and Running Java from Eclipse
Assoc. Prof. Stoyan Bonev04/21/23 40
Compiling and Running Java from Eclipse
Subjects of interest: The concept of a project Compilation activated when File_save activity
take place List of steps to follow:
Assoc. Prof. Stoyan Bonev04/21/23 41
Compiling and Running Java from Eclipse Open the Java perspective:
– In main menu select Window > Open Perspective > Java Create a Java project
– In main toolbar Click New Java Project btn, Enter HelloWorld for name, click Finish
Create your Helloworld class– In main toolbar Click New Java class btn, select xx\src as a source
folder, enter HelloWorld for class name, click check box to create the main() method, click Finish
Add a println statement– Type stmts, then save changes, the class will automatically
compile upon saving Run your java application
– Right click on your class in the Package Explorer, and then select Run As>Java application
Assoc. Prof. Stoyan Bonev04/21/23 42
Eclipse
Downloads:– http://www.eclipse.org/downloads/
Tutorials:– http://www.vogella.de/articles/Eclipse/article.html
– http://eclipsetutorial.sourceforge.net/totalbeginner.html
Assoc. Prof. Stoyan Bonev04/21/23 43
Java Development Tools
Brief overview on Java Development Tools: (Detailed discussion in lecture 29)– java
– javac
– javadoc
– jar
– jdb
Assoc. Prof. Stoyan Bonev04/21/23 44
Running java
Synopsisjava [interpreter options] classname [program arguments]
java [interpreter options] -jar jarfile [program arguments]
Description
Common Options
Assoc. Prof. Stoyan Bonev04/21/23 45
Running javac
Synopsis– javac [options] files
Description
Common Options
Assoc. Prof. Stoyan Bonev04/21/23 46
Running javadoc
Synopsis javadoc [options] @list package… sourcefiles…
Description
Common Options
Assoc. Prof. Stoyan Bonev04/21/23 47
Running jar
Synopsis jar c|t|u|x [jarfile] [manifest] [-C directory] [input files]
jar I [jarfile]
Description
Common Options
Assoc. Prof. Stoyan Bonev04/21/23 48
Running jdb
Synopsis jdb [options] class [program options]
Description
Common Options
04/21/23 Assoc. Prof. Stoyan Bonev 49
Practical session
• Task: write a program to input two integral values and to compute and display the result of their addition, subtraction, multiplication and division
• Language: Java
• IDE: Eclipse
04/21/23 Assoc. Prof. Stoyan Bonev 50
Practical session
• Task: write a program to input two integral values and to compute and display the result of their addition, subtraction, multiplication and division
• Language: Java
• IDE: NetBeans
04/21/23 Assoc. Prof. Stoyan Bonev 51
Practical session
• Task: write a program to input two integral values and to compute and display the result of their addition, subtraction, multiplication and division
• Language: Java
• IDE: jGRASP
04/21/23 Assoc. Prof. Stoyan Bonev 52
Practical session
Problem:
To accumulate sum of stream of input integers terminated by sentinel value
• Language: Java
• IDE: Eclipse
04/21/23 Assoc. Prof. Stoyan Bonev 53
Practical session
Problem:
To accumulate sum of stream of input integers terminated by sentinel value
• Language: Java
• IDE: NetBeans
04/21/23 Assoc. Prof. Stoyan Bonev 54
Practical session
Problem:
To accumulate sum of stream of input integers terminated by sentinel value
• Language: Java
• IDE: jGRASP
Thank Youfor
Your attention!
Top Related