© 2012 pearson education, inc. all rights reserved. 1-1 why java? needed program portability –...
TRANSCRIPT
![Page 1: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/1.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-1
Why Java?
• Needed program portability– Program written in a language that would run on
various devices / OS’s without rewriting/recompiling the program
• Java is “cross platform”
![Page 2: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/2.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-2
Java Applications & Applets
• 2 types of Java programs:
– Application• Stand-alone program (run without a web browser)• Relaxed security since user runs program locally
– Applet• Small app embedded in a webpage
- requires a Java enabled web browser to run app• Enhanced security since
user goes to a web page & applet runs itself
![Page 3: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/3.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-3
A Compiler
1. Programmer writes program– using high-level progr. lang. (C, C#, COBOL)
– using text editoror IDE (Integrated Development Environment)
source code file = set of progr. lang. statements
2. Compiler translates it to machine language(=executable code: SomeProgram.exe)
![Page 4: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/4.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-4
A Compiler is a program
• processes:– Input data: source code file– Output data: machine language file
• finds syntax errors– ~ spelling, grammar, structure errors– that violate rules of that programming language
.
![Page 5: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/5.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-5
A typical Compiler vs. the Java compiler (& the JVM)
• Most compilers translate source code intoexecutable file containing machine codefor a specific CPU / OS
• Java compiler translates a Java source file intoa file containing byte code instructions
• Byte code instructions arethe “machine language” of the Java Virtual Machine (JVM) & can NOT be executed directly by a CPU
![Page 6: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/6.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-6
Java Virtual Machine
• JVM = a program that emulates a CPU
• JVM executes each byte code instructionas it’s read (unlike a compiler)
– So it’s called an interpreter
• Java = an interpreted language
![Page 7: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/7.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-7
Program Development Process
Text editor(or IDE)
Source code(.java)
Saves Java statements
Java compiler(javac)
Is read by
Byte code(.class)
Produces
JavaVirtual Machine
(java)
Is interpreted by
ProgramExecution
Results in
![Page 8: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/8.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-8
Portability
• Portable = a program written on one type of computer can run on a wide variety of computers
(with little or no modification.)• Java byte code runs on the JVM (on a computer), not
on any particular CPU• So compiled Java programs are highly portable• Specific JVMs exist for many platforms:
•Unix•BSD•etc.
•Windows•Mac•Linux
![Page 9: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/9.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-9
Portability
• most programming languages’ programs:
portability achieved by compiling program for each different platform/CPU it’ll run on– so many different .exe files
• Java provides a JVM for each platform so no recompiling for different platforms– so only one .class (byte code) file
– Byte code program runs on ANY JVM
![Page 10: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/10.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-10
Portability
Java VirtualMachine for Windows
Byte code(.class)
Java VirtualMachine for Linux
Java VirtualMachine for Mac
Java VirtualMachine for Unix
![Page 11: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/11.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-11
Java Versions
• JDK (Java Development Kit)– software use to write Java programs
• different editions of JDK:
– Java SE - Standard Edition.
– Java EE - Enterprise Edition.
– Java ME - Micro Edition.
• Available for download
![Page 12: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/12.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-12
Compiling a Java Program
• javac is the Java compiler
• Java compiler is a command line utility
• to compile a program:javac SomeProgram.java
• must use .java file extension
• IDE automates (& hides) this– Called Build (instead of compile)
![Page 13: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/13.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-13
Programming LanguagesCommon Language Elements
• Some common concepts– Key words
– Operators
– Punctuation
– Programmer-defined identifiers
– Strict syntactic rules.
![Page 14: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/14.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-14
Sample Java Program – key words
public class HelloWorld{ public static void main(String[] args) { String message = "Hello World"; System.out.println(message); }}
• Key words: public, class, static, void
– lower case (Java is a case-sensitive)
– can’t use these as programmer-defined identifiers
![Page 15: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/15.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-15
Java – lines vs. statements
• A statement = a complete instruction that causes the computer to perform an action.
• Semi-colon at end of every statement– not at end of every line
System.out.println(
message);
• This is 1 statement written on 2 lines
![Page 16: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/16.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-16
Java Variables
• Variables store data in a program (in memory)• A variable name represents a location in memory• Variables also called fields• Variables are created by the programmer
who specifies1) name 2) data TYPE 3) starting value (maybe)
example: int age = 18;
• age variable will contain an integer value; it initially stores the value 18
![Page 17: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/17.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-17
Variables
Variable - a name given to a location in memory– 8 locations shown below
0x0000x0010x0020x0030x0040x0050x0060x007
![Page 18: © 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various](https://reader035.vdocuments.us/reader035/viewer/2022072015/56649ec75503460f94bd2d7d/html5/thumbnails/18.jpg)
© 2012 Pearson Education, Inc. All rights reserved. 1-18
Variables
0x0000x0010x0020x0030x0040x0050x0060x007
Java VirtualMachine (JVM)(not programmer)decides wherein memory thedeclared variableis stored
72
Here’s a declaration ofa varaible called length
int length = 72;
The variable called lengthis a symbolic name for theMemory location 0x003.
Programmer doesn’t knowit’s in 0x003.