Java Intro
Java Intro
Java Intro
Stoney Jackson
[email protected]
wwwcsif.cs.ucdavis.edu/~jacksoni
What’s the first question you’ve got to ask about a language named Java?
Computer Programming
2
Java Programming Language
developed in early 1990s by James Gosling et.
al. as the programming language component of
the Green Project at Sun Microsystems
3
Java Programming Language
currently used by around 5 million software
developers and powers more than 2.5 billion
devices worldwide, from computers to mobile
phones
design goals
simple: derived from C/C++, but easier to learn
secure: built-in support for compile-time and run-time
security
distributed: built to run over networks
object-oriented: built with OO features from the start
4
Java Programming Language
robust: featured memory management, exception
handling, etc.
portable: “write once, run anywhere''
interpreted: “bytecodes” executed by the Java Virtual
Machine
multithreaded, dynamic, high-performance,
architecture-neutral
5
Java Platform
Java Virtual Machine, or JVM: a virtual
machine, usually implemented as a program,
which interprets the bytecodes produced by the
Java compiler; the JVM converts the bytecode
instructions to equivalent machine language
code of the underlying hardware; compiled Java
programs can be executed on any device that
has a JVM.
6
Can you make coffee with it?
7
It was meant to!!
A programming language for appliances!
8
Must Run on Any Architecture
debug
“WRITE ONCE, RUN ANYWHERE!”
pretty portable
Program Java Java
in Java Compiler Bytecode
9
Doesn’t Make Coffee Yet
10
How it works…!
Compile-time Environment Compile-time Environment
Class
Loader Java
Class
Bytecode Libraries
Java Verifier
Source
(.java)
Just in
Java Java
Time
Bytecodes Interpreter Java
Compiler
move locally Virtual
or through machine
Java network
Compiler
Runtime System
Operating System
Java
Bytecode
(.class ) Hardware
So What’s Java Good For?
Web applications!
Java Applet
Java Applet
Server
12
Java on the Web: Java Applets
Clients download applets via Web browser
Browser runs applet in a Java Virtual Machine
(JVM)
Applet
Client
Server
Client
Server
EJB
14
Java Features
Well defined primitive data types: int, float, double, char,
etc.
int 4 bytes [–2,147,648, 2,147,483,647]
Control statements similar to C++: if-then-else, switch,
while, for
Interfaces
Exceptions
Concurrency
Packages
Name spaces
Reflection
Applet model
15
The Java programming environment
Java programming language specification
Syntax of Java programs
Defines different constructs and their semantics
Java byte code: Intermediate representation for Java
programs
Java compiler: Transform Java programs into Java byte
code
Java interpreter: Read programs written in Java byte code
and execute them
Java virtual machine: Runtime system that provides
various services to running programs
Java programming environment: Set of libraries that
provide services such as GUI, data structures,etc.
Java enabled browsers: Browsers that include a JVM +
ability to load programs from remote hosts
16
Java: A tiny intro
How are Java programs written?
How are variables declared?
How are expressions specified?
How are control structures defined?
How to define simple methods?
What are classes and objects?
What about exceptions?
17
How are Java programs written?
/* This program displays the message "Hello, World!" on the
standard output device (usually the screen)...This code must be
saved in a file named HelloWorld.java...
*/
// this is the declaration of the HelloWorld class...
public class HelloWorld {
// the main method defines the "starting point" of the execution
// of this program...
public static void main(String[] args) {
// this statement displays the program’s output...
System.out.println("Hello, World!");
} // end of method main...
} // end of class HelloWorld...
18
Fundamental Concepts
19
Fundamental Concepts
For a class to be executable, it must be declared
public, and must provide a public static method
called main, with an array argument of type String.
If a file contains more than one class declaration,
only one of the classes can be declared public, and
the file must be named after the sole public class.
The Java compiler (javac) is used to compile a Java
source code file into a class file in bytecode format.
The resulting class file has the same name as the
source code file, but with a .class filename
extension.
The Java Virtual Machine (java) is used to execute
the class file.
20
Variables, Constants, and Data
Types
Primitive Data Types
Variables, Initialization, and Assignment
Constants
Characters
Strings
21
Primitive Data
22
Numeric Primitive Data
23
Boolean Primitive Data
24
Variables
A variable is a name for a location in memory
A variable must be declared by specifying the
variable's name and the type of information that it
will hold
int total;
Multiple variables can be created in one
declaration:
int count, temp, result;
25
Variable Initialization
Prints as:
A piano has 88 keys.
26
Assignment
An assignment statement changes the value of a
variable
The equals sign is also the assignment operator
total = 55;
27
Constants
A constant is an identifier that is similar to a
variable except that it holds the same value
during its entire existence
As the name implies, it is constant, not variable
In Java, we use the reserved word final in the
declaration of a constant
final int MIN_HEIGHT = 69;
28
Constants
29
Characters
30
Character Sets
31
Characters
The ASCII character set is older and smaller
than Unicode, but is still quite popular (in C
programs)
The ASCII characters are a subset of the
Unicode character set, including:
uppercase letters A, B, C, …
lowercase letters a, b, c, …
punctuation period, semi-colon, …
digits 0, 1, 2, …
special symbols &, |, \, …
control characters carriage return, tab, ...
32
Character Strings
A string of characters can be represented as a
string literal by putting double quotes around
the text:
Examples:
"This is a string literal."
"123 Main Street"
"X"
Note the distinction between a primitive
character ‘X’, which holds only one character,
and a String object, which can hold a sequence
of one or more characters
Every character string is an object in Java,
defined by the String class
33
The println Method
34
The print Method
The System.out object provides another
method
The print method is similar to the println
method, except that it does not start the next
line
Therefore any parameter passed in a call to
the print method will appear on the same
line
System.out.print (“Three… ”);
System.out.print (“Two… ”);
Prints as:
Three… Two…
35
String Concatenation
The string concatenation operator (+) is used
to append one string to the end of another
"Peanut butter " + "and jelly"
It can also be used to append a number to a
string
A string literal cannot be broken across two
lines in a program so we must use
concatenation
System.out.println(“We present the following facts for
your ” + “extracurricular edification”);
36
String Concatenation
The + operator is also used for arithmetic
addition
The function that it performs depends on the
type of the information on which it operates
If both operands are strings, or if one is a string
and one is a number, it performs string
concatenation
If both operands are numeric, it adds them
The + operator is evaluated left to right, but
parentheses can be used to force the order
System.out.println(“24 and 45 concatenated: ” + 24 + 45);
Prints as:
24 and 45 concatenated: 2445
37
String Concatenation
38
Escape Sequences
What if we want to include the quote character
itself?
The following line would confuse the compiler
because it would interpret the two pairs of
quotes as two strings and the text between the
strings as a syntax error:
System.out.println ("I said "Hello" to you.");
Syntax
A String A String
Error
An escape sequence is a series of characters that
represents a special character
Escape sequences begin with a backslash
character (\)
System.out.println ("I said \"Hello\" to you.");
A String 39
Escape Sequences
• Prints as:
Roses are red,
Violets are blue,
40
Escape Sequences
41