Download History of Java

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Advanced Programming CS206
Introduction
1
10
Programming Language Code



A programming language is a language that
uses specially defined words, grammar, and
punctuation that a computer understands.
Some of the more popular programming
languages are VisualBasic, C++, and Java.
Example:
Write Java code that finds the average miles per
hour value for a given car trip.
11
The Compilation Process for Non-Java Programs

After writing a program, you'll normally want
to have a computer perform the tasks
specified by the program. Getting that to
work is normally a two-step process:




1) Perform a compile command,
2) Perform a run command.
compile command, tell the computer to
translate the program's instructions to a
binary format (all 0's and 1's).
run command, tell the computer to read the
binary-format instructions and perform the
tasks specified by them.
11
The Compilation Process for Non-Java Programs
if you submit source code to a
compiler, the compiler translate
the source code and produces
object code as the result.
 Source code is the formal term
for programming language
instructions.
 Object code is the formal term
for binary-format instructions.

12
The Compilation Process for Non-Java Programs
source code
(programming
language
instructions)
Programmers write this.
Compilers compile
source code into
object code.
object code
(binary
instructions)
Computers run this.
14
Portability



A piece of software is portable if it can be used on
many different types of computers.
Object code is not portable. Those binary-format
instructions are tied to a particular type of computer.
The Java solution to improve portability:

Java compilers don't compile all the way down to object
code. Instead, they compile down to bytecode, which
possesses the best features of both object code and
source code:


Like object code, bytecode uses a format that works closely with
computer hardware, so it runs fast.
Like source code, bytecode is generic, so it can be run on any type
of computer.
15
Java Virtual Machine



How can bytecode be run on any type of
computer?
As a Java program’s bytecode runs, the
bytecode is translated into object code by the
computer's bytecode interpreter program.
The bytecode interpreter program is known
as the Java Virtual Machine, or JVM for short.
16
The Compilation Process for Java Programs
Java source
code
Java compilers compile
source code into
bytecode.
bytecode
When a Java program is
run, the JVM translates
bytecode to object code.
object code
17
History of Java


In the early 1990's, putting intelligence into home appliances
was thought to be the next "hot" technology.
Examples of intelligent home appliances:




Coffee pots and lights that can be controlled by a computer's
programs.
Anticipating a strong market for such things, Sun
Microsystems in 1991 funded a research project (code
named Green) whose goal was to develop software for
intelligent home appliances.
An intelligent home appliance's intelligence comes from its
embedded processor chips and the software that runs on the
processor chips.
To handle the frequent turnover of new chips, appliance
software must be extremely portable.
18
History of Java





Originally, Sun planned to use C++ for its home appliance
software, but they soon realized that C++ was less than ideal
because it wasn't portable enough and it relied too heavily on
hard-to-maintain things called pointers.
Thus, Sun decided to develop a whole new programming
language to handle its home appliance software needs.
Their new language was originally named Oak (for the tree
that was outside project leader James Gosling's window), but
it was soon changed to Java.
When the home appliance software work dried up, Java
almost died before being released.
Fortunately for Java, the World Wide Web exploded in
popularity and Sun realized it could capitalize on that.
19
History of Java




Web pages have to be very portable because they can
be downloaded onto any type of computer.
Java programs that are embedded in web pages are
called applets.
Although applets still play a significant role in Java's
current success, some of the other types of Java
programs have surpassed applets in terms of
popularity.
We cover Standard Edition (SE) Java applications.
Programming languages
JAVA
C
C++
JAVA
http://java.sun.com/
1970
1979
1991
C#
2000
What can JAVA Do???
Desktop Application
Web Application
Network Application
Compiling/running a program
1.
Write it.

2.
Compile it.
•

3.
code or source code: The set of instructions in a program.
compile: Translate a program from one language to another.
byte code: The Java compiler converts your code into a format named
byte code that runs on many computer types.
Run (execute) it.

output: The messages printed to the user by a program.
source code
output
byte code
compile
run
your first application!
1.
2.
The Java SE Development Kit 7 (JDK 7).
IDE( Integrated Development Environment).
1-JDK 7
• http://java.sun.com/javase/downloads/index.jsp
 JDK 7 : Java SE 7
 Java SE 7 Documentation
2-IDE
www.textpad.com
www.eclipse.org/
www.netbeans.org
Alternative :JDK7 & NetBeans Bundle
16
A Simple Java Program
Keywo
rd
Modifier
Identifier for
Class name
// this program prints “Hello World” to screen
Comm
public class HelloWorld
ent
{
public static void main(String[] args) Main method
{
declaration
System.out.println("Hello World!");
}
Statement Calling the
method for printing to
}
screen
HelloWorld.jav
a
17
Syntax

syntax: The set of legal structures and commands that
can be used in a particular language.



Every basic Java statement ends with a semicolon ;
The contents of a class or method occur between { and }
syntax error (compiler error): A problem in the
structure of a program that causes the compiler to fail.
Examples:
 Missing semicolon
 Too many or too few { } braces
 Illegal identifier for class name
 Class and file names do not match
 ...
A Java program
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
System.out.println();
System.out.println("This program produces");
System.out.println("four lines of output");
}
}

Its output:
Hello, world!
This program produces
four lines of output
System.out.println


A statement that prints a line of output on the console.

pronounced "print-linn"

sometimes called a "println statement" for short
Two ways to use System.out.println :
•
System.out.println("text");
Prints the given message as output.
•
System.out.println();
Prints a blank line of output.
Names and identifiers

You must give your program a name.
public class GangstaRap {


Naming convention: capitalize each word (e.g. MyClassName)
Your program's file must match exactly (GangstaRap.java)


includes capitalization (Java is "case-sensitive")
identifier: A name given to an item in your program.


must start with a letter or _ or $
subsequent characters can be any of those or a number


legal:_myName
TheCure
ANSWER_IS_42
$bling$
illegal:
me+u
49ers
side-swipe
Ph.D's
Keywords

keyword: An identifier that you cannot use because it
already has a reserved meaning in Java.
abstract
boolean
break
throws
byte
transient
case
catch
char
volatile
class
const
continue

default
do
double
if
implements
import
private
protected
public
this
throw
else
instanceof
return
extends
final
finally
int
interface
long
short
static
strictfp
float
for
goto
native
new
package
super
while
switch
synchronized
try
void
i.e., You may not use char or while for the name of a class.
Strings

string: A sequence of characters to be printed.

Starts and ends with a " quote " character.


The quotes do not appear in the output.
Examples:
"hello"
"This is a string.

It's very long!"
Restrictions:

May not span multiple lines.
"This is not
a legal String."

May not contain a " character.
"This is not a "legal" String either."
Escape sequences

escape sequence: A special sequence of characters
used to represent certain special characters in a string.
\t
\n
\"
\\

tab character
new line character
quotation mark character
backslash character
Example:
System.out.println("\\hello\nhow\tare \"you\"?\\\\");

Output:
\hello
how
are "you"?\\
Questions

What println statements will generate this output?
This program prints a
quote from the Gettysburg Address.
"Four score and seven years ago,
our 'fore fathers' brought forth on
this continent a new nation."

What println statements will generate this output?
A "quoted" String is
'much' better if you learn
the rules of "escape sequences."
Also, "" represents an empty String.
Don't forget: use \" instead of " !
'' is not the same as "