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

Introduction to Java Part-2

  • 1.
  • 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 EuropeanAgricultural Revolution: 1700 onwards
  • 4.
  • 5.
    Page 4Classification: Restricted Evolutionof Computer Science – initially based on mechanical systems
  • 6.
    Page 5Classification: Restricted Apoint 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 Apoint 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 BuildingBlocks of a Basic Modern Computer System • Based on von Neumann architecture • John von Neumann was a Hungarian computer scientist. 2
  • 9.
    Page 8Classification: Restricted Apoint to ponder… • Ok, so the CPU is the brain of the computer system. Then why do I need an OS?
  • 10.
    Page 9Classification: Restricted Apoint 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 Apoint 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 Apoint 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 Apoint 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 Apoint 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 TheCompilation 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 Historyof 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 TheIssue 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 TheCompilation 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 JavaVirtual 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 Issueof 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 Issueof 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 FeaturesOf 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 FeaturesOf Java • Object-Oriented –Forces the programmer to use the classes and object –Class • Member variables( data ) and member functions ( methods )
  • 24.
    Page 23Classification: Restricted FeaturesOf 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 FeaturesOf Java • Architectural Neutral and Interpreted –compiler generates bytecodes –Easy to interpret on any machine –“Write once and run anywhere WORA”
  • 27.
    Page 26Classification: Restricted FeaturesOf Java • Powerful –Networking –Threads –Distributed Objects –Database Access –Graphics –Data structure library –Serialization –Digital Signatures
  • 28.
    Page 27Classification: Restricted FeaturesOf Java • Java is Popular
  • 29.
    Page 28Classification: Restricted FeaturesOf Java • Distributed –Supports TCP/IP –Remote Method Invocation (RMI) –Web Services
  • 30.
    Page 29Classification: Restricted Featuresof Java • Multi-Threaded –Parallel processing to improve the performance of certain types of programs
  • 31.
  • 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 environmentfor Java Development
  • 34.
    Page 33Classification: Restricted Stepsfor Environment Setup 1. Download and install latest JDK from Oracle site 2. Download and install Eclipse
  • 35.
    Page 34Classification: Restricted Downloadlatest 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 Downloadlatest 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 Downloadlatest 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 Downloadlatest 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 Downloadlatest 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 Downloadlatest 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 Downloadand 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 JAVAFUNDAMENTALS • 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 Historyof 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 ByteCode & 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 PlatformIndependent 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 JavaCompilerJava 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 Applicationand 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 JavaSource Code Java Bytecode Java Enabled Browser Java Interpreter Output Output Application Type Applet Type
  • 53.
    Page 52Classification: Restricted Principlesof 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 FirstJava 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 ClassDeclaration 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 Themain 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 Compilethe 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 JAVACONTROLS • 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 Variablesand 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 RealConstants: 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 SingleCharacter 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
  • 63.
  • 64.
    Page 63Classification: Restricted TheJava 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 IntegerLong 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 Supportfor 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 SequencePurpose b Backspace t Horizontal tab n Line feed f Form feed r Carriage return " Double quote ' Single quote Backslash uxxxx Unicode character Escape Sequences
  • 69.