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"};
Ad

Recommended

RIBBUN SOFTWARE
RIBBUN SOFTWARE
mosewoodward24
 
Java01
Java01
Remon Hanna
 
Java intro
Java intro
Sonam Sharma
 
Java
Java
Manav Prasad
 
java-corporate-training-institute-in-mumbai
java-corporate-training-institute-in-mumbai
Unmesh Baile
 
Java
Java
QUAID-E-AWAM UNIVERSITY OF ENGINEERING, SCIENCE & TECHNOLOGY, NAWABSHAH, SINDH, PAKISTAN
 
[OOP - Lec 04,05] Basic Building Blocks of OOP
[OOP - Lec 04,05] Basic Building Blocks of OOP
Muhammad Hammad Waseem
 
Sep 15
Sep 15
Zia Akbar
 
Sep 15
Sep 15
dilipseervi
 
Intro to java programming
Intro to java programming
Leah Stephens
 
Getting Started with Java
Getting Started with Java
Michael Redlich
 
Pj01 x-classes and objects
Pj01 x-classes and objects
SasidharaRaoMarrapu
 
Getting Started with Java (TCF 2014)
Getting Started with Java (TCF 2014)
Michael Redlich
 
Introducing classes
Introducing classes
Riaz Ahmed
 
Python
Python
Trainme Softtech
 
Java Inner Classes
Java Inner Classes
Jussi Pohjolainen
 
Java- Nested Classes
Java- Nested Classes
Prabhdeep Singh
 
Introduction to c ++ part -1
Introduction to c ++ part -1
baabtra.com - No. 1 supplier of quality freshers
 
Javasession6
Javasession6
Rajeev Kumar
 
Reflection and Introspection
Reflection and Introspection
adil raja
 
[OOP - Lec 06] Classes and Objects
[OOP - Lec 06] Classes and Objects
Muhammad Hammad Waseem
 
Python first day
Python first day
farkhand
 
Python first day
Python first day
MARISSTELLA2
 
Java - A parent language and powerdul for mobile apps.
Java - A parent language and powerdul for mobile apps.
dhimananshu130803
 
Java01
Java01
Dhaval Patel
 
java ppt for basic intro about java and its
java ppt for basic intro about java and its
kssandhu875
 
java01.ppt
java01.ppt
FakeBuddy2
 
java01.ppt
java01.ppt
ssuser73c6451
 
java01.ppt
java01.ppt
ShivamChaturvedi67
 
java01.ppt
java01.ppt
ROGNationYT
 

More Related Content

What's hot (15)

Sep 15
Sep 15
dilipseervi
 
Intro to java programming
Intro to java programming
Leah Stephens
 
Getting Started with Java
Getting Started with Java
Michael Redlich
 
Pj01 x-classes and objects
Pj01 x-classes and objects
SasidharaRaoMarrapu
 
Getting Started with Java (TCF 2014)
Getting Started with Java (TCF 2014)
Michael Redlich
 
Introducing classes
Introducing classes
Riaz Ahmed
 
Python
Python
Trainme Softtech
 
Java Inner Classes
Java Inner Classes
Jussi Pohjolainen
 
Java- Nested Classes
Java- Nested Classes
Prabhdeep Singh
 
Introduction to c ++ part -1
Introduction to c ++ part -1
baabtra.com - No. 1 supplier of quality freshers
 
Javasession6
Javasession6
Rajeev Kumar
 
Reflection and Introspection
Reflection and Introspection
adil raja
 
[OOP - Lec 06] Classes and Objects
[OOP - Lec 06] Classes and Objects
Muhammad Hammad Waseem
 
Python first day
Python first day
farkhand
 
Python first day
Python first day
MARISSTELLA2
 

Similar to Introduction what is java (20)

Java - A parent language and powerdul for mobile apps.
Java - A parent language and powerdul for mobile apps.
dhimananshu130803
 
Java01
Java01
Dhaval Patel
 
java ppt for basic intro about java and its
java ppt for basic intro about java and its
kssandhu875
 
java01.ppt
java01.ppt
FakeBuddy2
 
java01.ppt
java01.ppt
ssuser73c6451
 
java01.ppt
java01.ppt
ShivamChaturvedi67
 
java01.ppt
java01.ppt
ROGNationYT
 
java01.ppt
java01.ppt
JyoGen
 
mukul Dubey.pptx
mukul Dubey.pptx
CodeHome
 
java01.ppt
java01.ppt
ximiha8972
 
java01.ppt
java01.ppt
TarundeepSingh78
 
OOPs concept and java Environment decsion making statement looping array and ...
OOPs concept and java Environment decsion making statement looping array and ...
hannahroseline2
 
java01.ppt
java01.ppt
SachinBhosale73
 
java01.ppt
java01.ppt
BabekEsedli
 
java01.ppt
java01.ppt
SouravGhosh305827
 
java01.ppt
java01.ppt
MENACE4
 
java01.ppt
java01.ppt
MansiDongare2
 
java01.ppt
java01.ppt
priyanshugautam46
 
java01.ppt
java01.ppt
archibhartiya
 
Present the syntax of Java Introduce the Java
Present the syntax of Java Introduce the Java
ssuserfd620b
 
Java - A parent language and powerdul for mobile apps.
Java - A parent language and powerdul for mobile apps.
dhimananshu130803
 
java ppt for basic intro about java and its
java ppt for basic intro about java and its
kssandhu875
 
java01.ppt
java01.ppt
JyoGen
 
mukul Dubey.pptx
mukul Dubey.pptx
CodeHome
 
OOPs concept and java Environment decsion making statement looping array and ...
OOPs concept and java Environment decsion making statement looping array and ...
hannahroseline2
 
java01.ppt
java01.ppt
MENACE4
 
Present the syntax of Java Introduce the Java
Present the syntax of Java Introduce the Java
ssuserfd620b
 
Ad

Recently uploaded (20)

Hurricane Helene Application Documents Checklists
Hurricane Helene Application Documents Checklists
Mebane Rash
 
2025 June Year 9 Presentation: Subject selection.pptx
2025 June Year 9 Presentation: Subject selection.pptx
mansk2
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
Photo chemistry Power Point Presentation
Photo chemistry Power Point Presentation
mprpgcwa2024
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
 
Values Education 10 Quarter 1 Module .pptx
Values Education 10 Quarter 1 Module .pptx
JBPafin
 
The Man In The Back – Exceptional Delaware.pdf
The Man In The Back – Exceptional Delaware.pdf
dennisongomezk
 
Pests of Maize: An comprehensive overview.pptx
Pests of Maize: An comprehensive overview.pptx
Arshad Shaikh
 
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
Intellectual Property Right (Jurisprudence).pptx
Intellectual Property Right (Jurisprudence).pptx
Vishal Chanalia
 
List View Components in Odoo 18 - Odoo Slides
List View Components in Odoo 18 - Odoo Slides
Celine George
 
HistoPathology Ppt. Arshita Gupta for Diploma
HistoPathology Ppt. Arshita Gupta for Diploma
arshitagupta674
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Dr. Ravi Shankar Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
June 2025 Progress Update With Board Call_In process.pptx
June 2025 Progress Update With Board Call_In process.pptx
International Society of Service Innovation Professionals
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 6-14-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 6-14-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Hurricane Helene Application Documents Checklists
Hurricane Helene Application Documents Checklists
Mebane Rash
 
2025 June Year 9 Presentation: Subject selection.pptx
2025 June Year 9 Presentation: Subject selection.pptx
mansk2
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
Photo chemistry Power Point Presentation
Photo chemistry Power Point Presentation
mprpgcwa2024
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
 
Values Education 10 Quarter 1 Module .pptx
Values Education 10 Quarter 1 Module .pptx
JBPafin
 
The Man In The Back – Exceptional Delaware.pdf
The Man In The Back – Exceptional Delaware.pdf
dennisongomezk
 
Pests of Maize: An comprehensive overview.pptx
Pests of Maize: An comprehensive overview.pptx
Arshad Shaikh
 
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
Intellectual Property Right (Jurisprudence).pptx
Intellectual Property Right (Jurisprudence).pptx
Vishal Chanalia
 
List View Components in Odoo 18 - Odoo Slides
List View Components in Odoo 18 - Odoo Slides
Celine George
 
HistoPathology Ppt. Arshita Gupta for Diploma
HistoPathology Ppt. Arshita Gupta for Diploma
arshitagupta674
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
Ad

Introduction what is java

  • 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"};