SlideShare a Scribd company logo
Introduction to Java
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
• 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 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
Manav Prasad
 
PPTX
Java programmingjsjdjdjdjdjdjdjdjdiidiei
rajputtejaswa12
 
PPT
java ppt for basic intro about java and its
kssandhu875
 
PPT
Java - A parent language and powerdul for mobile apps.
dhimananshu130803
 
PPT
Java intro
Sonam Sharma
 
PPT
Java01
Remon Hanna
 
PPT
Java01
Dhaval Patel
 
PPT
java_ notes_for__________basic_level.ppt
amisharawat149
 
Java programmingjsjdjdjdjdjdjdjdjdiidiei
rajputtejaswa12
 
java ppt for basic intro about java and its
kssandhu875
 
Java - A parent language and powerdul for mobile apps.
dhimananshu130803
 
Java intro
Sonam Sharma
 
Java01
Remon Hanna
 
Java01
Dhaval Patel
 
java_ notes_for__________basic_level.ppt
amisharawat149
 

Similar to Java Simple Introduction in single course (20)

PPT
Present the syntax of Java Introduce the Java
ssuserfd620b
 
PPT
java01.ppt
MansiDongare2
 
PPT
OOPs concept and java Environment decsion making statement looping array and ...
hannahroseline2
 
PPT
java01.ppt
BabekEsedli
 
PPT
java01.ppt
priyanshugautam46
 
PPT
java01.ppt
archibhartiya
 
PPT
java01.ppt
ximiha8972
 
PPT
java01.ppt
SouravGhosh305827
 
PPTX
mukul Dubey.pptx
CodeHome
 
PPT
java01.ppt
ROGNationYT
 
PPT
java01.ppt
ShivamChaturvedi67
 
PPT
java01.ppt
FakeBuddy2
 
PPT
java01.ppt
MENACE4
 
PPT
java01.ppt
ssuser73c6451
 
PPT
java01.ppt
TarundeepSingh78
 
PPT
java01.ppt
SachinBhosale73
 
PPT
java01.ppt
JyoGen
 
PPT
java-corporate-training-institute-in-mumbai
vibrantuser
 
PPT
java-corporate-training-institute-in-mumbai
Unmesh Baile
 
Present the syntax of Java Introduce the Java
ssuserfd620b
 
java01.ppt
MansiDongare2
 
OOPs concept and java Environment decsion making statement looping array and ...
hannahroseline2
 
java01.ppt
BabekEsedli
 
java01.ppt
priyanshugautam46
 
java01.ppt
archibhartiya
 
java01.ppt
ximiha8972
 
java01.ppt
SouravGhosh305827
 
mukul Dubey.pptx
CodeHome
 
java01.ppt
ROGNationYT
 
java01.ppt
ShivamChaturvedi67
 
java01.ppt
FakeBuddy2
 
java01.ppt
MENACE4
 
java01.ppt
ssuser73c6451
 
java01.ppt
TarundeepSingh78
 
java01.ppt
SachinBhosale73
 
java01.ppt
JyoGen
 
java-corporate-training-institute-in-mumbai
vibrantuser
 
java-corporate-training-institute-in-mumbai
Unmesh Baile
 
Ad

Recently uploaded (20)

PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Beyond Automation: The Role of IoT Sensor Integration in Next-Gen Industries
Rejig Digital
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
Architecture of the Future (09152021)
EdwardMeyman
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Doc9.....................................
SofiaCollazos
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Software Development Company | KodekX
KodekX
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
This slide provides an overview Technology
mineshkharadi333
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Beyond Automation: The Role of IoT Sensor Integration in Next-Gen Industries
Rejig Digital
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
Architecture of the Future (09152021)
EdwardMeyman
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Ad

Java Simple Introduction in single course

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