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

More Related Content

Similar to java01.ppt (20)

java01.ppt
java01.pptjava01.ppt
java01.ppt
FakeBuddy2
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
ssuser73c6451
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
ShivamChaturvedi67
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
ROGNationYT
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
JyoGen
 
mukul Dubey.pptx
mukul Dubey.pptxmukul 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 ...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.pptjava01.ppt
java01.ppt
BabekEsedli
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
SouravGhosh305827
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
MENACE4
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
MansiDongare2
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
priyanshugautam46
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
archibhartiya
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
ximiha8972
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
TarundeepSingh78
 
java01.ppt
java01.pptjava01.ppt
java01.ppt
SachinBhosale73
 
Java
JavaJava
Java
Manav Prasad
 
Present the syntax of Java Introduce the Java
Present the syntax of Java Introduce the JavaPresent the syntax of Java Introduce the Java
Present the syntax of Java Introduce the Java
ssuserfd620b
 
Java01
Java01Java01
Java01
Remon Hanna
 
Java01
Java01Java01
Java01
Dhaval Patel
 

More from Godwin585235 (10)

Arduino-Workshop For beginners UG Students
Arduino-Workshop For beginners UG StudentsArduino-Workshop For beginners UG Students
Arduino-Workshop For beginners UG Students
Godwin585235
 
Tech rat ppt for the engineering students.pptx
Tech rat ppt for the engineering students.pptxTech rat ppt for the engineering students.pptx
Tech rat ppt for the engineering students.pptx
Godwin585235
 
VEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptx
VEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptxVEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptx
VEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptx
Godwin585235
 
notwa dfdfvs gf fdgfgh s thgfgh frg reggg
notwa dfdfvs gf fdgfgh  s thgfgh frg regggnotwa dfdfvs gf fdgfgh  s thgfgh frg reggg
notwa dfdfvs gf fdgfgh s thgfgh frg reggg
Godwin585235
 
digita circuit design.pptx
digita circuit design.pptxdigita circuit design.pptx
digita circuit design.pptx
Godwin585235
 
PCB Tutorial.pptx
PCB Tutorial.pptxPCB Tutorial.pptx
PCB Tutorial.pptx
Godwin585235
 
ch02.ppt
ch02.pptch02.ppt
ch02.ppt
Godwin585235
 
cyber secuirty.pptx
cyber secuirty.pptxcyber secuirty.pptx
cyber secuirty.pptx
Godwin585235
 
ROBOTICS APPLICATIONS.pptx
ROBOTICS APPLICATIONS.pptxROBOTICS APPLICATIONS.pptx
ROBOTICS APPLICATIONS.pptx
Godwin585235
 
Presentation On Machine Learning.pptx
Presentation  On Machine Learning.pptxPresentation  On Machine Learning.pptx
Presentation On Machine Learning.pptx
Godwin585235
 
Arduino-Workshop For beginners UG Students
Arduino-Workshop For beginners UG StudentsArduino-Workshop For beginners UG Students
Arduino-Workshop For beginners UG Students
Godwin585235
 
Tech rat ppt for the engineering students.pptx
Tech rat ppt for the engineering students.pptxTech rat ppt for the engineering students.pptx
Tech rat ppt for the engineering students.pptx
Godwin585235
 
VEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptx
VEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptxVEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptx
VEHICLE TO VEHICLE COMMUNICATION USING LI-FI TECHNOLOGY (2).pptx
Godwin585235
 
notwa dfdfvs gf fdgfgh s thgfgh frg reggg
notwa dfdfvs gf fdgfgh  s thgfgh frg regggnotwa dfdfvs gf fdgfgh  s thgfgh frg reggg
notwa dfdfvs gf fdgfgh s thgfgh frg reggg
Godwin585235
 
digita circuit design.pptx
digita circuit design.pptxdigita circuit design.pptx
digita circuit design.pptx
Godwin585235
 
cyber secuirty.pptx
cyber secuirty.pptxcyber secuirty.pptx
cyber secuirty.pptx
Godwin585235
 
ROBOTICS APPLICATIONS.pptx
ROBOTICS APPLICATIONS.pptxROBOTICS APPLICATIONS.pptx
ROBOTICS APPLICATIONS.pptx
Godwin585235
 
Presentation On Machine Learning.pptx
Presentation  On Machine Learning.pptxPresentation  On Machine Learning.pptx
Presentation On Machine Learning.pptx
Godwin585235
 
Ad

Recently uploaded (20)

How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdfBiophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Ad

java01.ppt

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