SlideShare a Scribd company logo
1 of 69
Java/J2EE Programming Training
Introduction to Java – 2
Page 1Classification: Restricted
Agenda
• Introduction to Java
• History of Java
• Salient Features of Java
• Setting up Environment for Java development
• Object Oriented Programming Concepts
Page 2Classification: Restricted
European Agricultural Revolution: 1700 onwards
Page 3Classification: Restricted
Industrial Revolution
Page 4Classification: Restricted
Evolution of Computer Science – initially based on
mechanical systems
Page 5Classification: Restricted
A point to ponder…
• What led to the evolution of electronic computation systems?
More specifically… When we already had mechanical computing
machines and calculators, what made us base the modern computing
systems on electronics?
Page 6Classification: Restricted
A point to ponder…
• What led to the evolution of electronic computation systems?
More specifically… When we already had mechanical computing
machines and calculators, what made us base the modern computing
systems on electronics?
Switching speed.
Wear and tear.
Page 7Classification: Restricted
Building Blocks of a Basic Modern Computer System
• Based on von Neumann architecture
• John von Neumann was a Hungarian computer scientist.
2
Page 8Classification: Restricted
A point to ponder…
• Ok, so the CPU is the brain of the computer system. Then why do I need an
OS?
Page 9Classification: Restricted
A point to ponder…
• Ok, so the CPU is the brain of the computer system. Then why do I need an
OS?
Communicating with the CPU using its instruction set is cumbersome, it is
difficult. We need an interpreter.
Page 10Classification: Restricted
A point to ponder…
• Ok, an OS is the interface between the user and the CPU. Then why would I
need a programming language?
Page 11Classification: Restricted
A point to ponder…
• Ok, an OS is the interface between the user and the CPU. Then why would I
need a programming language?
How would you add functionalities to the software that is not already
available in an OS?
Page 12Classification: Restricted
A point to ponder…
• Ok, agreed I would need a programming language. Now, that we already
had other languages like C for Procedural Programming, C++ for Object
Oriented Programming, why did we have to write another language like
Java?
Page 13Classification: Restricted
A point to ponder…
• Ok, agreed I would need a programming language. Now, that we already
had other languages like C for procedural programming, C++ for Object
Oriented Programming, why did we have to write another language like
Java?
Necessity is the mother of invention. There is a business intent behind this
invention too. But, what is that requirement?
Page 14Classification: Restricted
The Compilation Process for Non-Java Programs (like C & C++)
Source Code
(programming
language
instructions)
Object Code
(binary
instructions)
Programmers write
this.
Computers run this.
Compilers
compile source
code into object
code.
Page 15Classification: Restricted
History of Java
• In the early 1990's, putting intelligence into home appliances was thought
to be the next "hot" technology.
• Examples of intelligent home appliances:
• Coffee pots and lights that can be controlled by a computer's programs.
• Televisions that can be controlled by an interactive television device's
programs.
• Anticipating a strong market for such things, Sun Microsystems in 1991
funded a research project (code named Green) whose goal was to develop
software for intelligent home appliances.
• An intelligent home appliance's intelligence comes from its embedded
processor chips and the software that runs on the processor chips.
• Appliance processor chips change often because engineers continually find
ways to make them smaller, less expensive, and more powerful.
• To handle the frequent turnover of new chips, appliance software must be
extremely portable.
Page 16Classification: Restricted
The Issue of Portability
• A piece of software is portable if it can be used on many different types of
computers.
• Object code is not very portable. As you know, object code is comprised of
binary-format instructions. Those binary-format instructions are intimately
tied to a particular type of computer. If you've got object code that was
created on a type X computer, then the object code can run only on a type
X computer.
• The Java solution to improve portability:
• Java compilers don't compile all the way down to object code. Instead,
they compile down to bytecode, which possesses the best features of
both object code and source code:
• Like object code, bytecode uses a format that works closely with
computer hardware, so it runs fast.
• Like source code, bytecode is generic, so it can be run on any type of
computer.
Page 17Classification: Restricted
The Compilation Process for Java Programs
Java source
code
object code
Java compilers
compile source code
into bytecode.
bytecode
When a Java program is
run, the JVM translates
bytecode to object code.
Page 18Classification: Restricted
Java Virtual Machine
• How can bytecode be run on any type of computer?
• As a Java program’s bytecode runs, the bytecode is translated into object
code by the computer's bytecode interpreter program. The bytecode
interpreter program is known as the Java Virtual Machine, or JVM for short.
The JVM is written specifically for every platform.
Page 19Classification: Restricted
Issue of Portability Solved.. But..
• Originally, Sun planned to use C++ for its home appliance software, but
they soon realized that C++ was less than ideal because it wasn't portable
enough and it relied too heavily on hard-to-maintain things called pointers.
• Thus, rather than write C++ software and fight C++'s inherent deficiencies,
Sun decided to develop a whole new programming language to handle its
home appliance software needs.
• Their new language was originally named Oak (for the tree that was outside
project leader James Gosling's window), but it was soon changed to Java.
• When the home appliance software work dried up, Java almost died before
being released.
• Fortunately for Java, the World Wide Web exploded in popularity and Sun
realized it could capitalize on that.
Page 20Classification: Restricted
Issue of Portability Solved.. But..
• Web pages have to be very portable because they can be downloaded onto
any type of computer.
• What's the standard language used for Web pages?
• Java programs are very portable and they're better than HTML in terms of
providing user interaction capabilities.
• Java programs that are embedded in Web pages are called applets.
• Although applets still play a significant role in Java's current success, some
of the other types of Java programs have surpassed applets in terms of
popularity.
• In this course, we cover Standard Edition (SE) Java applications. They are
Java programs that run on a standard computer – a desktop or a laptop,
without the need of the Internet.
19
Page 21Classification: Restricted
Features Of Java
• Simple
Similar to C and C++, but without the demerits…
–Omits operator overloading, multiple inheritance
–Goto statement is eliminated
–Header files are eliminated
–No concept of pointers
–Automatic Garbage collection
–A rich set of predefined classes
Page 22Classification: Restricted
Features Of Java
• Object-Oriented
–Forces the programmer to use the classes and object
–Class
• Member variables( data ) and member functions ( methods )
Page 23Classification: Restricted
Features Of Java
• Robust
–designed for writing highly reliable or robust software:
–automatic garbage collection, which prevents memory leaks
–Type safety of data
–Extensive compile time and runtime checking
–Object Oriented Exception Handling of run time errors
• Divide by zero exception.
Page 24Classification: Restricted
• JVM
• JIT
• Hello.java(10) .exe (binary)
• Hello.java(15)
• Looping (inner statement
• INTERPRETER
Page 25Classification: Restricted
Features Of Java
• Architectural Neutral and Interpreted
–compiler generates bytecodes
–Easy to interpret on any machine
–“Write once and run anywhere WORA”
Page 26Classification: Restricted
Features Of Java
• Powerful
–Networking
–Threads
–Distributed Objects
–Database Access
–Graphics
–Data structure library
–Serialization
–Digital Signatures
Page 27Classification: Restricted
Features Of Java
• Java is Popular
Page 28Classification: Restricted
Features Of Java
• Distributed
–Supports TCP/IP
–Remote Method
Invocation (RMI)
–Web Services
Page 29Classification: Restricted
Features of Java
• Multi-Threaded
–Parallel processing to improve the performance of certain types of
programs
Page 30Classification: Restricted
Major Java Editions
Page 31Classification: Restricted
Java & JEE Fast Track Training – Day 1 Agenda
• Introduction to Java
• History of Java
• Salient Features of Java
• Setting up Environment for Java development
• Object Oriented Programming Concepts
Setting up environment for
Java Development
Page 33Classification: Restricted
Steps for Environment Setup
1. Download and install latest JDK from Oracle site
2. Download and install Eclipse
Page 34Classification: Restricted
Download latest JDK from Oracle site
• "JDK" or "JRE"?
JRE (Java Runtime) is needed for running Java programs. JDK (Java
Development Kit), which includes JRE plus the development tools (such as
compiler and debugger), is need for writing as well as running Java
programs. Since you are supposed to write Java Programs, you should
install JDK, which includes JRE.
• To download and install JDK follow the steps in the following slides.
Page 35Classification: Restricted
Download latest JDK from Oracle site – Step 0
Step 0: Un-Install Older Version(s) of JDK/JRE
• I recommend that you install only the latest JDK. Although you can install
multiple versions of JDK concurrently, it is messy.
• If you have previously installed older version(s) of JDK/JRE, un-install ALL of
them. Goto "Control Panel" ⇒ "Program and Features" ⇒ Un-install ALL
programs begin with "Java", such as "Java SE Development Kit ...", "Java SE
Runtime ...", and etc.
Page 36Classification: Restricted
Download latest JDK from Oracle site – Step 1
Step 1: Download JDK
1. Goto Java SE download site @
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Under "Java Platform, Standard Edition" ⇒ "Java SE 8u{xx}", where {xx} is
the latest update number ⇒ Click the "JDK Download" button.
3. Check "Accept License Agreement".
4. Choose your operating platform, e.g., "Windows x64" (for 64-bit
Windows OS) or "Windows x86" (for 32-bit Windows OS). You can check
whether your Windows OS is 32-bit or 64-bit via "Control Panel" ⇒
"System" ⇒ Under "System Type".
Page 37Classification: Restricted
Download latest JDK from Oracle site – Step 2
Step 2: Install JDK and JRE
1. Run the downloaded installer (e.g., "jdk-8u{xx}-windows-x64.exe"),
which installs both the JDK and JRE. By default, the JDK will be installed
in directory "C:Program FilesJavajdk1.8.0_xx", where xx denotes the
latest upgrade number; and JRE in "C:Program FilesJavajre1.8.0_xx".
2. For novices, accept the defaults. Follow the screen instructions to install
JDK and JRE.
3. Check the JDK installed directory by inspecting these folders using File
Explorer. Take note of your JDK installed directory, which you will need
in the next step.
4. I shall refer to the installation directory as <JAVA_HOME>
Page 38Classification: Restricted
Download latest JDK from Oracle site – Step 3
Step 3: Include JDK's "bin" Directory in the PATH
Windows OS searches the current directory and the directories listed in the PATH environment
variable for executable programs. JDK's programs (such as Java compiler javac.exe and Java
runtime java.exe) reside in directory "<JAVA_HOME>bin" (where <JAVA_HOME> denotes the
JDK installed directory). You need to include "<JAVA_HOME>bin" in the PATH to run the JDK
programs.
To edit the PATH environment variable in Windows XP/Vista/7/8/10:
1. Launch "Control Panel" ⇒ "System" ⇒ Click "Advanced system settings".
2. Switch to "Advanced" tab ⇒ "Environment Variables".
3. Under "System Variables", scroll down to select "Path" ⇒ "Edit...".
4. (CAUTION: Read this paragraph 3 times before doing this step! There is no UNDO)
For Windows 10: You see a table listing the existing PATH entries. Click "New" ⇒ Enter the JDK's
binary directory "c:Program FilesJavajdk1.8.0_xxbin" (Replace xx with your installation's
upgrade number!!!) ⇒ Select "Move Up" to move it all the way to the top.
Prior to Windows 10: In "Variable value" field, INSERT "c:Program FilesJavajdk1.8.0_xxbin"
(Replace xx with your installation upgrade number!!!) IN FRONT of all the existing directories,
followed by a semi-colon (;) which separates the JDK's binary directory from the rest of the
existing directories. DO NOT DELETE any existing entries; otherwise, some existing applications
may not run.
Page 39Classification: Restricted
Download latest JDK from Oracle site – Step 4
Step 4: Verify the JDK Installation
Launch a CMD shell (Click "Start" button ⇒ run... ⇒ enter "cmd"; OR from "Start" button ⇒ All
Programs ⇒ Accessories ⇒ Command Prompt).
• Issue "path" command to list the contents of the PATH environment variable. Check to make
sure that your <JAVA_HOME>bin is listed in the PATH.
// Display the PATH entries
prompt> path
PATH=c:Program FilesJavajdk1.8.0_xxbin;[other entries...]
Don't type prompt>, which denotes the command prompt!!! Key in the command (highlighted)
only.
• Issue the following commands to verify that JDK/JRE are properly installed and display their
version:
// Display the JRE version
prompt> java -version
java version "1.8.0_xx"
Java(TM) SE Runtime Environment (build 1.8.0_xx-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
// Display the JDK version
prompt> javac -version
javac 1.8.0_xx
Page 40Classification: Restricted
Download and Install Eclipse
• Download Eclipse from:
http://www.eclipse.org/downloads/packages/release/Neon/2
* Neon is the latest Eclipse release as of today. You can download the
latest Eclipse release.
• To install, all you have to do is extract the zip folder.
• While starting Eclipse, choose a workspace to store all your project files.
• Once Eclipse is launched, point it to the JDK you installed earlier
Preferences -> Java -> Installed JRE's
Page 41Classification: Restricted
Java & JEE Fast Track Training – Day 1 Agenda
• Introduction to Java
• History of Java
• Salient Features of Java
• Setting up Environment for Java development
• Object Oriented Programming Concepts
Java Language Fundamentals –
OOP Fundamentals
Page 43Classification: Restricted
JAVA FUNDAMENTALS
• Quick review of some important concepts
• History of Java
• JDK and JRE
• Byte Code and JVM (Java Virtual Machine)
• Platform Independence
• Applications and Applets
• Principles of Object Oriented Programming
• First Java Application
Page 44Classification: Restricted
History of Java - Milestones
• 1990 Sun Microsystems decided to develop special software that could be used to
manipulate consumer electronic devices. A team of Sun Microsystems programmers headed
by James Gosling was formed to undertake this task.
• 1991 After exploring the possibility of most Object Oriented Programming Language C++,
the team announced a new language named “Oak”.
• 1992 The team, known as a Green Project team by Sun, demonstrated the application of
their new language to control a list of home appliances using a hand-held device with a tiny
touch sensitive screen.
• 1993 The World Wide Web(WWW) appeared on the internet and transformed the text-
based Internet into a Graphical-rich environment. The green Project team came up with the
idea of developing Web Applets(tiny programs) using the new language that could run
on all types of computers connected to Internet.
• 1994 The team developed a web browser called “Hot Java” to locate and run applet
programs on Internet. Hot Java demonstrated the power of the new language, thus making it
instantly popular among the Internet users.
• 1995 Oak was named “Java”, due to some legal snags. Java is just a name and is not an
acronym. Many popular companies including Netscape and Microsoft announce to their
support to Java.
• 1996 Java established itself not only a leader for Internet Programming but also as a
general-purpose, object oriented programming language. Java found its home.
Page 45Classification: Restricted
Java - Features
The most striking feature of the language is that it is a platform-neutral
language. Java is a first programming language that is not tied to any
particular hardware or operating system.
Features of Java :
• Compiled and Interpreted.
• Platform-Independent and Portable
• Object-Oriented
• Robust and Secure
• Distributed
• Familiar, Simple and Small
• Multithreaded and Interactive
• High Performance
• Dynamic and Extensible
Page 46Classification: Restricted
JDK & JRE
Java Environment includes a large number of development tools and hundreds of classes
and methods. The development tools are part of the system known as Java
Development Kit(JDK) and the classes and methods are part of the Java Standard Library
(JSL), also known as the Application Programming Interface (API).
JDK : Java Development Kit comes with a collection of tools that are used for developing
and running Java Programs. They include :
appletviewer-> Enables us to run Java Applets (Without using java compatible browser)
Java Java Interpreter, which runs applets and applications by reading and interpreting
bytecode files.
Javac The Java compiler, which translates Java source code to byte code files that the
interpreter understad.
Javadoc Creates HTML-format documentation from Java source code files.
Javah Produces header files for use with native methods.
javap Java disassembler, which enables us to convert bytecode files into a program
description.
Jdb Java debugger, which helps us to find errors in our programs.
Page 47Classification: Restricted
Byte Code & JVM(Java Virtual Machine)
Since platform-independence is a defining characteristic of Java, it is important to understand
how it is achieved. Programs exist in two forms; source code and object code. Source Code is
the textual version of the program that you write using a text editor. The programs printed in a
book are shown as source code. The executable form of a program is object code. The
computer can execute object code. Typically, object code is specific to a particular CPU.
Therefore, it cannot be executed on a different platform. Java removes this feature in a very
elegant manner.
Like all computer languages, a java program begins with its source code. The difference is
what happens when a Java program is compiled. Instead of producing executable code, the
Java Compiler produces an object file that contains bytecode. Bytecodes are instructions that
are not for any specific CPU. Instead, they are designed to be interpreted by a Java Virtual
Machine (JVM). The key to Java’s platform-independence comes from the fact that the same
bytecodes can be executed by any JVM on any platform. As long as there is a JVM
implemented for a a given environment, it can run any Java program. For example, Java
programs can execute under Windows 98,Solaris,IRIX, or any other platform for which a JVM
can be implemented for that platform. This would then allow any Java program to execute in
that new environment.
Page 48Classification: Restricted
Platform Independent
Compilation is the process of converting the code that you type into a language
that the computer understands-machine language. When you compile a
program, the compiler checks for syntactical errors in code and lists all the
errors on the screen. You have to rectify the errors and recompile the program
to get the machine language code. The Java compiler compiles the code to
bytecode that is understood by the Java environment.
The bytecode is the result of compiling a Java program. You can execute this
code on any platform. In other words, due to the bytecode compilation process
and interpretation by a browser, Java programs can be executed on a variety of
hardware and operating systems. The only requirement is that the system
should have a java-enabled Internet browser. The java compiler is written in
Java, and the interpreter is written in C. The Java Interpreter can execute Java
Code directly on any machine on which a Java interpreter has been installed.
Page 49Classification: Restricted
Java CompilerJava Program
Java Interpreter Machine Code
Virtual Machine
Bytecode
Source Code Bytecode
Virtual Machine Real Machine
Process of Compilation
Process of Converting bytecode into machine code
Java Compiler and Interpreter
Page 50Classification: Restricted
Application and Applets
There are two types of programs that can be built in Java Applications and applets.
Applications can be directly executed by a JVM. In fact, Java can be used to
develop programs for all kinds of applications, Hot Java itself is a Java Application
program.
Applets are small Java programs developed for Internet Applications. An applet
located on distant computer (Server) can be downloaded via Internet and
executed on a local computer (Client) using a Java enabled browser. We can
develop applets for doing everything from simple animated graphics to complex
games and utilities. Since applets are embedded in an HTML document and run
inside a Web Page, creating and running applets are more complex than creating
application. Stand alone program can read and write files and perform certain
operations that applet can not do. An Applet can only run within a Web Browser.
The Web browser includes a JVM that provides an execution environment for
the applet. It is also possible to use a tool called the appletviewer to run an
applet. This utility is included in the Java Development Kit(JDK) and is used to test
applets. In this manner, an applet written by any developer in the world may be
dynamically downloaded from the Web Server and executed on a client PC or
workstation.
Page 51Classification: Restricted
Java Source
Code
Java Bytecode
Java Enabled
Browser Java Interpreter
Output Output
Application Type
Applet Type
Page 52Classification: Restricted
Principles of Object Oriented Programming
Object Oriented Programming (OOP) attempts to emulate the real world in
software systems.
The real world consists of objects, categorized in classes. In Object Oriented
Programming, classes have attributes, represented by data member. The
attributes distinguish an object of the class. Classes have behaviors, which are
represented by methods. The methods define how an object acts or reacts.
Features of Object Oriented Programming :
Information Encapsulation(Hiding) :- Objects provide the benefit of information
hiding. Electrical wiring in a television should not be tempered with, and
therefore should be hidden from the user. Object Oriented programming allows
you to encapsulate data that you do not want users of the object to access.
Typically, attributes of a class are encapsulated.
Abstraction :- Abstraction allows us to focus on only those parts of an object that
concern us. Person operating the television does not need to know the intricacies
of how it works. The person just needs to know how to switch it on, change
channels, and adjust the volume. All the details that are unnecessary to users are
encapsulated, leaving only a simple interface to interact with. Providing users
with only what they need to know is known as abstraction. i.e.
Abstraction lets us ignore the irrelevant details and concentrate on the essentials.
Page 53Classification: Restricted
Inheritance :- Inheritance is the process by which objects of one class acquire the properties
of objects of another class. Inheritance supports the concept of hierarchical classification. In
OOP, the concept of inheritance provides the idea of reusability. This means that we can add
additional features to an existing class without modifying it. This is possible by deriving a new
class from the existing one. The new class will have the combined features of both the
classes.
Polymorphism :- Polymorphism means “One Interface, multiple implementations.”
Shape
Ellipse Rectangle Triangle
The class Shape defines a method called getArea() that returns the area of a shape.
However, this method is not implemented by that class. Therefore, it is an abstract method
and Shape is an abstract class.
This means that no objects of class Shape can be created. However, the functionality of that
class can be inherited by its subclass. The various subclasses of Shape like Ellipse,
Rectangle, Triangle do implement the getArea() method.
Principles of Object Oriented Programming
Page 54Classification: Restricted
First Java Application
Create the File
The first step to create the HelloWorld application is to copy the text
below into a file called HelloWorld.java using your favorite text editor.
It is very important to call the file HelloWorld.java, because the compiler
expects the file name to match the class identifier
Page 55Classification: Restricted
Class Declaration
The first line public class HelloWorld declares a class, which is an Object-Oriented construct.
As stated earlier Java is true Object-Oriented language and therefore, everything must be
placed inside a class. Class is a keyword and declares that a new class definition follows.
Opening Brace
Every class definition in Java begins with an opening brace “{“ and ends with a matching
closing brace “}”, appearing in the last line in the example.
The main() method
Every java application program must include the main() method. This is starting point for the
interpreter to begin the execution of the program. A Java application can have any number of
classes but only one of them must include a main method to initiate the execution.
Public : The Keyword public is an access specifier that declares the main method as
unprotected and therefore making it to accessible to all other classes.
Static : The keyword static which declares this method as one that belongs to the entire Class
and not a part of any Objects of the class.
First Java Application
Page 56Classification: Restricted
The main must always be declared be declared as static since the interpreter uses
this method before any objects are created.
Void : The type modifier void states that the main method does not return any value.
All parameters to a method are declared inside a pair of parentheses. Here,
String args[] declares a parameter named args, which contains an array of objects
Of the class type String.
The Output Line
The only executable Statement in the program is
System.out.println("Hello World!!");
Since Java is a true Object Oriented Language, every method must be part of an
Object. The println method is a member of the out Object, which is static data
Member of the System class. This line prints
Hello World!!
to the screen. The method println always appends a newline character to the end
of the string.
First Java Application
Page 57Classification: Restricted
Compile the Code
To compile the program, you need to first install the JDK. Then, use the program
javac included with the JDK to convert the text to code which the
computer can run. To run javac, on a Macintosh drag the source file over the javac
icon. On any other computer, type the line:
at a command prompt. javac HelloWorld.java
The javac program creates a file called HelloWorld.class from the HelloWorld.java file. Inside
this file (HelloWorld.class) is text known as bytecodes which can be run by the Java
interpreter.
Run the Program
Now that you have compiled the program, you can run it by typing at the command prompt:
java HelloWorld
After you do this, the computer should print to the screen
Hello World!!
That may not seem very interesting, but then it's a simple program. If you don't see the
Hello World!! on the screen, go back and make sure you have typed in the file exactly as
shown, and make sure that you called the file HelloWorld.java.
First Java Application
Page 58Classification: Restricted
JAVA CONTROLS
• Variables and Constants
• Arithmetic Operator and Expressions
• Type Conversion in Java
• Comments in Java(3 Types)
• Java’s Control Statements
• If
• If-else
• Do-while
• While
• for
• Increment and Decrement Operators
• Escape Sequences Characters
• Relational and Logical Operators
• Ternary Operators
• Switch case
• Break
• Bitwise Operators
• Arrays-Single and Multidimensional
Page 59Classification: Restricted
Variables and Constants in Java
Constants: Constant “literals” in Java refer to fixed values that do not change during the
execution of a program.
Java supports several types of constants given in figure below :
Integer Constants: Refers to a sequence of digits. There are three types of Integers,
namely, decimal, octal and hexadecimal integer.
Decimal Integer consist of a set of digits, 0 through 9, preceded by an optional minus sign.
An octal integer constant consists of any combination of digits from the set 0 through 7, with
a leading 0.
A sequence of digits preceded by ox or OX is considered as hexadecimal integer. They may
also include alphabets A through F.
Integer
Page 60Classification: Restricted
Real Constants: Integer constant are inadequate to represent quantities that vary
continuously, such as distance, heights, temperature, prices and so on. These quantities are
represented by numbers containing fractional parts like 17.546. Such numbers are called
real.
The real number may also be expressed in exponential (or scientific ) notation. For
example, the value 215.65 may be written as 2.1565e2 in exponential notation. e2 means
multiply by 102. The general form is :
mantissa e exponent
mantissa is either a real number expressed in decimal notation or an integer. The exponent
is an integer with an optional plus or minus sign. The letter e separating the mantissa and
the exponent can be written in either lowercase or uppercase. Since the exponent causes
the decimal point to “float”, this notation is said to represent a real number in floating point
form.
Variables and Constants
Page 61Classification: Restricted
Single Character Constants: A single character constant (or simply character constant )
contains a single character enclosed within a pair of single quote marks. Examples of
character constants are : ‘5’ ‘X’ ‘;’
String Constant: A string constant is a sequence of characters enclosed between double
quotes. The characters may be alphabets, digits, special characters and blank spaces.
Example are : “Hello Java” “1997”
* Constants in Java are not directly supported. Then how do you declare constants?
Variable: A variable is an Identifier that denotes a storage location used to store a data
value. Unlike constants that remain unchanged during the execution of program. Examples of
variables : average,height,total_height.
Variable name may consist of alphabets, digits, the underscore(_) and dollar characters.
Rules to write Variable/Identifier in Java :
• They must not begin with digit
• Upper and lowercase are distinct. This means that the variable Total is not the same as total
or TOTAL.
• It should not be a keyword.
• White space is not allowed.
• Variable names can be of any length.
Variables and Constants in Java
Page 62Classification: Restricted
Data Types in Java
Page 63Classification: Restricted
The Java integer primitive types.
Type Bit Size Minimum Value Maximum Value
byte 8 -128 +127
short 16 -32,768 32,767
int 32 -2,147,483,648 2,147,483,647
long 64 -9,223,372,036,854,775,808 9,223,372,036,854,775,807
Integer literals can be specified in decimal, hexadecimal, or octal notation. To specify a decimal
value, simply use the number as normal. To indicate that a literal value is a long, you can append
either "L" or "l" to the end of the number. Hexadecimal values are given in base 16 and include
the digits 0-9 and the letters A-F. To specify a hexadecimal value, use 0x followed by the digits
and letters that comprise the value. Similarly, an octal value is identified by a leading 0 symbol.
Integer Primitive Type
Page 64Classification: Restricted
Integer Long Octal Hexadecimal
0 0L 0 0x0
1 1L 01 0x1
10 10L 012 0xA
15 15L 017 0XF
16 16L 020 0x10
100 100L 0144 0x64
Floating-Point Types
Support for floating-point numbers in Java is provided through two primitive types-float and double, which are 32-
and 64-bit values, respectively.
Similar to integer literals are Java's floating-point literals. Floating-point literals can be specified in either the
familiar decimal notation (for example, 3.1415) or exponential notation (for example, 6.02e23). To indicate that a
literal is to be treated as a single precision float, append either "f" or "F". To indicate that it is to be treated as a
double precision value, append either "d" or "D".
Java includes predefined constants, POSITIVE_INFINITY, NEGATIVE_INFINITY, and NaN, to represent the infinity
and not-a-number values.
The following list shows some valid floating-point literals:
43.3F,3.1415d,-12.123f,6.02e+23f,6.02e23d,6.02e-23f,6.02e23d
Integer Primitive Type Examples
Page 65Classification: Restricted
Support for floating-point numbers in Java is provided through two primitive types-
float and double, which are 32- and 64-bit values, respectively.
Similar to integer literals are Java's floating-point literals.
Floating-point literals can be specified in either the familiar decimal notation (for
example, 3.1415) or exponential notation (for example, 6.02e23).
To indicate that a literal is to be treated as a single precision float, append either "f" or
"F".
To indicate that it is to be treated as a double precision value, append either "d" or
"D".
Java includes predefined constants, POSITIVE_INFINITY, NEGATIVE_INFINITY, and NaN,
to represent the infinity and not-a-number values.
The following list shows some valid floating-point literals:
43.3F,3.1415d,-12.123f,6.02e+23f,6.02e23d,6.02e-23f,6.02e23d
Floating Point Types
Page 66Classification: Restricted
Boolean :- Java supports two Boolean literals-true and false.
Character Literals :-A character literal is a single character or an escape sequence
enclosed in single quotes, for example, 'b'. Escape sequences are used to indicate
special characters or
actions, such as line feed, form feed, or carriage return.
String Literals
Although there is no string primitive type in Java, you can include string literals in your
programs. Most applications and applets will make use of some form of string literal,
probably at least for error messages. A string literal consists of zero or more characters
(including the escape sequences shown in Table 3.8) enclosed in double quotes. As
examples of string literals, consider the following: "A String“,"Column 1tColumn 2”
Boolean and Character Literals
Page 67Classification: Restricted
Sequence Purpose
b Backspace
t Horizontal tab
n Line feed
f Form feed
r Carriage return
" Double quote
' Single quote
 Backslash
uxxxx Unicode character
Escape Sequences
Page 68Classification: Restricted
Thank You

More Related Content

What's hot

Java introduction
Java introductionJava introduction
Java introductionKuppusamy P
 
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developersnick_garrod
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Martijn Verburg
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Martijn Verburg
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Martijn Verburg
 
Session 02 - Elements of Java Language
Session 02 - Elements of Java LanguageSession 02 - Elements of Java Language
Session 02 - Elements of Java LanguagePawanMM
 
Session 01 - Introduction to Java
Session 01 - Introduction to JavaSession 01 - Introduction to Java
Session 01 - Introduction to JavaPawanMM
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open InnovationTim Ellison
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceTim Ellison
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting StartedRakesh Madugula
 
Eclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimesEclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimesMark Stoodley
 
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes
Jfokus 2016 - A JVMs Journey into Polyglot RuntimesJfokus 2016 - A JVMs Journey into Polyglot Runtimes
Jfokus 2016 - A JVMs Journey into Polyglot RuntimesCharlie Gracie
 
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...jaxLondonConference
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updatesVinay H G
 

What's hot (18)

Java introduction
Java introductionJava introduction
Java introduction
 
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
Zend Code in ZF 2.0
Zend Code in ZF 2.0Zend Code in ZF 2.0
Zend Code in ZF 2.0
 
Session 02 - Elements of Java Language
Session 02 - Elements of Java LanguageSession 02 - Elements of Java Language
Session 02 - Elements of Java Language
 
Session 01 - Introduction to Java
Session 01 - Introduction to JavaSession 01 - Introduction to Java
Session 01 - Introduction to Java
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open Innovation
 
JAVA INTRODUCTION - 1
JAVA INTRODUCTION - 1JAVA INTRODUCTION - 1
JAVA INTRODUCTION - 1
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark Performance
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting Started
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 
Eclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimesEclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimes
 
Mohamed A. Abdel Haleem(July 09)
Mohamed A. Abdel Haleem(July 09)Mohamed A. Abdel Haleem(July 09)
Mohamed A. Abdel Haleem(July 09)
 
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes
Jfokus 2016 - A JVMs Journey into Polyglot RuntimesJfokus 2016 - A JVMs Journey into Polyglot Runtimes
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes
 
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 

Similar to Introduction to Java Part-2

Similar to Introduction to Java Part-2 (20)

Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 Fast
 
Lec 1-of-oop2
Lec 1-of-oop2Lec 1-of-oop2
Lec 1-of-oop2
 
Introduction to JAVA
Introduction to JAVAIntroduction to JAVA
Introduction to JAVA
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
 
MWLUG - Universal Java
MWLUG  -  Universal JavaMWLUG  -  Universal Java
MWLUG - Universal Java
 
Java (1)
Java (1)Java (1)
Java (1)
 
1.Intro--Why Java.pptx
1.Intro--Why Java.pptx1.Intro--Why Java.pptx
1.Intro--Why Java.pptx
 
Notes of java first unit
Notes of java first unitNotes of java first unit
Notes of java first unit
 
JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentation
 
01 java intro
01 java intro01 java intro
01 java intro
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
1 java intro
1 java intro1 java intro
1 java intro
 
Java1 in mumbai
Java1 in mumbaiJava1 in mumbai
Java1 in mumbai
 
2-Lec - History of OOP and Java (1) .ppt
2-Lec - History of OOP and Java  (1) .ppt2-Lec - History of OOP and Java  (1) .ppt
2-Lec - History of OOP and Java (1) .ppt
 
java full 1.docx
java full 1.docxjava full 1.docx
java full 1.docx
 
java full.docx
java full.docxjava full.docx
java full.docx
 
Chapter-1 Introduction.pptx
Chapter-1 Introduction.pptxChapter-1 Introduction.pptx
Chapter-1 Introduction.pptx
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language
 

More from RatnaJava

Review Session and Attending Java Interviews
Review Session and Attending Java InterviewsReview Session and Attending Java Interviews
Review Session and Attending Java InterviewsRatnaJava
 
Collections - Lists & sets
Collections - Lists & setsCollections - Lists & sets
Collections - Lists & setsRatnaJava
 
Collections - Sorting, Comparing Basics
Collections - Sorting, Comparing BasicsCollections - Sorting, Comparing Basics
Collections - Sorting, Comparing BasicsRatnaJava
 
Collections Array list
Collections Array listCollections Array list
Collections Array listRatnaJava
 
Object Class
Object ClassObject Class
Object ClassRatnaJava
 
Exception Handling
Exception Handling  Exception Handling
Exception Handling RatnaJava
 
OOPs with Java - Packaging and Access Modifiers
OOPs with Java - Packaging and Access ModifiersOOPs with Java - Packaging and Access Modifiers
OOPs with Java - Packaging and Access ModifiersRatnaJava
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesRatnaJava
 
OOP with Java - Part 3
OOP with Java - Part 3OOP with Java - Part 3
OOP with Java - Part 3RatnaJava
 
OOP with Java - continued
OOP with Java - continuedOOP with Java - continued
OOP with Java - continuedRatnaJava
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented ProgrammingRatnaJava
 
Data Handling and Function
Data Handling and FunctionData Handling and Function
Data Handling and FunctionRatnaJava
 
Introduction to Java Part-3
Introduction to Java Part-3Introduction to Java Part-3
Introduction to Java Part-3RatnaJava
 

More from RatnaJava (13)

Review Session and Attending Java Interviews
Review Session and Attending Java InterviewsReview Session and Attending Java Interviews
Review Session and Attending Java Interviews
 
Collections - Lists & sets
Collections - Lists & setsCollections - Lists & sets
Collections - Lists & sets
 
Collections - Sorting, Comparing Basics
Collections - Sorting, Comparing BasicsCollections - Sorting, Comparing Basics
Collections - Sorting, Comparing Basics
 
Collections Array list
Collections Array listCollections Array list
Collections Array list
 
Object Class
Object ClassObject Class
Object Class
 
Exception Handling
Exception Handling  Exception Handling
Exception Handling
 
OOPs with Java - Packaging and Access Modifiers
OOPs with Java - Packaging and Access ModifiersOOPs with Java - Packaging and Access Modifiers
OOPs with Java - Packaging and Access Modifiers
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and Interfaces
 
OOP with Java - Part 3
OOP with Java - Part 3OOP with Java - Part 3
OOP with Java - Part 3
 
OOP with Java - continued
OOP with Java - continuedOOP with Java - continued
OOP with Java - continued
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
Data Handling and Function
Data Handling and FunctionData Handling and Function
Data Handling and Function
 
Introduction to Java Part-3
Introduction to Java Part-3Introduction to Java Part-3
Introduction to Java Part-3
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Introduction to Java Part-2

  • 2. Page 1Classification: Restricted Agenda • Introduction to Java • History of Java • Salient Features of Java • Setting up Environment for Java development • Object Oriented Programming Concepts
  • 3. Page 2Classification: Restricted European Agricultural Revolution: 1700 onwards
  • 5. Page 4Classification: Restricted Evolution of Computer Science – initially based on mechanical systems
  • 6. Page 5Classification: Restricted A point to ponder… • What led to the evolution of electronic computation systems? More specifically… When we already had mechanical computing machines and calculators, what made us base the modern computing systems on electronics?
  • 7. Page 6Classification: Restricted A point to ponder… • What led to the evolution of electronic computation systems? More specifically… When we already had mechanical computing machines and calculators, what made us base the modern computing systems on electronics? Switching speed. Wear and tear.
  • 8. Page 7Classification: Restricted Building Blocks of a Basic Modern Computer System • Based on von Neumann architecture • John von Neumann was a Hungarian computer scientist. 2
  • 9. Page 8Classification: Restricted A point to ponder… • Ok, so the CPU is the brain of the computer system. Then why do I need an OS?
  • 10. Page 9Classification: Restricted A point to ponder… • Ok, so the CPU is the brain of the computer system. Then why do I need an OS? Communicating with the CPU using its instruction set is cumbersome, it is difficult. We need an interpreter.
  • 11. Page 10Classification: Restricted A point to ponder… • Ok, an OS is the interface between the user and the CPU. Then why would I need a programming language?
  • 12. Page 11Classification: Restricted A point to ponder… • Ok, an OS is the interface between the user and the CPU. Then why would I need a programming language? How would you add functionalities to the software that is not already available in an OS?
  • 13. Page 12Classification: Restricted A point to ponder… • Ok, agreed I would need a programming language. Now, that we already had other languages like C for Procedural Programming, C++ for Object Oriented Programming, why did we have to write another language like Java?
  • 14. Page 13Classification: Restricted A point to ponder… • Ok, agreed I would need a programming language. Now, that we already had other languages like C for procedural programming, C++ for Object Oriented Programming, why did we have to write another language like Java? Necessity is the mother of invention. There is a business intent behind this invention too. But, what is that requirement?
  • 15. Page 14Classification: Restricted The Compilation Process for Non-Java Programs (like C & C++) Source Code (programming language instructions) Object Code (binary instructions) Programmers write this. Computers run this. Compilers compile source code into object code.
  • 16. Page 15Classification: Restricted History of Java • In the early 1990's, putting intelligence into home appliances was thought to be the next "hot" technology. • Examples of intelligent home appliances: • Coffee pots and lights that can be controlled by a computer's programs. • Televisions that can be controlled by an interactive television device's programs. • Anticipating a strong market for such things, Sun Microsystems in 1991 funded a research project (code named Green) whose goal was to develop software for intelligent home appliances. • An intelligent home appliance's intelligence comes from its embedded processor chips and the software that runs on the processor chips. • Appliance processor chips change often because engineers continually find ways to make them smaller, less expensive, and more powerful. • To handle the frequent turnover of new chips, appliance software must be extremely portable.
  • 17. Page 16Classification: Restricted The Issue of Portability • A piece of software is portable if it can be used on many different types of computers. • Object code is not very portable. As you know, object code is comprised of binary-format instructions. Those binary-format instructions are intimately tied to a particular type of computer. If you've got object code that was created on a type X computer, then the object code can run only on a type X computer. • The Java solution to improve portability: • Java compilers don't compile all the way down to object code. Instead, they compile down to bytecode, which possesses the best features of both object code and source code: • Like object code, bytecode uses a format that works closely with computer hardware, so it runs fast. • Like source code, bytecode is generic, so it can be run on any type of computer.
  • 18. Page 17Classification: Restricted The Compilation Process for Java Programs Java source code object code Java compilers compile source code into bytecode. bytecode When a Java program is run, the JVM translates bytecode to object code.
  • 19. Page 18Classification: Restricted Java Virtual Machine • How can bytecode be run on any type of computer? • As a Java program’s bytecode runs, the bytecode is translated into object code by the computer's bytecode interpreter program. The bytecode interpreter program is known as the Java Virtual Machine, or JVM for short. The JVM is written specifically for every platform.
  • 20. Page 19Classification: Restricted Issue of Portability Solved.. But.. • Originally, Sun planned to use C++ for its home appliance software, but they soon realized that C++ was less than ideal because it wasn't portable enough and it relied too heavily on hard-to-maintain things called pointers. • Thus, rather than write C++ software and fight C++'s inherent deficiencies, Sun decided to develop a whole new programming language to handle its home appliance software needs. • Their new language was originally named Oak (for the tree that was outside project leader James Gosling's window), but it was soon changed to Java. • When the home appliance software work dried up, Java almost died before being released. • Fortunately for Java, the World Wide Web exploded in popularity and Sun realized it could capitalize on that.
  • 21. Page 20Classification: Restricted Issue of Portability Solved.. But.. • Web pages have to be very portable because they can be downloaded onto any type of computer. • What's the standard language used for Web pages? • Java programs are very portable and they're better than HTML in terms of providing user interaction capabilities. • Java programs that are embedded in Web pages are called applets. • Although applets still play a significant role in Java's current success, some of the other types of Java programs have surpassed applets in terms of popularity. • In this course, we cover Standard Edition (SE) Java applications. They are Java programs that run on a standard computer – a desktop or a laptop, without the need of the Internet. 19
  • 22. Page 21Classification: Restricted Features Of Java • Simple Similar to C and C++, but without the demerits… –Omits operator overloading, multiple inheritance –Goto statement is eliminated –Header files are eliminated –No concept of pointers –Automatic Garbage collection –A rich set of predefined classes
  • 23. Page 22Classification: Restricted Features Of Java • Object-Oriented –Forces the programmer to use the classes and object –Class • Member variables( data ) and member functions ( methods )
  • 24. Page 23Classification: Restricted Features Of Java • Robust –designed for writing highly reliable or robust software: –automatic garbage collection, which prevents memory leaks –Type safety of data –Extensive compile time and runtime checking –Object Oriented Exception Handling of run time errors • Divide by zero exception.
  • 25. Page 24Classification: Restricted • JVM • JIT • Hello.java(10) .exe (binary) • Hello.java(15) • Looping (inner statement • INTERPRETER
  • 26. Page 25Classification: Restricted Features Of Java • Architectural Neutral and Interpreted –compiler generates bytecodes –Easy to interpret on any machine –“Write once and run anywhere WORA”
  • 27. Page 26Classification: Restricted Features Of Java • Powerful –Networking –Threads –Distributed Objects –Database Access –Graphics –Data structure library –Serialization –Digital Signatures
  • 28. Page 27Classification: Restricted Features Of Java • Java is Popular
  • 29. Page 28Classification: Restricted Features Of Java • Distributed –Supports TCP/IP –Remote Method Invocation (RMI) –Web Services
  • 30. Page 29Classification: Restricted Features of Java • Multi-Threaded –Parallel processing to improve the performance of certain types of programs
  • 32. Page 31Classification: Restricted Java & JEE Fast Track Training – Day 1 Agenda • Introduction to Java • History of Java • Salient Features of Java • Setting up Environment for Java development • Object Oriented Programming Concepts
  • 33. Setting up environment for Java Development
  • 34. Page 33Classification: Restricted Steps for Environment Setup 1. Download and install latest JDK from Oracle site 2. Download and install Eclipse
  • 35. Page 34Classification: Restricted Download latest JDK from Oracle site • "JDK" or "JRE"? JRE (Java Runtime) is needed for running Java programs. JDK (Java Development Kit), which includes JRE plus the development tools (such as compiler and debugger), is need for writing as well as running Java programs. Since you are supposed to write Java Programs, you should install JDK, which includes JRE. • To download and install JDK follow the steps in the following slides.
  • 36. Page 35Classification: Restricted Download latest JDK from Oracle site – Step 0 Step 0: Un-Install Older Version(s) of JDK/JRE • I recommend that you install only the latest JDK. Although you can install multiple versions of JDK concurrently, it is messy. • If you have previously installed older version(s) of JDK/JRE, un-install ALL of them. Goto "Control Panel" ⇒ "Program and Features" ⇒ Un-install ALL programs begin with "Java", such as "Java SE Development Kit ...", "Java SE Runtime ...", and etc.
  • 37. Page 36Classification: Restricted Download latest JDK from Oracle site – Step 1 Step 1: Download JDK 1. Goto Java SE download site @ http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. Under "Java Platform, Standard Edition" ⇒ "Java SE 8u{xx}", where {xx} is the latest update number ⇒ Click the "JDK Download" button. 3. Check "Accept License Agreement". 4. Choose your operating platform, e.g., "Windows x64" (for 64-bit Windows OS) or "Windows x86" (for 32-bit Windows OS). You can check whether your Windows OS is 32-bit or 64-bit via "Control Panel" ⇒ "System" ⇒ Under "System Type".
  • 38. Page 37Classification: Restricted Download latest JDK from Oracle site – Step 2 Step 2: Install JDK and JRE 1. Run the downloaded installer (e.g., "jdk-8u{xx}-windows-x64.exe"), which installs both the JDK and JRE. By default, the JDK will be installed in directory "C:Program FilesJavajdk1.8.0_xx", where xx denotes the latest upgrade number; and JRE in "C:Program FilesJavajre1.8.0_xx". 2. For novices, accept the defaults. Follow the screen instructions to install JDK and JRE. 3. Check the JDK installed directory by inspecting these folders using File Explorer. Take note of your JDK installed directory, which you will need in the next step. 4. I shall refer to the installation directory as <JAVA_HOME>
  • 39. Page 38Classification: Restricted Download latest JDK from Oracle site – Step 3 Step 3: Include JDK's "bin" Directory in the PATH Windows OS searches the current directory and the directories listed in the PATH environment variable for executable programs. JDK's programs (such as Java compiler javac.exe and Java runtime java.exe) reside in directory "<JAVA_HOME>bin" (where <JAVA_HOME> denotes the JDK installed directory). You need to include "<JAVA_HOME>bin" in the PATH to run the JDK programs. To edit the PATH environment variable in Windows XP/Vista/7/8/10: 1. Launch "Control Panel" ⇒ "System" ⇒ Click "Advanced system settings". 2. Switch to "Advanced" tab ⇒ "Environment Variables". 3. Under "System Variables", scroll down to select "Path" ⇒ "Edit...". 4. (CAUTION: Read this paragraph 3 times before doing this step! There is no UNDO) For Windows 10: You see a table listing the existing PATH entries. Click "New" ⇒ Enter the JDK's binary directory "c:Program FilesJavajdk1.8.0_xxbin" (Replace xx with your installation's upgrade number!!!) ⇒ Select "Move Up" to move it all the way to the top. Prior to Windows 10: In "Variable value" field, INSERT "c:Program FilesJavajdk1.8.0_xxbin" (Replace xx with your installation upgrade number!!!) IN FRONT of all the existing directories, followed by a semi-colon (;) which separates the JDK's binary directory from the rest of the existing directories. DO NOT DELETE any existing entries; otherwise, some existing applications may not run.
  • 40. Page 39Classification: Restricted Download latest JDK from Oracle site – Step 4 Step 4: Verify the JDK Installation Launch a CMD shell (Click "Start" button ⇒ run... ⇒ enter "cmd"; OR from "Start" button ⇒ All Programs ⇒ Accessories ⇒ Command Prompt). • Issue "path" command to list the contents of the PATH environment variable. Check to make sure that your <JAVA_HOME>bin is listed in the PATH. // Display the PATH entries prompt> path PATH=c:Program FilesJavajdk1.8.0_xxbin;[other entries...] Don't type prompt>, which denotes the command prompt!!! Key in the command (highlighted) only. • Issue the following commands to verify that JDK/JRE are properly installed and display their version: // Display the JRE version prompt> java -version java version "1.8.0_xx" Java(TM) SE Runtime Environment (build 1.8.0_xx-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode) // Display the JDK version prompt> javac -version javac 1.8.0_xx
  • 41. Page 40Classification: Restricted Download and Install Eclipse • Download Eclipse from: http://www.eclipse.org/downloads/packages/release/Neon/2 * Neon is the latest Eclipse release as of today. You can download the latest Eclipse release. • To install, all you have to do is extract the zip folder. • While starting Eclipse, choose a workspace to store all your project files. • Once Eclipse is launched, point it to the JDK you installed earlier Preferences -> Java -> Installed JRE's
  • 42. Page 41Classification: Restricted Java & JEE Fast Track Training – Day 1 Agenda • Introduction to Java • History of Java • Salient Features of Java • Setting up Environment for Java development • Object Oriented Programming Concepts
  • 43. Java Language Fundamentals – OOP Fundamentals
  • 44. Page 43Classification: Restricted JAVA FUNDAMENTALS • Quick review of some important concepts • History of Java • JDK and JRE • Byte Code and JVM (Java Virtual Machine) • Platform Independence • Applications and Applets • Principles of Object Oriented Programming • First Java Application
  • 45. Page 44Classification: Restricted History of Java - Milestones • 1990 Sun Microsystems decided to develop special software that could be used to manipulate consumer electronic devices. A team of Sun Microsystems programmers headed by James Gosling was formed to undertake this task. • 1991 After exploring the possibility of most Object Oriented Programming Language C++, the team announced a new language named “Oak”. • 1992 The team, known as a Green Project team by Sun, demonstrated the application of their new language to control a list of home appliances using a hand-held device with a tiny touch sensitive screen. • 1993 The World Wide Web(WWW) appeared on the internet and transformed the text- based Internet into a Graphical-rich environment. The green Project team came up with the idea of developing Web Applets(tiny programs) using the new language that could run on all types of computers connected to Internet. • 1994 The team developed a web browser called “Hot Java” to locate and run applet programs on Internet. Hot Java demonstrated the power of the new language, thus making it instantly popular among the Internet users. • 1995 Oak was named “Java”, due to some legal snags. Java is just a name and is not an acronym. Many popular companies including Netscape and Microsoft announce to their support to Java. • 1996 Java established itself not only a leader for Internet Programming but also as a general-purpose, object oriented programming language. Java found its home.
  • 46. Page 45Classification: Restricted Java - Features The most striking feature of the language is that it is a platform-neutral language. Java is a first programming language that is not tied to any particular hardware or operating system. Features of Java : • Compiled and Interpreted. • Platform-Independent and Portable • Object-Oriented • Robust and Secure • Distributed • Familiar, Simple and Small • Multithreaded and Interactive • High Performance • Dynamic and Extensible
  • 47. Page 46Classification: Restricted JDK & JRE Java Environment includes a large number of development tools and hundreds of classes and methods. The development tools are part of the system known as Java Development Kit(JDK) and the classes and methods are part of the Java Standard Library (JSL), also known as the Application Programming Interface (API). JDK : Java Development Kit comes with a collection of tools that are used for developing and running Java Programs. They include : appletviewer-> Enables us to run Java Applets (Without using java compatible browser) Java Java Interpreter, which runs applets and applications by reading and interpreting bytecode files. Javac The Java compiler, which translates Java source code to byte code files that the interpreter understad. Javadoc Creates HTML-format documentation from Java source code files. Javah Produces header files for use with native methods. javap Java disassembler, which enables us to convert bytecode files into a program description. Jdb Java debugger, which helps us to find errors in our programs.
  • 48. Page 47Classification: Restricted Byte Code & JVM(Java Virtual Machine) Since platform-independence is a defining characteristic of Java, it is important to understand how it is achieved. Programs exist in two forms; source code and object code. Source Code is the textual version of the program that you write using a text editor. The programs printed in a book are shown as source code. The executable form of a program is object code. The computer can execute object code. Typically, object code is specific to a particular CPU. Therefore, it cannot be executed on a different platform. Java removes this feature in a very elegant manner. Like all computer languages, a java program begins with its source code. The difference is what happens when a Java program is compiled. Instead of producing executable code, the Java Compiler produces an object file that contains bytecode. Bytecodes are instructions that are not for any specific CPU. Instead, they are designed to be interpreted by a Java Virtual Machine (JVM). The key to Java’s platform-independence comes from the fact that the same bytecodes can be executed by any JVM on any platform. As long as there is a JVM implemented for a a given environment, it can run any Java program. For example, Java programs can execute under Windows 98,Solaris,IRIX, or any other platform for which a JVM can be implemented for that platform. This would then allow any Java program to execute in that new environment.
  • 49. Page 48Classification: Restricted Platform Independent Compilation is the process of converting the code that you type into a language that the computer understands-machine language. When you compile a program, the compiler checks for syntactical errors in code and lists all the errors on the screen. You have to rectify the errors and recompile the program to get the machine language code. The Java compiler compiles the code to bytecode that is understood by the Java environment. The bytecode is the result of compiling a Java program. You can execute this code on any platform. In other words, due to the bytecode compilation process and interpretation by a browser, Java programs can be executed on a variety of hardware and operating systems. The only requirement is that the system should have a java-enabled Internet browser. The java compiler is written in Java, and the interpreter is written in C. The Java Interpreter can execute Java Code directly on any machine on which a Java interpreter has been installed.
  • 50. Page 49Classification: Restricted Java CompilerJava Program Java Interpreter Machine Code Virtual Machine Bytecode Source Code Bytecode Virtual Machine Real Machine Process of Compilation Process of Converting bytecode into machine code Java Compiler and Interpreter
  • 51. Page 50Classification: Restricted Application and Applets There are two types of programs that can be built in Java Applications and applets. Applications can be directly executed by a JVM. In fact, Java can be used to develop programs for all kinds of applications, Hot Java itself is a Java Application program. Applets are small Java programs developed for Internet Applications. An applet located on distant computer (Server) can be downloaded via Internet and executed on a local computer (Client) using a Java enabled browser. We can develop applets for doing everything from simple animated graphics to complex games and utilities. Since applets are embedded in an HTML document and run inside a Web Page, creating and running applets are more complex than creating application. Stand alone program can read and write files and perform certain operations that applet can not do. An Applet can only run within a Web Browser. The Web browser includes a JVM that provides an execution environment for the applet. It is also possible to use a tool called the appletviewer to run an applet. This utility is included in the Java Development Kit(JDK) and is used to test applets. In this manner, an applet written by any developer in the world may be dynamically downloaded from the Web Server and executed on a client PC or workstation.
  • 52. Page 51Classification: Restricted Java Source Code Java Bytecode Java Enabled Browser Java Interpreter Output Output Application Type Applet Type
  • 53. Page 52Classification: Restricted Principles of Object Oriented Programming Object Oriented Programming (OOP) attempts to emulate the real world in software systems. The real world consists of objects, categorized in classes. In Object Oriented Programming, classes have attributes, represented by data member. The attributes distinguish an object of the class. Classes have behaviors, which are represented by methods. The methods define how an object acts or reacts. Features of Object Oriented Programming : Information Encapsulation(Hiding) :- Objects provide the benefit of information hiding. Electrical wiring in a television should not be tempered with, and therefore should be hidden from the user. Object Oriented programming allows you to encapsulate data that you do not want users of the object to access. Typically, attributes of a class are encapsulated. Abstraction :- Abstraction allows us to focus on only those parts of an object that concern us. Person operating the television does not need to know the intricacies of how it works. The person just needs to know how to switch it on, change channels, and adjust the volume. All the details that are unnecessary to users are encapsulated, leaving only a simple interface to interact with. Providing users with only what they need to know is known as abstraction. i.e. Abstraction lets us ignore the irrelevant details and concentrate on the essentials.
  • 54. Page 53Classification: Restricted Inheritance :- Inheritance is the process by which objects of one class acquire the properties of objects of another class. Inheritance supports the concept of hierarchical classification. In OOP, the concept of inheritance provides the idea of reusability. This means that we can add additional features to an existing class without modifying it. This is possible by deriving a new class from the existing one. The new class will have the combined features of both the classes. Polymorphism :- Polymorphism means “One Interface, multiple implementations.” Shape Ellipse Rectangle Triangle The class Shape defines a method called getArea() that returns the area of a shape. However, this method is not implemented by that class. Therefore, it is an abstract method and Shape is an abstract class. This means that no objects of class Shape can be created. However, the functionality of that class can be inherited by its subclass. The various subclasses of Shape like Ellipse, Rectangle, Triangle do implement the getArea() method. Principles of Object Oriented Programming
  • 55. Page 54Classification: Restricted First Java Application Create the File The first step to create the HelloWorld application is to copy the text below into a file called HelloWorld.java using your favorite text editor. It is very important to call the file HelloWorld.java, because the compiler expects the file name to match the class identifier
  • 56. Page 55Classification: Restricted Class Declaration The first line public class HelloWorld declares a class, which is an Object-Oriented construct. As stated earlier Java is true Object-Oriented language and therefore, everything must be placed inside a class. Class is a keyword and declares that a new class definition follows. Opening Brace Every class definition in Java begins with an opening brace “{“ and ends with a matching closing brace “}”, appearing in the last line in the example. The main() method Every java application program must include the main() method. This is starting point for the interpreter to begin the execution of the program. A Java application can have any number of classes but only one of them must include a main method to initiate the execution. Public : The Keyword public is an access specifier that declares the main method as unprotected and therefore making it to accessible to all other classes. Static : The keyword static which declares this method as one that belongs to the entire Class and not a part of any Objects of the class. First Java Application
  • 57. Page 56Classification: Restricted The main must always be declared be declared as static since the interpreter uses this method before any objects are created. Void : The type modifier void states that the main method does not return any value. All parameters to a method are declared inside a pair of parentheses. Here, String args[] declares a parameter named args, which contains an array of objects Of the class type String. The Output Line The only executable Statement in the program is System.out.println("Hello World!!"); Since Java is a true Object Oriented Language, every method must be part of an Object. The println method is a member of the out Object, which is static data Member of the System class. This line prints Hello World!! to the screen. The method println always appends a newline character to the end of the string. First Java Application
  • 58. Page 57Classification: Restricted Compile the Code To compile the program, you need to first install the JDK. Then, use the program javac included with the JDK to convert the text to code which the computer can run. To run javac, on a Macintosh drag the source file over the javac icon. On any other computer, type the line: at a command prompt. javac HelloWorld.java The javac program creates a file called HelloWorld.class from the HelloWorld.java file. Inside this file (HelloWorld.class) is text known as bytecodes which can be run by the Java interpreter. Run the Program Now that you have compiled the program, you can run it by typing at the command prompt: java HelloWorld After you do this, the computer should print to the screen Hello World!! That may not seem very interesting, but then it's a simple program. If you don't see the Hello World!! on the screen, go back and make sure you have typed in the file exactly as shown, and make sure that you called the file HelloWorld.java. First Java Application
  • 59. Page 58Classification: Restricted JAVA CONTROLS • Variables and Constants • Arithmetic Operator and Expressions • Type Conversion in Java • Comments in Java(3 Types) • Java’s Control Statements • If • If-else • Do-while • While • for • Increment and Decrement Operators • Escape Sequences Characters • Relational and Logical Operators • Ternary Operators • Switch case • Break • Bitwise Operators • Arrays-Single and Multidimensional
  • 60. Page 59Classification: Restricted Variables and Constants in Java Constants: Constant “literals” in Java refer to fixed values that do not change during the execution of a program. Java supports several types of constants given in figure below : Integer Constants: Refers to a sequence of digits. There are three types of Integers, namely, decimal, octal and hexadecimal integer. Decimal Integer consist of a set of digits, 0 through 9, preceded by an optional minus sign. An octal integer constant consists of any combination of digits from the set 0 through 7, with a leading 0. A sequence of digits preceded by ox or OX is considered as hexadecimal integer. They may also include alphabets A through F. Integer
  • 61. Page 60Classification: Restricted Real Constants: Integer constant are inadequate to represent quantities that vary continuously, such as distance, heights, temperature, prices and so on. These quantities are represented by numbers containing fractional parts like 17.546. Such numbers are called real. The real number may also be expressed in exponential (or scientific ) notation. For example, the value 215.65 may be written as 2.1565e2 in exponential notation. e2 means multiply by 102. The general form is : mantissa e exponent mantissa is either a real number expressed in decimal notation or an integer. The exponent is an integer with an optional plus or minus sign. The letter e separating the mantissa and the exponent can be written in either lowercase or uppercase. Since the exponent causes the decimal point to “float”, this notation is said to represent a real number in floating point form. Variables and Constants
  • 62. Page 61Classification: Restricted Single Character Constants: A single character constant (or simply character constant ) contains a single character enclosed within a pair of single quote marks. Examples of character constants are : ‘5’ ‘X’ ‘;’ String Constant: A string constant is a sequence of characters enclosed between double quotes. The characters may be alphabets, digits, special characters and blank spaces. Example are : “Hello Java” “1997” * Constants in Java are not directly supported. Then how do you declare constants? Variable: A variable is an Identifier that denotes a storage location used to store a data value. Unlike constants that remain unchanged during the execution of program. Examples of variables : average,height,total_height. Variable name may consist of alphabets, digits, the underscore(_) and dollar characters. Rules to write Variable/Identifier in Java : • They must not begin with digit • Upper and lowercase are distinct. This means that the variable Total is not the same as total or TOTAL. • It should not be a keyword. • White space is not allowed. • Variable names can be of any length. Variables and Constants in Java
  • 64. Page 63Classification: Restricted The Java integer primitive types. Type Bit Size Minimum Value Maximum Value byte 8 -128 +127 short 16 -32,768 32,767 int 32 -2,147,483,648 2,147,483,647 long 64 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 Integer literals can be specified in decimal, hexadecimal, or octal notation. To specify a decimal value, simply use the number as normal. To indicate that a literal value is a long, you can append either "L" or "l" to the end of the number. Hexadecimal values are given in base 16 and include the digits 0-9 and the letters A-F. To specify a hexadecimal value, use 0x followed by the digits and letters that comprise the value. Similarly, an octal value is identified by a leading 0 symbol. Integer Primitive Type
  • 65. Page 64Classification: Restricted Integer Long Octal Hexadecimal 0 0L 0 0x0 1 1L 01 0x1 10 10L 012 0xA 15 15L 017 0XF 16 16L 020 0x10 100 100L 0144 0x64 Floating-Point Types Support for floating-point numbers in Java is provided through two primitive types-float and double, which are 32- and 64-bit values, respectively. Similar to integer literals are Java's floating-point literals. Floating-point literals can be specified in either the familiar decimal notation (for example, 3.1415) or exponential notation (for example, 6.02e23). To indicate that a literal is to be treated as a single precision float, append either "f" or "F". To indicate that it is to be treated as a double precision value, append either "d" or "D". Java includes predefined constants, POSITIVE_INFINITY, NEGATIVE_INFINITY, and NaN, to represent the infinity and not-a-number values. The following list shows some valid floating-point literals: 43.3F,3.1415d,-12.123f,6.02e+23f,6.02e23d,6.02e-23f,6.02e23d Integer Primitive Type Examples
  • 66. Page 65Classification: Restricted Support for floating-point numbers in Java is provided through two primitive types- float and double, which are 32- and 64-bit values, respectively. Similar to integer literals are Java's floating-point literals. Floating-point literals can be specified in either the familiar decimal notation (for example, 3.1415) or exponential notation (for example, 6.02e23). To indicate that a literal is to be treated as a single precision float, append either "f" or "F". To indicate that it is to be treated as a double precision value, append either "d" or "D". Java includes predefined constants, POSITIVE_INFINITY, NEGATIVE_INFINITY, and NaN, to represent the infinity and not-a-number values. The following list shows some valid floating-point literals: 43.3F,3.1415d,-12.123f,6.02e+23f,6.02e23d,6.02e-23f,6.02e23d Floating Point Types
  • 67. Page 66Classification: Restricted Boolean :- Java supports two Boolean literals-true and false. Character Literals :-A character literal is a single character or an escape sequence enclosed in single quotes, for example, 'b'. Escape sequences are used to indicate special characters or actions, such as line feed, form feed, or carriage return. String Literals Although there is no string primitive type in Java, you can include string literals in your programs. Most applications and applets will make use of some form of string literal, probably at least for error messages. A string literal consists of zero or more characters (including the escape sequences shown in Table 3.8) enclosed in double quotes. As examples of string literals, consider the following: "A String“,"Column 1tColumn 2” Boolean and Character Literals
  • 68. Page 67Classification: Restricted Sequence Purpose b Backspace t Horizontal tab n Line feed f Form feed r Carriage return " Double quote ' Single quote Backslash uxxxx Unicode character Escape Sequences