Difference between revisions of "Java"
Arya Ratish (Talk | contribs) (→Basic Level) |
PoojaMoolya (Talk | contribs) (→Intermediate Level) |
||
(27 intermediate revisions by 5 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;"> | ||
− | |||
[[Glossary_for_Java | Glossary]] | [[Glossary_for_Java | Glossary]] | ||
</blockquote> | </blockquote> | ||
Line 14: | Line 15: | ||
__TOC__ | __TOC__ | ||
− | = Basic Level = | + | == Basic Level== |
− | + | :'''Introduction to Java''' | |
− | + | #Getting started with Java – installation | |
− | + | #* Install jdk from Synaptic Package Manager | |
− | * Install jdk from Synaptic Package Manager | + | #* Choose openjdk-6-jdk from the list of packages available |
− | * Choose openjdk-6-jdk from the list of packages available | + | #*Mark it for installation |
− | * Mark it for installation | + | #*The installation will take a few seconds |
− | * The installation will take a few seconds | + | #*Verify the installation |
− | * Verify the installation | + | #*At the command prompt type java -version, so the version number of the jdk will be displayed |
− | * 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 |
− | * 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 |
− | * Type javac TestProgram.java for compiling the code and java TestProgram for executing the code | + | #Java - First program |
− | + | #*write simple java program | |
− | + | #*print “My First Java Program!” on Console | |
− | + | #*save the file | |
− | + | #*file name given to the java file | |
− | * write simple java program | + | #*compile the file |
− | * print “My First Java Program!” on Console | + | #*run the file |
− | * save the file | + | #*correct the errors |
− | * file name given to the java file | + | #*naming conventions for class |
− | * compile the file | + | #*naming conventions for method |
− | * run the file | + | #*naming conventions for variable |
− | * correct the errors | + | #:<br> |
− | * naming conventions for class | + | #:'''Eclipse''' |
− | * naming conventions for method | + | #Installing Eclipse |
− | * naming conventions for variable | + | #*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 | |
− | * Install Eclipse on Ubuntu on the Terminal | + | #*Type sudo apt-get install eclipse |
− | * Set up the proxy on the Terminal | + | #*Verify if Eclipse is installed on the system |
− | * Then fetch the list of all the available softwares | + | #*Installing Eclipse on Debian,Kubuntu,Xubuntu |
− | * Type sudo apt-get update | + | #*Installing Eclipse on Redhat |
− | * Then install eclipse on the Terminal | + | #*Installing Eclipse on Fedora,centos and suse linux |
− | * Type sudo apt-get install eclipse | + | #Getting started with Eclipse |
− | * Verify if Eclipse is installed on the system | + | #*Eclipse is an Integrated Development Environment |
− | * Installing Eclipse on Debian,Kubuntu,Xubuntu | + | #*It is a tool on which one can write, debug and run java programs easily |
− | * Installing Eclipse on Redhat | + | #*Open Dash Home and type Eclipse in the search box. |
− | * Installing Eclipse on Fedora,centos and suse linux | + | #*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 | |
− | * Eclipse is an Integrated Development Environment | + | #Hello World Program |
− | * It is a tool on which one can write, debug and run java programs easily | + | #*Open Eclipse |
− | * Open Dash Home and type Eclipse in the search box. | + | #*Create a Java Project named DemoProject |
− | * We get Workspace Launcher | + | #*Create a class named DemoClass |
− | * On clicking on Workbench we get the Eclipse IDE | + | #*Class name and file name will be the same |
− | * Go to File->New->Project and select Java Project | + | #*Eclipse suggests various possibilities as we type a command |
− | * Create a project named EclipseDemo and create a class inside DemoClass | + | #*Eclipse also completes the parentheses by automatically adding the closing parentheses |
− | * Learn about Package Explorer and Editor portlet | + | #*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<br/> | |
− | + | #Errors and Debugging | |
− | + | #*When writing a Java Program, here is a list of typical errors: | |
− | + | #*Missing semicolon(;) | |
− | * Open Eclipse | + | #*Missing double quotes(".") |
− | * Create a Java Project named DemoProject | + | #*Mis-match of filename and classname |
− | * Create a class named DemoClass | + | #*Typing the print statement n lower case |
− | * Class name and file name will be the same | + | #*The line which has the error will be indicated with a red cross mark on the left margin |
− | * Eclipse suggests various possibilities as we type a command | + | #*The list of errors is displayed by hovering the mouse over the cross mark |
− | * Eclipse also completes the parentheses by automatically adding the closing parentheses | + | #*Create a class ErrorFree with Errors, debug the code and run it |
− | * Include the statement that we want to print | + | #*Eclipse also offers intelligent fixes<br/> |
− | * Eclipse also completes the quotes by adding the closing quote | + | #Programming features of Eclipse |
− | * Compile and execute the program | + | #*Auto completion |
− | * Change the code to print<br/> | + | #*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. | |
− | * When writing a Java Program, here is a list of typical errors: | + | #*Error highlighting |
− | * Missing semicolon(;) | + | #*Cross symbol in the program denotes errors |
− | * Missing double quotes(".") | + | #*Remove semicolon and error details are displayed when mouse is hovered over cross symbol. |
− | * Mis-match of filename and classname | + | #:<br> |
− | * Typing the print statement n lower case | + | #:'''Fundamental Programming Structures in Java''' |
− | * The line which has the error will be indicated with a red cross mark on the left margin | + | #Numerical datatypes |
− | * The list of errors is displayed by hovering the mouse over the cross mark | + | #*Define datatypes and numerical datatypes |
− | * Create a class ErrorFree with Errors, debug the code and run it | + | #*int |
− | * Eclipse also offers intelligent fixes<br/> | + | #*float |
− | + | #*byte | |
− | + | #*short | |
− | + | #*long | |
− | + | #*double | |
− | + | #*range of each numerical datatypes | |
− | * Auto completion | + | #*declaration and initializationof numerical datatypes. |
− | * Sets the corresponding closing brace when we open the brace | + | #*valid and invalid declaration |
− | * Provides a drop-down list of methods when you start typing the code. | + | #Arithmetic Operations |
− | * | + | #*Define an operator |
− | * | + | #*Define arithmetic operators |
− | * | + | #*addition |
− | * F11 to debug a program and Ctrl plus H to search a specific file. | + | #*subtraction |
− | * | + | #*multiplication |
− | * | + | #*division |
− | * Remove semicolon and error details are displayed when mouse is hovered over cross symbol. | + | #*modulo |
− | + | #*simple program to demonstrate arithmetic operators | |
− | + | #*appropriate datatypes for appropriate values | |
− | + | #*save, compile and run the program<br/> | |
− | + | #Strings | |
− | + | #*char datatype | |
− | * | + | #*letter, digit, punctuation marks, '''tab''', or a space are all characters. |
− | * int | + | #*Program explaining the variable and the character data. |
− | * float | + | #*Introduction to strings |
− | * byte | + | #*Creating string by Direct Initialization |
− | * short | + | #*Creating string by using new operator |
− | * long | + | #*String length() |
− | * double | + | #*String concat() |
− | * range of each numerical datatypes | + | #*String toUpperCase() |
− | * declaration and initializationof numerical datatypes. | + | #*String toLowerCase()<br/> |
− | * valid and invalid declaration | + | #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 |
− | * addition | + | #*lower order integer to higher order integer – Implicit type casting |
− | * subtraction | + | #*program to show implicit type casting |
− | * multiplication | + | #*char to integer |
− | * division | + | #*integer to char |
− | * modulo | + | #*program to show char to int type casting. |
− | * simple program to demonstrate arithmetic operators | + | #:<br> |
− | * appropriate datatypes for appropriate values | + | #:'''Control flow''' |
− | * save, compile and run the program<br/> | + | #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<br/> | |
− | * char datatype | + | #Logical Operations |
− | * letter, digit, punctuation marks, '''tab''', or a space are all characters. | + | #*use of logical operators |
− | * Program explaining the variable and the character data. | + | #*and (&&) operator |
− | * Introduction to strings | + | #*example to explain '''and''' operator |
− | * Creating string by Direct Initialization | + | #*program to demonstrate '''and''' operator |
− | * Creating string by using new operator | + | #*or (||) operator |
− | * String length() | + | #*example to explain '''or '''operator |
− | * String concat() | + | #*program to demonstrate '''or '''operator |
− | * String toUpperCase() | + | #*not (!) operator |
− | * String toLowerCase()<br/> | + | #*program to demonstrate '''or '''operator |
− | + | #*save, compile and run the programs<br/> | |
− | + | #if else construct | |
− | + | #*Conditional Statements and types of Conditional Statements | |
− | + | #*Use of if statement | |
− | * define type conversion or type casting | + | #*Syntax for if statement |
− | * higher order integer to lower order integer- Explicit type casting | + | #*Program using if statement |
− | * program to show explicit type casting | + | #*Use of if else statement |
− | * common mistake in explicit type casting. | + | #*Syntax for if else statement |
− | * program to show common mistake in explicit type casting | + | #*Program using if else statement |
− | + | #*Use of if else if statement | |
− | * lower order integer to higher order integer – Implicit type casting | + | #*Syntax for if else if statement |
− | * program to show implicit type casting | + | #*Program using if else if statement<br/> |
− | * char to integer | + | #nested if and ternary operator |
− | * integer to char | + | #*explain nested if |
− | * program to show char to int type casting. | + | #*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 |
− | * equal to and not equal to | + | #*program to demonstrate ternary operator |
− | * less than and less than or equal to | + | #*comparison between ternary operator and nested if |
− | * greater than and greater than or equal to<br/> | + | #*save, compile and run the program<br/> |
− | + | #switch statement | |
− | + | #*define switch case statement | |
− | + | #*compare switch and nested if | |
− | + | #*switch case syntax | |
− | * use of logical operators | + | #*working of a switch case statement |
− | * and (&&) operator | + | #*use of keyword switch |
− | * example to explain '''and''' operator | + | #*valid and invalid use of keyword '''case''' |
− | * program to demonstrate '''and''' operator | + | #*use of keyword default |
− | * or (||) operator | + | #*use of keyword break |
− | * example to explain '''or '''operator | + | #*program to demonstrate switch case statement |
− | * program to demonstrate '''or '''operator | + | #*save, compile and run the program to check the output |
− | * not (!) operator | + | #while loop |
− | * program to demonstrate '''or '''operator | + | #*Loop control statement |
− | * save, compile and run the programs<br/> | + | #*types of loop control statements |
− | + | #*Introduction to while loop | |
− | + | #*syntax of while loop | |
− | + | #*Program using while loop | |
− | + | #*Check the output. | |
− | * Conditional Statements and types of Conditional Statements | + | #*Introduction to infinite loop |
− | * Use of if statement | + | #*loop variable modification |
− | * Syntax for if statement | + | #*Check the output |
− | * Program using if statement | + | #*How to terminate the infinite loop<br/> |
− | * Use of if else statement | + | #for loop |
− | * Syntax for if else statement | + | #*syntax |
− | * Program using if else statement | + | #*introduction to for loop |
− | * Use of if else if statement | + | #*for loop syntax |
− | * Syntax for if else if statement | + | #*loop vaiable |
− | * Program using if else if statement<br/> | + | #*loop condition |
− | + | #*loop variable increment or decrement | |
− | + | #* loop block | |
− | + | #*flow of loop | |
− | + | #*advantage of using loop | |
− | * explain nested if | + | #do while loop |
− | * nested if syntax | + | #*define do while |
− | * program to demonstrate nested if | + | #*do while syntax |
− | * explain the control flow of the program | + | #*working of do while loop |
− | * explain ternary operator | + | #*example of do while loop |
− | * syntax for ternary operator | + | #*explain the do while programming |
− | * explain the syntax | + | #*save, compile and run the program to check the output |
− | * program to demonstrate ternary operator | + | #*how different is it from the while loop |
− | * comparison between ternary operator and nested if | + | #*program to demonstrate the differences |
− | * save, compile and run the program<br/> | + | #:<br> |
− | + | #:'''Arrays''' | |
− | + | #Introduction to Arrays | |
− | + | #*About Arrays | |
− | + | #*Declare an Array | |
− | * define switch case statement | + | #*Initialize an array |
− | * compare switch and nested if | + | #*Intilalization using for loop |
− | * switch case syntax | + | #*Index of an array elements |
− | * working of a switch case statement | + | #*change values of an array |
− | * use of keyword switch | + | #*print the value of an array |
− | * valid and invalid use of keyword '''case''' | + | #*Advantage of an array. |
− | * use of keyword default | + | #Array operations |
− | * use of keyword break | + | #*import java.util.Arrays |
− | * program to demonstrate switch case statement | + | #*use methods from class Arrays |
− | * save, compile and run the program to check the output | + | #*toString() method |
− | + | #*sort() method | |
− | + | #*fill() method | |
− | + | #*copyof() method | |
− | * Loop control statement | + | #*copyofRange() method |
− | * types of loop control statements | + | #*about parameters for each method. |
− | * Introduction to while loop | + | #:'''Classes & Objects''' |
− | * syntax of while loop | + | #Creating class |
− | * Program using while loop | + | #*Whatever we can see in this world are all objects |
− | * Check the output. | + | #*Objects can be categorized into groups known as class |
− | * Introduction to infinite loop | + | #*This is class in real world |
− | * loop variable modification | + | #*Human Being is an example of class in real world |
− | * Check the output | + | #*Class in java is the blue print from which individual objects are created |
− | * How to terminate the infinite loop<br/> | + | #*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<br/> | |
− | + | #Creating Object | |
− | * syntax | + | #*An object is an instance of a class |
− | * loop | + | #*Each object consist of state and behavior |
− | * loop variable | + | #*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 | |
− | * define do while | + | #*Use new operator |
− | * do while syntax | + | #*Check what the reference variable contains |
− | * working of do while loop | + | #*Create one more object of the Student class and check what the reference variable contains |
− | * example of do while loop | + | #Instance fields |
− | * explain the do while programming | + | #*Also known as non-static fields |
− | * save, compile and run the program to check the output | + | #*Open the TestStudent class which we have created |
− | * how different is it from the while loop | + | #*Access the fields roll_number and name using dot operator |
− | * program to demonstrate the differences | + | #*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 |
− | * | + | #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 | |
− | * Whatever we can see in this world are all objects | + | #*method body |
− | * Objects can be categorized into groups known as class | + | #:<br> |
− | * This is class in real world | + | #:'''Constructors''' |
− | * Human Being is an example of class in real world | + | #Default constructor |
− | * Class in java is the blue print from which individual objects are created | + | #*what is a constructor? |
− | * Class consists defines a set of properties called variables and a set of behaviors called methods | + | #*what is a default constructor? |
− | * Syntax for creating class | + | #*when is it called? |
− | * Create a simple class Student using Eclipse | + | #*define a constructor |
− | * The Student class can contain properties<br/> | + | #*initialize the variables |
− | + | #*call the constructor | |
− | + | #*difference between constructor and method<br/> | |
− | + | #Parameterized constructors | |
− | + | #*What is a parameterized constructor? | |
− | * An object is an instance of a class | + | #*create constructor without parameter |
− | * Each object consist of state and behavior | + | #*create a constructor with parameter |
− | * Object stores it state in fields or variables | + | #*assign values to the variables in the constructor |
− | * It exposes its behavior through methods | + | #*pass arguments during the constructor call |
− | * Reference variables | + | #*working of parameterized constructor |
− | * Create a class named TestStudent | + | #*show common errors |
− | * Create an object of the Student class | + | #*resolve the errors |
− | * Use new operator | + | #*create another parameterized constructor |
− | * Check what the reference variable contains | + | #*why to use constructor? |
− | * Create one more object of the Student class and check what the reference variable contains | + | #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 | |
− | * Also known as non-static fields | + | #*the constructors must be in the same class |
− | * Open the TestStudent class which we have created | + | #*explicit constructor invocation |
− | * Access the fields roll_number and name using dot operator | + | #*Explain it using the parameterized constructor code |
− | * See the output | + | #*Make this statement the last one in the constructor |
− | * Initialize the field and see the output | + | #*You will get an error |
− | * Change the modifier of the fields to private | + | #*this statement should be the first one inside a constructor |
− | * Debug the error that you get | + | #Non-static block |
− | * Change the modifier to protected | + | #*Non-static block |
− | * Each object of a class will have unique values | + | #*Any code written between two curly brackets |
− | * Create two objects of the Student class | + | #*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 | |
− | * method definition | + | #*Create a non-static block and a constructor inside it |
− | * write simple method | + | #*Check the output |
− | * method returning value | + | #*Include multiple non-static blocks |
− | * call a method in another method | + | #*they will be executed in the sequence in which they appear in the class |
− | * flow of the program | + | #*Check the output |
− | * call a static method | + | #*Non-static block is not a substitute for constructor |
− | * call a method from another class | + | #Constructor Overloading |
− | * method signature | + | #*define multiple constructor |
− | * method body | + | #*what is constructor overloading? |
− | + | #*constructor with different number of parameters. | |
− | + | #*parameters with different datatypes. | |
− | + | #*how is constructor overloaded? | |
− | + | #*flow of overloading process. | |
− | * what is a constructor? | + | #*advantage of constructor overloading. |
− | * what is a default constructor? | + | #Method Overloading |
− | * when is it called? | + | #*define multiple methods. |
− | * define a constructor | + | #*methods with same name. |
− | * initialize the variables | + | #*methods with different number of parameters. |
− | * call the constructor | + | #*methods with different datatypes of parameter. |
− | * difference between constructor and method<br/> | + | #*what is method overloading? |
− | + | #*example for overloadin method | |
− | + | #*how to overload method? | |
− | + | #*advantage of method overloading. | |
− | + | #*error in method overloading. | |
− | * What is a parameterized constructor? | + | #Taking user input in Java |
− | * create constructor without parameter | + | #*What is BufferedReader? |
− | * create a constructor with parameter | + | #*Importing three classes from Java.io package |
− | * assign values to the variables in the constructor | + | #*How to take the input from the user? |
− | * pass arguments during the constructor call | + | #*Syntax to implement BufferedReader |
− | * working of parameterized constructor | + | #*What is InputStreamReader? |
− | * show common errors | + | #*Create object of InputStreamReader |
− | * resolve the errors | + | #*Create object of BufferedReader |
− | * create another parameterized constructor | + | #*About IOException |
− | * why to use constructor? | + | #*About throws keyword |
− | + | #*Typecasting | |
− | + | ||
− | + | ||
− | * 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 | + | |
− | + | ||
− | + | ||
− | + | ||
− | * 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 | + | |
− | + | ||
− | + | ||
− | + | ||
− | * 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. | + | |
− | + | ||
− | + | ||
− | + | ||
− | * 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 | |
− | + | #*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.
Basic Level
- Introduction to Java
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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()
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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?
- 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
- 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
- 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.
- 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.
- 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
- 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
- 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
Contributors and Content Editors
Arya Ratish, Minal, Nancyvarkey, PoojaMoolya, Pratham920, Pratik kamble, Priyacst