© 2012 pearson education, inc. all rights reserved. 1-1 why java? needed program portability –...

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 devices / OS’s without rewriting/recompiling the program Java is “cross platform”

Upload: everett-lewis

Post on 01-Jan-2016

212 views

Category:

Documents


0 download

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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.