Introduction to Java       CS 331
Introduction• Present the syntax of Java• Introduce the Java API• Demonstrate how to build  – stand-alone Java programs  –...
Why Java?• It’s the current “hot” language• It’s almost entirely object-oriented• It has a vast library of predefined obje...
Applets, Servlets and           Applications• An applet is designed to be embedded in a  Web page, and run by a browser• A...
Building Standalone JAVA        Programs (on UNIX)•   Prepare the file foo.java using an editor•   Invoke the compiler: ja...
Java Virtual Machine• The .class files generated by the compiler are  not executable binaries  – so Java combines compilat...
HelloWorld (standalone)public class HelloWorld {  public static void main(String[] args) {    System.out.println("Hello Wo...
Comments are almost like C++• /* This kind of comment can span multiple lines  */• // This kind is to the end of the line•...
Primitive data types are like C• Main data types are int, double,  boolean, char• Also have byte, short, long, float• bool...
Expressions are like C• Assignment statements mostly look like those in C; you  can use =, +=, *= etc.• Arithmetic uses th...
Control statements are like C• if (x < y) smaller = x;• if (x < y){ smaller=x;sum += x;}  else { smaller = y; sum += y; }•...
Control statements II   switch (n + 1) {     case 0: m = n - 1; break;     case 1: m = n + 1;     case 3: m = m * n; break...
Java isnt C!•   In C, almost everything is in functions•   In Java, almost everything is in classes•   There is often only...
Java program layout• A typical Java file looks like:    import java.awt.*;    import java.util.*;    public class Somethin...
What is a class?• Early languages had only arrays   – all elements had to be of the same type• Then languages introduced s...
So, what is a class?• A class consists of  – a collection of fields, or variables, very much    like the named fields of a...
Name conventions• Java is case-sensitive; maxval, maxVal, and  MaxVal are three different names• Class names begin with a ...
The class hierarchy• Classes are arranged in a hierarchy• The root, or topmost, class is Object• Every class but Object ha...
An example of a classclass Person {   String name;   int age;   void birthday ( ) {      age++;      System.out.println (n...
Another example of a classclass Driver extends Person {   long driversLicenseNumber;   Date expirationDate;}
Creating and using an object• Person john;  john = new Person ( );  john.name = "John Smith";  john.age = 37;• Person mary...
An array is an object• Person mary = new Person ( );• int myArray[ ] = new int[5]; – or:• int myArray[ ] = {1, 4, 9, 16,  ...
Upcoming SlideShare
Loading in...5
×

Java01

45

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
45
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java01

  1. 1. Introduction to Java CS 331
  2. 2. 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
  3. 3. Why Java?• It’s the current “hot” language• It’s almost entirely object-oriented• It has a vast library of predefined objects and operations• It’s more platform independent – this makes it great for Web programming• It’s more secure• It isn’t C++
  4. 4. 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 can’t read files and then use the network• A servlet is designed to be run by a web server• An application is a conventional program
  5. 5. 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
  6. 6. 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
  7. 7. HelloWorld (standalone)public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); }}• Note that String is built in• println is a member function for the System.out class
  8. 8. Comments are almost like C++• /* This kind of comment can span multiple lines */• // This kind is to the end of the line• /** * This kind of comment is a special * ‘javadoc’ style comment */
  9. 9. 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;
  10. 10. 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
  11. 11. Control statements are like C• if (x < y) smaller = x;• if (x < y){ smaller=x;sum += x;} else { smaller = y; sum += y; }• while (x < y) { y = y - x; }• do { y = y - x; } while (x < y)• for (int i = 0; i < max; i++) sum += i;• BUT: conditions must be boolean !
  12. 12. Control statements II switch (n + 1) { case 0: m = n - 1; break; case 1: m = n + 1; case 3: m = m * n; break; default: m = -n; break; }• Java also introduces the try statement, about which more later
  13. 13. Java isnt 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
  14. 14. Java program layout• A typical Java file looks like: import java.awt.*; import java.util.*; public class SomethingOrOther { // object definitions go here . . . }This must be in a file named SomethingOrOther.java !
  15. 15. 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
  16. 16. 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
  17. 17. 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!
  18. 18. 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
  19. 19. An example of a classclass Person { String name; int age; void birthday ( ) { age++; System.out.println (name + isnow + age); }}
  20. 20. Another example of a classclass Driver extends Person { long driversLicenseNumber; Date expirationDate;}
  21. 21. Creating and using an object• Person john; john = new Person ( ); john.name = "John Smith"; john.age = 37;• Person mary = new Person ( ); mary.name = "Mary Brown"; mary.age = 33; mary.birthday ( );
  22. 22. An array is an object• Person mary = new Person ( );• int myArray[ ] = new int[5]; – or:• int myArray[ ] = {1, 4, 9, 16, 25};• String languages [ ] = {"Prolog", "Java"};
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×