Difference between revisions of "Java"

From Script | Spoken-Tutorial
Jump to: navigation, search
(Basic Level)
(Intermediate Level)
 
(38 intermediate revisions by 6 users not shown)
Line 5: Line 5:
 
This set of tutorials will cover features and usage of Java version 1.6.x  Please see the associated text box of individual spoken tutorials on the website to decide the versions of Java and OS to which it is applicable.  
 
This set of tutorials will cover features and usage of Java version 1.6.x  Please see the associated text box of individual spoken tutorials on the website to decide the versions of Java and OS to which it is applicable.  
  
The Spoken Tutorial Effort for Java is contributed jointly by '''TalentSprint, Hyderabad''' and the '''Spoken Tutorial Team, IIT Bombay'''. Other contributors who helped in the creation of the scripts are ............  
+
The Spoken Tutorial Effort for Java is contributed jointly by '''TalentSprint, Hyderabad''' and the '''Spoken Tutorial Team, IIT Bombay'''. Other contributors who helped in the creation of the scripts are Prathamesh Salunke, Arya Ratish, Ashwini Patil.
 +
 
 +
'''Learners''':  UG/PG CSE/IT/CS students.
  
 
<blockquote style="background-color: lemonchiffon; border: solid thin grey;">
 
<blockquote style="background-color: lemonchiffon; border: solid thin grey;">
[[Media:JavaTemplate.zip | Java Slide Template]]  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 
 
[[Glossary_for_Java | Glossary]]
 
[[Glossary_for_Java | Glossary]]
 
</blockquote>
 
</blockquote>
Line 14: Line 15:
 
__TOC__
 
__TOC__
  
= Java Spoken Tutorials - Outline =
+
== Basic Level==
= Introduction to Java =
+
= 1. Getting started with Java – installation =
+
* Install jdk from Synaptic Package Manager
+
* Choose openjdk-6-jdk from the list of packages available
+
* Mark it for installation
+
* The installation will take a few seconds
+
* Verify the installation
+
* At the command prompt type java -version, so the version number of the jdk will be displayed
+
* Run a simple java program and see if it works
+
* Type javac TestProgram.java for compiling the code and java TestProgram for executing the code
+
  
2. Java - First program
+
:'''Introduction to Java'''
 
+
#Getting started with Java – installation
* write simple java program  
+
#* Install jdk from Synaptic Package Manager
* print “My First Java Program!” on Console
+
#* Choose openjdk-6-jdk from the list of packages available
* save the file
+
#*Mark it for installation
* file name given to the java file
+
#*The installation will take a few seconds
* compile the file
+
#*Verify the installation
* run the file
+
#*At the command prompt type java -version, so the version number of the jdk will be displayed
* correct the errors
+
#*Run a simple java program and see if it works
* naming conventions for class
+
#*Type javac TestProgram.java for compiling the code and java TestProgram for executing the code
* naming conventions for method
+
#Java - First program
* naming conventions for variable  
+
#*write simple java program  
 
+
#*print “My First Java Program!” on Console
= Eclipse =
+
#*save the file
= 3. Installing Eclipse =
+
#*file name given to the java file
* Install Eclipse on Ubuntu on the Terminal
+
#*compile the file
* Set up the proxy on the Terminal  
+
#*run the file
* Then fetch the list of all the available softwares
+
#*correct the errors
* Type sudo apt-get update
+
#*naming conventions for class
* Then install eclipse on the Terminal
+
#*naming conventions for method
* Type sudo apt-get install eclipse
+
#*naming conventions for variable
* Verify if Eclipse is installed on the system
+
#:<br>
* Installing Eclipse on Debian,Kubuntu,Xubuntu
+
#:'''Eclipse'''
* Installing Eclipse on Redhat  
+
#Installing Eclipse  
* Installing Eclipse on Fedora,centos and suse linux
+
#*Install Eclipse on Ubuntu on the Terminal
 
+
#*Set up the proxy on the Terminal  
4. Getting started with Eclipse
+
#*Then fetch the list of all the available softwares
 
+
#*Type sudo apt-get update
* Eclipse is an Integrated Development Environment
+
#*Then install eclipse on the Terminal
* It is a tool on which one can write, debug and run java programs easily
+
#*Type sudo apt-get install eclipse
* Open Dash Home and type Eclipse in the search box.
+
#*Verify if Eclipse is installed on the system
* We get Workspace Launcher
+
#*Installing Eclipse on Debian,Kubuntu,Xubuntu
* On clicking on Workbench we get the Eclipse IDE
+
#*Installing Eclipse on Redhat  
* Go to File->New->Project and select Java Project
+
#*Installing Eclipse on Fedora,centos and suse linux
* Create a project named EclipseDemo and create a class inside DemoClass
+
#Getting started with Eclipse
* Learn about Package Explorer and Editor portlet
+
#*Eclipse is an Integrated Development Environment
* Add the println statement in<br/>
+
#*It is a tool on which one can write, debug and run java programs easily
 
+
#*Open Dash Home and type Eclipse in the search box.
 
+
#*We get Workspace Launcher
5. Hello World Program
+
#*On clicking on Workbench we get the Eclipse IDE
 
+
#*Go to File->New->Project and select Java Project
* Open Eclipse
+
#*Create a project named EclipseDemo and create a class inside DemoClass
* Create a Java Project named DemoProject
+
#*Learn about Package Explorer and Editor portlet
* Create a class named DemoClass
+
#Hello World Program
* Class name and file name will be the same
+
#*Open Eclipse
* Eclipse suggests various possibilities as we type a command
+
#*Create a Java Project named DemoProject
* Eclipse also completes the parentheses by automatically adding the closing parentheses
+
#*Create a class named DemoClass
* Include the statement that we want to print
+
#*Class name and file name will be the same
* Eclipse also completes the quotes by adding the closing quote
+
#*Eclipse suggests various possibilities as we type a command
* Compile and execute the program
+
#*Eclipse also completes the parentheses by automatically adding the closing parentheses
* Change the code to print<br/>  
+
#*Include the statement that we want to print
 
+
#*Eclipse also completes the quotes by adding the closing quote
 
+
#*Compile and execute the program
6. Errors and Debugging
+
#*Change the code to print<br/>  
 
+
#Errors and Debugging
* When writing a Java Program, here is a list of typical errors:
+
#*When writing a Java Program, here is a list of typical errors:
* Missing semicolon(;)
+
#*Missing semicolon(;)
* Missing double quotes(".")
+
#*Missing double quotes(".")
* Mis-match of filename and classname
+
#*Mis-match of filename and classname
* Typing the print statement n lower case
+
#*Typing the print statement n lower case
* The line which has the error will be indicated with a red cross mark on the left margin
+
#*The line which has the error will be indicated with a red cross mark on the left margin
* The list of errors is displayed by hovering the mouse over the cross mark
+
#*The list of errors is displayed by hovering the mouse over the cross mark
* Create a class ErrorFree with Errors, debug the code and run it
+
#*Create a class ErrorFree with Errors, debug the code and run it
* Eclipse also offers intelligent fixes<br/>  
+
#*Eclipse also offers intelligent fixes<br/>  
 
+
#Programming features of Eclipse
 
+
#*Auto completion
7. Programming features of Eclipse
+
#*Sets the corresponding closing brace when we open the brace
 
+
#*Provides a drop-down list of methods when you start typing the code.
* Auto completion
+
#*Syntax highlighting
* Sets the corresponding closing brace when we open the brace
+
#*Classname is highlighted in pink color and method in blue color.
* Provides a drop-down list of methods when you start typing the code.
+
#*Keyboard shortcuts
* syntax highlighting
+
#*F11 to debug a program and Ctrl plus H to search a specific file.
* classname is highlighted in pink color and method in blue color.
+
#*Error highlighting
* keyboard shortcuts
+
#*Cross symbol in the program denotes errors
* F11 to debug a program and Ctrl plus H to search a specific file.
+
#*Remove semicolon and error details are displayed when mouse is hovered over cross symbol.
* error highlighting
+
#:<br>
* cross symbol in the program denotes errors
+
#:'''Fundamental Programming Structures in Java'''
* Remove semicolon and error details are displayed when mouse is hovered over cross symbol.
+
#Numerical datatypes
 
+
#*Define datatypes and numerical datatypes
= The Java Programming language -- Basic Level =
+
#*int
== Fundamental Programming Structures in Java ==
+
#*float
8. Numerical datatypes
+
#*byte
 
+
#*short
* define datatypes and numerical datatypes
+
#*long
* int
+
#*double
* float
+
#*range of each numerical datatypes
* byte
+
#*declaration and initializationof numerical datatypes.
* short
+
#*valid and invalid declaration
* long
+
#Arithmetic Operations
* double
+
#*Define an operator
* range of each numerical datatypes
+
#*Define arithmetic operators
* declaration and initializationof numerical datatypes.
+
#*addition
* valid and invalid declaration
+
#*subtraction
 
+
#*multiplication
9. Arithmetic Operations
+
#*division
 
+
#*modulo
* define an operator
+
#*simple program to demonstrate arithmetic operators
* define arithmetic operators
+
#*appropriate datatypes for appropriate values
* addition
+
#*save, compile and run the program<br/>  
* subtraction
+
#Strings
* multiplication
+
#*char datatype
* division
+
#*letter, digit, punctuation marks, '''tab''', or a space are all characters.
* modulo
+
#*Program explaining the variable and the character data.
* simple program to demonstrate arithmetic operators
+
#*Introduction to strings
* appropriate datatypes for appropriate values
+
#*Creating string by Direct Initialization
* save, compile and run the program<br/>  
+
#*Creating string by using new operator
 
+
#*String length()
 
+
#*String concat()
10. Strings
+
#*String toUpperCase()
 
+
#*String toLowerCase()<br/>  
* char datatype
+
#Primitive type conversions
* letter, digit, punctuation marks, '''tab''', or a space are all characters.
+
#*define type conversion or type casting
* Program explaining the variable and the character data.
+
#*higher order integer to lower order integer- Explicit type casting
* Introduction to strings
+
#*program to show explicit type casting
* Creating string by Direct Initialization
+
#*common mistake in explicit type casting.
* Creating string by using new operator
+
#*program to show common mistake in explicit type casting
* String length()
+
#*lower order integer to higher order integer – Implicit type casting
* String concat()
+
#*program to show implicit type casting
* String toUpperCase()
+
#*char to integer
* String toLowerCase()<br/>  
+
#*integer to char
 
+
#*program to show char to int type casting.
 
+
#:<br>
11. Primitive type conversions
+
#:'''Control flow'''
 
+
#Relational Operations
* define type conversion or type casting
+
#*boolean datatype
* higher order integer to lower order integer- Explicit type casting
+
#*equal to and not equal to
* program to show explicit type casting
+
#*less than and less than or equal to
* common mistake in explicit type casting.
+
#*greater than and greater than or equal to<br/>  
* program to show common mistake in explicit type casting
+
#Logical Operations
 
+
#*use of logical operators
* lower order integer to higher order integer – Implicit type casting
+
#*and (&&) operator
* program to show implicit type casting
+
#*example to explain '''and''' operator
* char to integer
+
#*program to demonstrate '''and''' operator
* integer to char
+
#*or (||) operator
* program to show char to int type casting.
+
#*example to explain '''or '''operator
 
+
#*program to demonstrate '''or '''operator
== Control flow ==
+
#*not (!) operator
12. Relational Operations
+
#*program to demonstrate '''or '''operator
 
+
#*save, compile and run the programs<br/>  
* bool datatype
+
#if else construct
* equal to and not equal to
+
#*Conditional Statements and types of Conditional Statements
* less than and less than or equal to
+
#*Use of if statement
* greater than and greater than or equal to<br/>  
+
#*Syntax for if statement
 
+
#*Program using if statement
 
+
#*Use of if else statement
13. Logical Operations
+
#*Syntax for if else statement
 
+
#*Program using if else statement
* use of logical operators
+
#*Use of if else if statement
* and (&&) operator
+
#*Syntax for if else if statement
* example to explain '''and''' operator
+
#*Program using if else if statement<br/>  
* program to demonstrate '''and''' operator
+
#nested if and ternary operator
* or (||) operator
+
#*explain nested if
* example to explain '''or '''operator
+
#*nested if syntax
* program to demonstrate '''or '''operator
+
#*program to demonstrate nested if
* not (!) operator
+
#*explain the control flow of the program
* program to demonstrate '''or '''operator
+
#*explain ternary operator
* save, compile and run the programs<br/>  
+
#*syntax for ternary operator
 
+
#*explain the syntax
 
+
#*program to demonstrate ternary operator
14. if else construct
+
#*comparison between ternary operator and nested if
 
+
#*save, compile and run the program<br/>  
* Conditional Statements and types of Conditional Statements
+
#switch statement
* Use of if statement
+
#*define switch case statement
* Syntax for if statement
+
#*compare switch and nested if
* Program using if statement
+
#*switch case syntax
* Use of if else statement
+
#*working of a switch case statement
* Syntax for if else statement
+
#*use of keyword switch
* Program using if else statement
+
#*valid and invalid use of keyword '''case'''
* Use of if else if statement
+
#*use of keyword default
* Syntax for if else if statement
+
#*use of keyword break
* Program using if else if statement<br/>  
+
#*program to demonstrate switch case statement
 
+
#*save, compile and run the program to check the output
 
+
#while loop
15. nested if and ternary operator
+
#*Loop control statement  
 
+
#*types of loop control statements
* explain nested if
+
#*Introduction to while loop
* nested if syntax
+
#*syntax of while loop
* program to demonstrate nested if
+
#*Program using while loop
* explain the control flow of the program
+
#*Check the output.
* explain ternary operator
+
#*Introduction to infinite loop
* syntax for ternary operator
+
#*loop variable modification
* explain the syntax
+
#*Check the output
* program to demonstrate ternary operator
+
#*How to terminate the infinite loop<br/>  
* comparison between ternary operator and nested if
+
#for loop
* save, compile and run the program<br/>  
+
#*syntax
 
+
#*introduction to for loop
 
+
#*for loop syntax
16. switch statement
+
#*loop vaiable
 
+
#*loop condition
* define switch case statement
+
#*loop variable increment or decrement
* compare switch and nested if
+
#* loop block
* switch case syntax
+
#*flow of loop
* working of a switch case statement
+
#*advantage of using loop
* use of keyword switch
+
#do while loop
* valid and invalid use of keyword '''case'''
+
#*define do while  
* use of keyword default
+
#*do while syntax
* use of keyword break
+
#*working of do while loop
* program to demonstrate switch case statement
+
#*example of do while loop
* save, compile and run the program to check the output
+
#*explain the do while programming
 
+
#*save, compile and run the program to check the output  
17. while loop
+
#*how different is it from the while loop
 
+
#*program to demonstrate the differences
* Loop control statement  
+
#:<br>
* types of loop control statements
+
#:'''Arrays'''
* Introduction to while loop
+
#Introduction to Arrays
* syntax of while loop
+
#*About Arrays
* Program using while loop
+
#*Declare an Array
* Check the output.
+
#*Initialize an array
* Introduction to infinite loop
+
#*Intilalization using for loop
* loop variable modification
+
#*Index of an array elements
* Check the output
+
#*change values of an array
* How to terminate the infinite loop<br/>  
+
#*print the value of an array
 
+
#*Advantage of an array.
 
+
#Array operations
18. for loop
+
#*import java.util.Arrays
 
+
#*use methods from class Arrays
* syntax
+
#*toString() method
* loop continuing condition
+
#*sort() method
* loop variable modification<br/>
+
#*fill() method
 
+
#*copyof() method
 
+
#*copyofRange() method
19. do while loop
+
#*about parameters for each method.
 
+
#:'''Classes & Objects''' 
* define do while  
+
#Creating class  
* do while syntax
+
#*Whatever we can see in this world are all objects
* working of do while loop
+
#*Objects can be categorized into groups known as class
* example of do while loop
+
#*This is class in real world
* explain the do while programming
+
#*Human Being is an example of class in real world
* save, compile and run the program to check the output  
+
#*Class in java is the blue print from which individual objects are created
* how different is it from the while loop
+
#*Class consists defines a set of properties called variables and a set of behaviors called methods
* program to demonstrate the differences
+
#*Syntax for creating class
 
+
#*Create a simple class Student using Eclipse
== Arrays ==
+
#*The Student class can contain properties<br/>  
20. Introduction to Arrays
+
#Creating Object
 
+
#*An object is an instance of a class
* What are arrays
+
#*Each object consist of state and behavior
* Types of arrays
+
#*Object stores it state in fields or variables
* How to create arrays
+
#*It exposes its behavior through methods
 
+
#*Reference variables
21. Array operations
+
#*Create a class named TestStudent
 
+
#*Create an object of the Student class
* Accessing array items
+
#*Use new operator
* Checking for bounds
+
#*Check what the reference variable contains
 
+
#*Create one more object of the Student class and check what the reference variable contains
== Classes & Objects ==
+
#Instance fields
== 22. Creating class ==
+
#*Also known as non-static fields
* Whatever we can see in this world are all objects
+
#*Open the TestStudent class which we have created
* Objects can be categorized into groups known as class
+
#*Access the fields roll_number and name using dot operator
* This is class in real world
+
#*See the output
* Human Being is an example of class in real world
+
#*Initialize the field and see the output
* Class in java is the blue print from which individual objects are created
+
#*Change the modifier of the fields to private
* Class consists defines a set of properties called variables and a set of behaviors called methods
+
#*Debug the error that you get
* Syntax for creating class
+
#*Change the modifier to protected
* Create a simple class Student using Eclipse
+
#*Each object of a class will have unique values
* The Student class can contain properties<br/>  
+
#*Create two objects of the Student class  
 
+
#Methods
 
+
#*method definition  
23. Creating Object
+
#*write simple method
 
+
#*method returning value
* An object is an instance of a class
+
#*call a method in another method
* Each object consist of state and behavior
+
#*flow of the program
* Object stores it state in fields or variables
+
#*call a static method
* It exposes its behavior through methods
+
#*call a method from another class
* Reference variables
+
#*method signature
* Create a class named TestStudent
+
#*method body  
* Create an object of the Student class
+
#:<br>
* Use new operator
+
#:'''Constructors'''
* Check what the reference variable contains
+
#Default constructor
* Create one more object of the Student class and check what the reference variable contains
+
#*what is a constructor?
 
+
#*what is a default constructor?
24. Instance fields
+
#*when is it called?
 
+
#*define a constructor
* Also known as non-static fields
+
#*initialize the variables
* Open the TestStudent class which we have created
+
#*call the constructor
* Access the fields roll_number and name using dot operator
+
#*difference between constructor and method<br/>  
* See the output
+
#Parameterized constructors
* Initialize the field and see the output
+
#*What is a parameterized constructor?
* Change the modifier of the fields to private
+
#*create constructor without parameter
* Debug the error that you get
+
#*create a constructor with parameter
* Change the modifier to protected
+
#*assign values to the variables in the constructor
* Each object of a class will have unique values
+
#*pass arguments during the constructor call
* Create two objects of the Student class  
+
#*working of parameterized constructor
 
+
#*show common errors
25. methods
+
#*resolve the errors
 
+
#*create another parameterized constructor
* method definition  
+
#*why to use constructor?
* write simple method
+
#Using this keyword
* method returning value
+
#*this is a reference to the current object
* call a method in another method
+
#*helps to avoid name conflicts
* flow of the program
+
#*we can use this keyword inside a constructor to call another one
* call a static method
+
#*the constructors must be in the same class
* call a method from another class
+
#*explicit constructor invocation
* method signature
+
#*Explain it using the parameterized constructor code
* method body  
+
#*Make this statement the last one in the constructor
 
+
#*You will get an error
== Constructors ==
+
#*this statement should be the first one inside a constructor
# default constructor
+
#Non-static block
 
+
#*Non-static block  
* what is a constructor?
+
#*Any code written between two curly brackets  
* what is a default constructor?
+
#*Executed for each object that is created  
* when is it called?
+
#*Executes before constructor's execution  
* define a constructor
+
#*can initialize instance member variables of the class  
* initialize the variables
+
#*create a class named NonStaticTest  
* call the constructor
+
#*Create a non-static block and a constructor inside it  
* difference between constructor and method<br/>  
+
#*Check the output  
 
+
#*Include multiple non-static blocks  
 
+
#*they will be executed in the sequence in which they appear in the class  
27. parameterized constructors
+
#*Check the output  
 
+
#*Non-static block is not a substitute for constructor
* What is a parameterized constructor?
+
#Constructor Overloading
* create constructor without parameter
+
#*define multiple constructor
* create a constructor with parameter
+
#*what is constructor overloading?
* assign values to the variables in the constructor
+
#*constructor with different number of parameters.
* pass arguments during the constructor call
+
#*parameters with different datatypes.
* working of parameterized constructor
+
#*how is constructor overloaded?
* show common errors
+
#*flow of overloading process.
* resolve the errors
+
#*advantage of constructor overloading.
* create another parameterized constructor
+
#Method Overloading
* why to use constructor?
+
#*define multiple methods.
 
+
#*methods with same name.
28. using this keyword
+
#*methods with different number of parameters.
 
+
#*methods with different datatypes of parameter.
* this is a reference to the current object
+
#*what is method overloading?
* helps to avoid name conflicts
+
#*example for overloadin method
* we can use this keyword inside a constructor to call another one
+
#*how to overload method?
* the constructors must be in the same class
+
#*advantage of method overloading.
* explicit constructor invocation
+
#*error in method overloading.
* Explain it using the parameterized constructor code
+
#Taking user input in Java
* Make this statement the last one in the constructor
+
#*What is BufferedReader?
* You will get an error
+
#*Importing three classes from Java.io package
* this statement should be the first one inside a constructor
+
#*How to take the input from the user?
 
+
#*Syntax to implement BufferedReader
29. non-static block
+
#*What is InputStreamReader?
 
+
#*Create object of InputStreamReader
* Non-static block  
+
#*Create object of BufferedReader
* Any code written between two curly brackets  
+
#*About IOException
* Executed for each object that is created  
+
#*About throws keyword
* Executes before constructor's execution  
+
#*Typecasting
* can initialize instance member variables of the class  
+
* create a class named NonStaticTest  
+
* Create a non-static block and a constructor inside it  
+
* Check the output  
+
* Include multiple non-static blocks  
+
* they will be executed in the sequence in which they appear in the class  
+
* Check the output  
+
* Non-static block is not a substitute for constructor
+
 
+
30. constructor overloading
+
 
+
* define multiple constructor
+
* what is constructor overloading?
+
* constructor with different number of parameters.
+
* parameters with different datatypes.
+
* how is constructor overloaded?
+
* flow of overloading process.
+
* advantage of constructor overloading.
+
 
+
31. method overloading
+
 
+
* define multiple methods.
+
* methods with same name.
+
* methods with different number of parameters.
+
* methods with different datatypes of parameter.
+
* what is method overloading?
+
* example for overloadin method
+
* how to overload method?
+
* advantage of method overloading.
+
* error in method overloading.
+
  
 
== Intermediate Level ==
 
== Intermediate Level ==
 
+
#Subclassing and Method Overriding
== Advanced Level ==
+
#*Definition of subclassing
 +
#*Demo of subclassing using an Employee and Manager class
 +
#*Single inheritance
 +
#*Use of extends keyword
 +
#*Private members in a super class
 +
#*Definition of method overriding
 +
#*Annotation
 +
#*@Override Annotation
 +
#Calling methods of the superclass
 +
#*super keyword
 +
#*Call methods of the super class
 +
#*Constructor of the super class
 +
#*Demo of super keyword using an Employee and Manager class
 +
#*Single inheritance
 +
#*Use of extends keyword
 +
#*Private members in a super class
 +
#Using final keyboard
 +
#*final keyword
 +
#*What is final keyword and its application?
 +
#*Where final keyword can be declared?
 +
#*final variable
 +
#*final static variables
 +
#*static block
 +
#*final variable as parameter
 +
#*final method
 +
#*private final method
 +
#*final class
 +
#Polymorphism
 +
#*Polymorphism in Java
 +
#*Run-time polymorphism
 +
#*Virtual Method Invocation
 +
#*Compile-time polymorphism
 +
#*Role of JVM
 +
#*IS-A test
 +
#*Static binding
 +
#*Dynamic binding
 +
#Abstract Classes
 +
#*Abstract Classes in Java
 +
#*What  are Abstract Methods
 +
#*What are Concrete Methods
 +
#*Properties of Abstract Methods and Abstract Classes
 +
#*How to use Abstract Methods
 +
#Java Interfaces
 +
#*Java Interfaces
 +
#*Implementing Interface
 +
#*Implementation Classes
 +
#*Interfaces Vs Abstract classes
 +
#*Implementing Multiple Interfaces
 +
#*Usage of Interfaces with an example
 +
#Static Variables
 +
#*What is Static Variable in Java?
 +
#*Usage of Static Variables with Example
 +
#*Static Variables Vs Instance Variables
 +
#*Final Static Constants
 +
#Static Methods
 +
#*What is static method in Java?
 +
#*Static methods Vs Instance methods
 +
#*Usage of static method with example
 +
#*Passing object variables in a static method
 +
#Static Blocks
 +
#*What is a static block
 +
#*Declaring and defining a static block
 +
#*How static blocks are invoked and executed
 +
#Exception Handling
 +
#*What is an Exception
 +
#*Types of Exceptions
 +
##Checked Exceptions
 +
##Unchecked Exceptions
 +
#*Explaining ''ArrayIndexOutOfBoundsException''
 +
#*Demonstrating Checked Exceptions with example
 +
#*Handling Exceptions using try-catch blocks
 +
#*Explaining ''ArithmeticException''
 +
#*Demonstrating Unchecked Exceptions with example
 +
#*Explaining ''FileNotFoundException''
 +
#*Usage of finally block
 +
#*Explaining ''NullPointerException''
 +
#Custom Exceptions
 +
#*What is a Custom Exception
 +
#*Demonstration of custom exception
 +
#*Custom exception example - "InvalidMarkException"
 +
#*Usage of "throw" keyword
 +
#*How to resolve errors in custom exceptions
 +
#*Resolve error using "Add throws declaration" option
 +
#*Usage of "throws" keyword
 +
#*Example for "FileNotFoundException"
 +
#*How to handle multiple exceptions
 +
#*How to use "surround with try/catch" option

Latest revision as of 15:33, 9 October 2020

Introduction

Welcome to online web tutorials for java
Java[ http://java.sun.com ]is a free and open source high level programming language. It is simple as well as object oriented language. Till date, the Java platform has attracted more than 6.5 million software developers. Java Platform, Standard Edition (Java SE) lets you develop and deploy Java applications on desktops and servers, as well as today's demanding Embedded and Real-Time environments.From laptops to mobile phones, game consoles to scientific supercomputers, music players to the Internet,Set-top boxes to printers, Web cams to medical devices,Ooops that is a huge list to follow,Java is everywhere!!!!!

This set of tutorials will cover features and usage of Java version 1.6.x Please see the associated text box of individual spoken tutorials on the website to decide the versions of Java and OS to which it is applicable.

The Spoken Tutorial Effort for Java is contributed jointly by TalentSprint, Hyderabad and the Spoken Tutorial Team, IIT Bombay. Other contributors who helped in the creation of the scripts are Prathamesh Salunke, Arya Ratish, Ashwini Patil.

Learners: UG/PG CSE/IT/CS students.

Glossary

Basic Level

Introduction to Java
  1. Getting started with Java – installation
    • Install jdk from Synaptic Package Manager
    • Choose openjdk-6-jdk from the list of packages available
    • Mark it for installation
    • The installation will take a few seconds
    • Verify the installation
    • At the command prompt type java -version, so the version number of the jdk will be displayed
    • Run a simple java program and see if it works
    • Type javac TestProgram.java for compiling the code and java TestProgram for executing the code
  2. Java - First program
    • write simple java program
    • print “My First Java Program!” on Console
    • save the file
    • file name given to the java file
    • compile the file
    • run the file
    • correct the errors
    • naming conventions for class
    • naming conventions for method
    • naming conventions for variable

    Eclipse
  3. Installing Eclipse
    • Install Eclipse on Ubuntu on the Terminal
    • Set up the proxy on the Terminal
    • Then fetch the list of all the available softwares
    • Type sudo apt-get update
    • Then install eclipse on the Terminal
    • Type sudo apt-get install eclipse
    • Verify if Eclipse is installed on the system
    • Installing Eclipse on Debian,Kubuntu,Xubuntu
    • Installing Eclipse on Redhat
    • Installing Eclipse on Fedora,centos and suse linux
  4. Getting started with Eclipse
    • Eclipse is an Integrated Development Environment
    • It is a tool on which one can write, debug and run java programs easily
    • Open Dash Home and type Eclipse in the search box.
    • We get Workspace Launcher
    • On clicking on Workbench we get the Eclipse IDE
    • Go to File->New->Project and select Java Project
    • Create a project named EclipseDemo and create a class inside DemoClass
    • Learn about Package Explorer and Editor portlet
  5. Hello World Program
    • Open Eclipse
    • Create a Java Project named DemoProject
    • Create a class named DemoClass
    • Class name and file name will be the same
    • Eclipse suggests various possibilities as we type a command
    • Eclipse also completes the parentheses by automatically adding the closing parentheses
    • Include the statement that we want to print
    • Eclipse also completes the quotes by adding the closing quote
    • Compile and execute the program
    • Change the code to print
  6. Errors and Debugging
    • When writing a Java Program, here is a list of typical errors:
    • Missing semicolon(;)
    • Missing double quotes(".")
    • Mis-match of filename and classname
    • Typing the print statement n lower case
    • The line which has the error will be indicated with a red cross mark on the left margin
    • The list of errors is displayed by hovering the mouse over the cross mark
    • Create a class ErrorFree with Errors, debug the code and run it
    • Eclipse also offers intelligent fixes
  7. Programming features of Eclipse
    • Auto completion
    • Sets the corresponding closing brace when we open the brace
    • Provides a drop-down list of methods when you start typing the code.
    • Syntax highlighting
    • Classname is highlighted in pink color and method in blue color.
    • Keyboard shortcuts
    • F11 to debug a program and Ctrl plus H to search a specific file.
    • Error highlighting
    • Cross symbol in the program denotes errors
    • Remove semicolon and error details are displayed when mouse is hovered over cross symbol.

    Fundamental Programming Structures in Java
  8. Numerical datatypes
    • Define datatypes and numerical datatypes
    • int
    • float
    • byte
    • short
    • long
    • double
    • range of each numerical datatypes
    • declaration and initializationof numerical datatypes.
    • valid and invalid declaration
  9. Arithmetic Operations
    • Define an operator
    • Define arithmetic operators
    • addition
    • subtraction
    • multiplication
    • division
    • modulo
    • simple program to demonstrate arithmetic operators
    • appropriate datatypes for appropriate values
    • save, compile and run the program
  10. Strings
    • char datatype
    • letter, digit, punctuation marks, tab, or a space are all characters.
    • Program explaining the variable and the character data.
    • Introduction to strings
    • Creating string by Direct Initialization
    • Creating string by using new operator
    • String length()
    • String concat()
    • String toUpperCase()
    • String toLowerCase()
  11. Primitive type conversions
    • define type conversion or type casting
    • higher order integer to lower order integer- Explicit type casting
    • program to show explicit type casting
    • common mistake in explicit type casting.
    • program to show common mistake in explicit type casting
    • lower order integer to higher order integer – Implicit type casting
    • program to show implicit type casting
    • char to integer
    • integer to char
    • program to show char to int type casting.

    Control flow
  12. Relational Operations
    • boolean datatype
    • equal to and not equal to
    • less than and less than or equal to
    • greater than and greater than or equal to
  13. Logical Operations
    • use of logical operators
    • and (&&) operator
    • example to explain and operator
    • program to demonstrate and operator
    • or (||) operator
    • example to explain or operator
    • program to demonstrate or operator
    • not (!) operator
    • program to demonstrate or operator
    • save, compile and run the programs
  14. if else construct
    • Conditional Statements and types of Conditional Statements
    • Use of if statement
    • Syntax for if statement
    • Program using if statement
    • Use of if else statement
    • Syntax for if else statement
    • Program using if else statement
    • Use of if else if statement
    • Syntax for if else if statement
    • Program using if else if statement
  15. nested if and ternary operator
    • explain nested if
    • nested if syntax
    • program to demonstrate nested if
    • explain the control flow of the program
    • explain ternary operator
    • syntax for ternary operator
    • explain the syntax
    • program to demonstrate ternary operator
    • comparison between ternary operator and nested if
    • save, compile and run the program
  16. switch statement
    • define switch case statement
    • compare switch and nested if
    • switch case syntax
    • working of a switch case statement
    • use of keyword switch
    • valid and invalid use of keyword case
    • use of keyword default
    • use of keyword break
    • program to demonstrate switch case statement
    • save, compile and run the program to check the output
  17. while loop
    • Loop control statement
    • types of loop control statements
    • Introduction to while loop
    • syntax of while loop
    • Program using while loop
    • Check the output.
    • Introduction to infinite loop
    • loop variable modification
    • Check the output
    • How to terminate the infinite loop
  18. for loop
    • syntax
    • introduction to for loop
    • for loop syntax
    • loop vaiable
    • loop condition
    • loop variable increment or decrement
    • loop block
    • flow of loop
    • advantage of using loop
  19. do while loop
    • define do while
    • do while syntax
    • working of do while loop
    • example of do while loop
    • explain the do while programming
    • save, compile and run the program to check the output
    • how different is it from the while loop
    • program to demonstrate the differences

    Arrays
  20. Introduction to Arrays
    • About Arrays
    • Declare an Array
    • Initialize an array
    • Intilalization using for loop
    • Index of an array elements
    • change values of an array
    • print the value of an array
    • Advantage of an array.
  21. Array operations
    • import java.util.Arrays
    • use methods from class Arrays
    • toString() method
    • sort() method
    • fill() method
    • copyof() method
    • copyofRange() method
    • about parameters for each method.
    Classes & Objects
  22. Creating class
    • Whatever we can see in this world are all objects
    • Objects can be categorized into groups known as class
    • This is class in real world
    • Human Being is an example of class in real world
    • Class in java is the blue print from which individual objects are created
    • Class consists defines a set of properties called variables and a set of behaviors called methods
    • Syntax for creating class
    • Create a simple class Student using Eclipse
    • The Student class can contain properties
  23. Creating Object
    • An object is an instance of a class
    • Each object consist of state and behavior
    • Object stores it state in fields or variables
    • It exposes its behavior through methods
    • Reference variables
    • Create a class named TestStudent
    • Create an object of the Student class
    • Use new operator
    • Check what the reference variable contains
    • Create one more object of the Student class and check what the reference variable contains
  24. Instance fields
    • Also known as non-static fields
    • Open the TestStudent class which we have created
    • Access the fields roll_number and name using dot operator
    • See the output
    • Initialize the field and see the output
    • Change the modifier of the fields to private
    • Debug the error that you get
    • Change the modifier to protected
    • Each object of a class will have unique values
    • Create two objects of the Student class
  25. Methods
    • method definition
    • write simple method
    • method returning value
    • call a method in another method
    • flow of the program
    • call a static method
    • call a method from another class
    • method signature
    • method body

    Constructors
  26. Default constructor
    • what is a constructor?
    • what is a default constructor?
    • when is it called?
    • define a constructor
    • initialize the variables
    • call the constructor
    • difference between constructor and method
  27. Parameterized constructors
    • What is a parameterized constructor?
    • create constructor without parameter
    • create a constructor with parameter
    • assign values to the variables in the constructor
    • pass arguments during the constructor call
    • working of parameterized constructor
    • show common errors
    • resolve the errors
    • create another parameterized constructor
    • why to use constructor?
  28. Using this keyword
    • this is a reference to the current object
    • helps to avoid name conflicts
    • we can use this keyword inside a constructor to call another one
    • the constructors must be in the same class
    • explicit constructor invocation
    • Explain it using the parameterized constructor code
    • Make this statement the last one in the constructor
    • You will get an error
    • this statement should be the first one inside a constructor
  29. Non-static block
    • Non-static block
    • Any code written between two curly brackets
    • Executed for each object that is created
    • Executes before constructor's execution
    • can initialize instance member variables of the class
    • create a class named NonStaticTest
    • Create a non-static block and a constructor inside it
    • Check the output
    • Include multiple non-static blocks
    • they will be executed in the sequence in which they appear in the class
    • Check the output
    • Non-static block is not a substitute for constructor
  30. Constructor Overloading
    • define multiple constructor
    • what is constructor overloading?
    • constructor with different number of parameters.
    • parameters with different datatypes.
    • how is constructor overloaded?
    • flow of overloading process.
    • advantage of constructor overloading.
  31. Method Overloading
    • define multiple methods.
    • methods with same name.
    • methods with different number of parameters.
    • methods with different datatypes of parameter.
    • what is method overloading?
    • example for overloadin method
    • how to overload method?
    • advantage of method overloading.
    • error in method overloading.
  32. Taking user input in Java
    • What is BufferedReader?
    • Importing three classes from Java.io package
    • How to take the input from the user?
    • Syntax to implement BufferedReader
    • What is InputStreamReader?
    • Create object of InputStreamReader
    • Create object of BufferedReader
    • About IOException
    • About throws keyword
    • Typecasting

Intermediate Level

  1. Subclassing and Method Overriding
    • Definition of subclassing
    • Demo of subclassing using an Employee and Manager class
    • Single inheritance
    • Use of extends keyword
    • Private members in a super class
    • Definition of method overriding
    • Annotation
    • @Override Annotation
  2. Calling methods of the superclass
    • super keyword
    • Call methods of the super class
    • Constructor of the super class
    • Demo of super keyword using an Employee and Manager class
    • Single inheritance
    • Use of extends keyword
    • Private members in a super class
  3. Using final keyboard
    • final keyword
    • What is final keyword and its application?
    • Where final keyword can be declared?
    • final variable
    • final static variables
    • static block
    • final variable as parameter
    • final method
    • private final method
    • final class
  4. Polymorphism
    • Polymorphism in Java
    • Run-time polymorphism
    • Virtual Method Invocation
    • Compile-time polymorphism
    • Role of JVM
    • IS-A test
    • Static binding
    • Dynamic binding
  5. Abstract Classes
    • Abstract Classes in Java
    • What are Abstract Methods
    • What are Concrete Methods
    • Properties of Abstract Methods and Abstract Classes
    • How to use Abstract Methods
  6. Java Interfaces
    • Java Interfaces
    • Implementing Interface
    • Implementation Classes
    • Interfaces Vs Abstract classes
    • Implementing Multiple Interfaces
    • Usage of Interfaces with an example
  7. Static Variables
    • What is Static Variable in Java?
    • Usage of Static Variables with Example
    • Static Variables Vs Instance Variables
    • Final Static Constants
  8. Static Methods
    • What is static method in Java?
    • Static methods Vs Instance methods
    • Usage of static method with example
    • Passing object variables in a static method
  9. Static Blocks
    • What is a static block
    • Declaring and defining a static block
    • How static blocks are invoked and executed
  10. Exception Handling
    • What is an Exception
    • Types of Exceptions
    1. Checked Exceptions
    2. Unchecked Exceptions
    • Explaining ArrayIndexOutOfBoundsException
    • Demonstrating Checked Exceptions with example
    • Handling Exceptions using try-catch blocks
    • Explaining ArithmeticException
    • Demonstrating Unchecked Exceptions with example
    • Explaining FileNotFoundException
    • Usage of finally block
    • Explaining NullPointerException
  11. Custom Exceptions
    • What is a Custom Exception
    • Demonstration of custom exception
    • Custom exception example - "InvalidMarkException"
    • Usage of "throw" keyword
    • How to resolve errors in custom exceptions
    • Resolve error using "Add throws declaration" option
    • Usage of "throws" keyword
    • Example for "FileNotFoundException"
    • How to handle multiple exceptions
    • How to use "surround with try/catch" option

Contributors and Content Editors

Arya Ratish, Minal, Nancyvarkey, PoojaMoolya, Pratham920, Pratik kamble, Priyacst