Introduction to Java
CS 331
Introduction
Present the syntax of Java Introduce the Java API Demonstrate how to build
stand-alone Java programs Java applets, which run within browsers e.g. Netscape
Example programs
Why Java?
Its the current hot language Its almost entirely object-oriented It has a vast library of predefined objects and operations Its more platform independent
this makes it great for Web programming
Its more secure It isnt C++
Applets, Servlets and Applications
An applet is designed to be embedded in a Web page, and run by a browser Applets run in a sandbox with numerous restrictions; for example, they cant read files and then use the network A servlet is designed to be run by a web server An application is a conventional program
Building Standalone JAVA Programs (on UNIX)
Prepare the file foo.java using an editor Invoke the compiler: javac foo.java This creates foo.class Run the java interpreter: java foo
Java Virtual Machine
The .class files generated by the compiler are not executable binaries
so Java combines compilation and interpretation
Instead, they contain byte-codes to be executed by the Java Virtual Machine
other languages have done this, e.g. UCSD Pascal
This approach provides platform independence, and greater security
Primitive data types are like C
Main data types are int, double, boolean, char Also have byte, short, long, float boolean has values true and false Declarations look like C, for example,
double x, y; int count = 0;
Expressions are like C
Assignment statements mostly look like those in C; you can use =, +=, *= etc. Arithmetic uses the familiar + - * / % Java also has ++ and - Java has boolean operators && || ! Java has comparisons < <= == != >= > Java does not have pointers or pointer arithmetic
Java isn't C!
In C, almost everything is in functions In Java, almost everything is in classes There is often only one class per file There must be only one public class per file The file name must be the same as the name of that public class, but with a .java extension
What is a class?
Early languages had only arrays
all elements had to be of the same type
Then languages introduced structures (called records, or structs)
allowed different data types to be grouped
Then Abstract Data Types (ADTs) became popular
grouped operations along with the data
So, what is a class?
A class consists of
a collection of fields, or variables, very much like the named fields of a struct all the operations (called methods) that can be performed on those fields can be instantiated
A class describes objects and operations defined on those objects
Name conventions
Java is case-sensitive; maxval, maxVal, and MaxVal are three different names Class names begin with a capital letter All other names begin with a lowercase letter Subsequent words are capitalized: theBigOne Underscores are not used in names These are very strong conventions!
The class hierarchy
Classes are arranged in a hierarchy The root, or topmost, class is Object Every class but Object has at least one superclass A class may have subclasses Each class inherits all the fields and methods of its (possibly numerous) superclasses