SlideShare a Scribd company logo
1 of 22
Download to read offline
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 is designed to be embedded
in a Web page, and run by a browser
• Applets run in a with
numerous restrictions; for example,
they can’t read files and then use the
network
• A is designed to be run by a
web server
• An is a conventional
program
Building Standalone JAVA
Programs (on UNIX)
• Prepare the file f oo. j ava using an
editor
• Invoke the compiler: j avac
f oo. j ava
• This creates f oo. cl ass
• Run the java interpreter: j ava f oo
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)
publ i c cl ass Hel l oW
or l d {
publ i c st at i c voi d m
ai n( St r i ng[ ] ar gs) {
Syst em
. out . pr i nt l n( " Hel l o W
or l d! " ) ;
}
}
• 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 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
• Java also introduces the try statement,
about which more later
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 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 be only one public class
per file
• The file name 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 , or , very
much like the named fields of a struct
–all the operations (called ) that
can be performed on those fields
–can be
• 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 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 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

Similar to java01.pdf (20)

java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
 
Java01
Java01Java01
Java01
 
Java intro
Java introJava intro
Java intro
 
Java01
Java01Java01
Java01
 
Java
JavaJava
Java
 
java-corporate-training-institute-in-mumbai
java-corporate-training-institute-in-mumbaijava-corporate-training-institute-in-mumbai
java-corporate-training-institute-in-mumbai
 
java-corporate-training-institute-in-mumbai
java-corporate-training-institute-in-mumbaijava-corporate-training-institute-in-mumbai
java-corporate-training-institute-in-mumbai
 
RIBBUN SOFTWARE
RIBBUN SOFTWARERIBBUN SOFTWARE
RIBBUN SOFTWARE
 
Java01
Java01Java01
Java01
 
Java01
Java01Java01
Java01
 
Java01
Java01Java01
Java01
 
Java01
Java01Java01
Java01
 
Introduction what is java
Introduction what is javaIntroduction what is java
Introduction what is java
 

Recently uploaded

KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 

Recently uploaded (20)

KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 

java01.pdf

  • 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 is designed to be embedded in a Web page, and run by a browser • Applets run in a with numerous restrictions; for example, they can’t read files and then use the network • A is designed to be run by a web server • An is a conventional program
  • 5. Building Standalone JAVA Programs (on UNIX) • Prepare the file f oo. j ava using an editor • Invoke the compiler: j avac f oo. j ava • This creates f oo. cl ass • Run the java interpreter: j ava f oo
  • 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) publ i c cl ass Hel l oW or l d { publ i c st at i c voi d m ai n( St r i ng[ ] ar gs) { Syst em . out . pr i nt l n( " Hel l o W or l d! " ) ; } } • 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 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 • Java also introduces the try statement, about which more later switch (n + 1) { case 0: m = n - 1; break; case 1: m = n + 1; case 3: m = m * n; break; default: m = -n; break; }
  • 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 be only one public class per file • The file name 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 , or , very much like the named fields of a struct –all the operations (called ) that can be performed on those fields –can be • 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 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 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"};