SlideShare a Scribd company logo
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?
• 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++
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
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
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
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
     */
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
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 !
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
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
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 !
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
An example of a class
class Person {
   String name;
   int age;
   void birthday ( ) {
      age++;
      System.out.println (name + ' is
now ' + age);
   }
}
Another example of a class

class 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 = new Person ( );
  mary.name = "Mary Brown";
  mary.age = 33;
  mary.birthday ( );
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"};

More Related Content

PPT
Java intro
PPT
RIBBUN SOFTWARE
PPT
Java01
PPT
PPT
java-corporate-training-institute-in-mumbai
PPTX
[OOP - Lec 04,05] Basic Building Blocks of OOP
PPT
Sep 15
Java intro
RIBBUN SOFTWARE
Java01
java-corporate-training-institute-in-mumbai
[OOP - Lec 04,05] Basic Building Blocks of OOP
Sep 15

What's hot (15)

PPT
Sep 15
PPTX
Intro to java programming
PPTX
Pj01 x-classes and objects
PDF
Getting Started with Java
PDF
Getting Started with Java (TCF 2014)
PPTX
Introducing classes
RTF
PDF
Java Inner Classes
PPTX
Java- Nested Classes
PPTX
PPTX
Javasession6
PDF
Reflection and Introspection
PPTX
[OOP - Lec 06] Classes and Objects
PPT
Python first day
PPT
Python first day
Sep 15
Intro to java programming
Pj01 x-classes and objects
Getting Started with Java
Getting Started with Java (TCF 2014)
Introducing classes
Java Inner Classes
Java- Nested Classes
Javasession6
Reflection and Introspection
[OOP - Lec 06] Classes and Objects
Python first day
Python first day
Ad

Viewers also liked (12)

ODP
Menu.based choice presentaion
PPTX
Start Cup Puglia - Finale del 24 Ottobre 2009
PDF
Marketing Data Base
PDF
Murky_Waters_of_Medical_Practice_in_India
PDF
Maximizing Picking Flow Efficiencies--IMPO
PDF
PDF
Content Marketing World 2013
ODP
PDF
BUSINESS PLAN
PDF
Sales process data activation
Menu.based choice presentaion
Start Cup Puglia - Finale del 24 Ottobre 2009
Marketing Data Base
Murky_Waters_of_Medical_Practice_in_India
Maximizing Picking Flow Efficiencies--IMPO
Content Marketing World 2013
BUSINESS PLAN
Sales process data activation
Ad

Similar to Java01 (20)

PPT
java ppt for basic intro about java and its
PPT
Java - A parent language and powerdul for mobile apps.
PPT
Java01
PPT
java_ notes_for__________basic_level.ppt
PPTX
mukul Dubey.pptx
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
OOPs concept and java Environment decsion making statement looping array and ...
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
PPT
java01.ppt
java ppt for basic intro about java and its
Java - A parent language and powerdul for mobile apps.
Java01
java_ notes_for__________basic_level.ppt
mukul Dubey.pptx
java01.ppt
java01.ppt
java01.ppt
OOPs concept and java Environment decsion making statement looping array and ...
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt
java01.ppt

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
Teaching material agriculture food technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Encapsulation theory and applications.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
A Presentation on Artificial Intelligence
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Teaching material agriculture food technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
“AI and Expert System Decision Support & Business Intelligence Systems”
A Presentation on Artificial Intelligence
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Reach Out and Touch Someone: Haptics and Empathic Computing
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Java01

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. An example of a class class Person { String name; int age; void birthday ( ) { age++; System.out.println (name + ' is now ' + age); } }
  • 20. Another example of a class class Driver extends Person { long driversLicenseNumber; Date expirationDate; }
  • 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. 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"};