• ▼Java Exercises
  • Basic Part-I
  • Basic Part-II
  • Conditional Statement
  • Recursive Methods
  • Java Enum Types
  • Exception Handling
  • Java Inheritance
  • Java Abstract Classes
  • Java Thread
  • Java Multithreading
  • Java Lambda expression
  • Java Generic Method
  • Object-Oriented Programming
  • Java Interface
  • Java Encapsulation
  • Java Polymorphism
  • File Input-Output
  • Regular Expression
  • ▼JavaFx Exercises
  • JavaFx Exercises Home
  • ..More to come..

Java Programming Exercises, Practice, Solution

Java exercises.

Java is the foundation for virtually every type of networked application and is the global standard for developing and delivering embedded and mobile applications, games, Web-based content, and enterprise software. With more than 9 million developers worldwide, Java enables you to efficiently develop, deploy and use exciting applications and services.

The best way we learn anything is by practice and exercise questions. Here you have the opportunity to practice the Java programming language concepts by solving the exercises starting from basic to more complex exercises. A sample solution is provided for each exercise. It is recommended to do these exercises by yourself first before checking the solution.

Hope, these exercises help you to improve your Java programming coding skills. Currently, following sections are available, we are working hard to add more exercises .... Happy Coding!

List of Java Exercises:

  • Basic Exercises Part-I [ 150 Exercises with Solution ]
  • Basic Exercises Part-II [ 99 Exercises with Solution ]
  • Methods [ 23 Exercises with Solution ]
  • Data Types Exercises [ 15 Exercises with Solution ]
  • Java Enum Types Exercises [ 5 Exercises with Solution ]
  • Conditional Statement Exercises [ 32 Exercises with Solution ]
  • Java recursive method Exercises [ 15 Exercises with Solution ]
  • Math [ 27 Exercises with Solution ]
  • Numbers [ 28 Exercises with Solution ]
  • Java Inheritance Exercises [ 9 exercises with solution ]
  • Java Abstract Classes Exercises [ 12 exercises with solution ]
  • Java Interface Exercises [ 11 exercises with solution ]
  • Java Encapsulation Exercises [ 7 exercises with solution ]
  • Java Polymorphism Exercises [ 12 exercises with solution ]
  • Object-Oriented Programming [ 30 Exercises with Solution ]
  • Exercises on handling and managing exceptions in Java [ 7 Exercises with Solution ]
  • Java Lambda expression Exercises [ 25 exercises with solution ]
  • Streams [ 8 Exercises with Solution ]
  • Java Thread Exercises [ 7 exercises with solution ]
  • Java Miltithreading Exercises [ 10 exercises with solution ]
  • Array [ 77 Exercises with Solution ]
  • Stack [ 29 Exercises with Solution ]
  • Collection [ 126 Exercises with Solution ]
  • String [ 107 Exercises with Solution ]
  • Input-Output-File-System [ 18 Exercises with Solution ]
  • Date Time [ 44 Exercises with Solution ]
  • Java Generic Methods [ 7 exercises with solution ]
  • Java Unit Test [ 10 Exercises with Solution ]
  • Search [ 7 Exercises with Solution ]
  • Sorting [ 19 Exercises with Solution ]
  • Regular Expression [ 30 Exercises with Solution ]
  • JavaFX [ 70 Exercises with Solution ]

Note: If you are not habituated with Java programming you can learn from the following :

  • Java Programming Language

More to Come !

Popularity of Programming Language Worldwide, Nov 2023 compared to a year ago:

`
Rank Change Language Share Trend
1 Python 27.99 % +0.0 %
2 Java 15.91 % -0.8%
3 Javascript 9.18 % -0.3%
4 C/C++ 6.76 % +0.2%
5 C# 6.67 % -0.3 %
6 PHP 4.86 % -0.3 %
7 R 4.45% +0.4%
8 TypeScript 2.95 % +0.1%
9 Swift 2.7 % +0.6%
10 Objective-C 2.32% +0.2%
11 Rust1.98% +0.3%
12 Go 1.98% -0.0%
13 Kotlin 1.76 % -0.1%
14 Matlab 1.6 % +0.0%
15 Ada 1.02% +0.2%
16 Ruby 1.0 % -0.1 %
17 Dart 0.99 % +0.1 %
18 Powershell 0.93 % +0.0 %
19 VBA 0.93 % -0.1 %
20 Scala 0.62 % -0.1 %
21 Lua 0.62 % 0.0 %
22 Abap 0.58 % +0.1 %
23 Visual Basic 0.55 % -0.1 %
24 Julia 0.35 % -0.0 %
25 Groovy 0.31 % -0.1 %
26 Perl 0.31 % -0.1 %
27 Haskell 0.27 % -0.0 %
28 Cobol 0.25 % -0.1 %
29 Delphi/Pascal 0.18 % +0.2 %

Source : https://pypl.github.io/PYPL.html

TIOBE Index for November 2023

Nov 2023 Nov 2022 Change Programming Language Ratings Change
1 1 Python 14.16% -3.02%
2 2 C 11.77% -3.31%
3 4 C++ 10.36% -0.39%
4 3 Java 8.35% -3.63%
5 5 C# 7.65% +3.40%
6 7 JavaScript 3.21% +0.47%
7 10 PHP 2.30% +0.61%
8 6 Visual Basic 2.10% -2.01%
9 9 SQL 1.88% +0.07%
10 8 Assembly language 1.35% -0.83%
11 17 Scratch 1.31% +0.43%
12 24 Fortran 1.30% +0.74%
13 11 Go 1.19% +0.05%
14 15 MATLAB 1.15% +0.14%
15 28 Kotlin 1.15% +0.68%
16 14 Delphi/Object Pascal 1.14% +0.07%
17 18 Swift 1.04% +0.17%
18 19 Ruby 0.99% +0.14%
19 12 R 0.93% -0.20%
20 20 Rust 0.91% +0.16%

Source : https://www.tiobe.com/tiobe-index/

List of Exercises with Solutions :

  • HTML CSS Exercises, Practice, Solution
  • JavaScript Exercises, Practice, Solution
  • jQuery Exercises, Practice, Solution
  • jQuery-UI Exercises, Practice, Solution
  • CoffeeScript Exercises, Practice, Solution
  • Twitter Bootstrap Exercises, Practice, Solution
  • C Programming Exercises, Practice, Solution
  • C# Sharp Programming Exercises, Practice, Solution
  • PHP Exercises, Practice, Solution
  • Python Exercises, Practice, Solution
  • R Programming Exercises, Practice, Solution
  • Java Exercises, Practice, Solution
  • SQL Exercises, Practice, Solution
  • MySQL Exercises, Practice, Solution
  • PostgreSQL Exercises, Practice, Solution
  • SQLite Exercises, Practice, Solution
  • MongoDB Exercises, Practice, Solution

[ Want to contribute to Java exercises? Send your code (attached with a .zip file) to us at w3resource[at]yahoo[dot]com. Please avoid copyrighted materials.]

Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.

Follow us on Facebook and Twitter for latest update.

  • Weekly Trends and Language Statistics

199+ List of Basic Java Programs For Practice With Solutions PDF

199+ List of Basic Java Programs For Practice With Solutions. Java programs are frequently asked in interviews. These programs can be asked from control statements, array, string, oops etc. Java programs for practice for intermediate. Java basic programs like the Fibonacci series, prime numbers, factorial numbers and palindrome numbers are frequently asked in interviews and exams. Beginners java programs for practice PDF Download. If you are new to Java programming, we will recommend you read our Java tutorial first.

Here we have listed down the 11 Java programming categories in which you can find the 200+ List of Basic Java Programs For Practice With Solutions. We almost covered all the categories in java programming, Ie. Basic Programs, Array Programs, Matrix Programs, String Programs, Conversion Programs, Pattern programs, Singly Linked List Programs, Circular Linked List Programs, Doubly Linked List Programs, Tree Programs and Searching and Sorting Programs.

Java Programs For Practice

Top 100 Java Programs PDF – Table of Contents

199+ java programs for practice with category wise.

Below are the top 11 categories. all the Programs List in Java is related to this category.

  • Java Basic Programs
  • Java Array Programs
  • Java Matrix Programs
  • Java String Programs
  • Java Searching and Sorting Programs
  • Java Conversion Programs
  • Pattern programs
  • Singly Linked List Programs
  • Circular Linked List Programs
  • Doubly Linked List Programs
  • Tree Programs

Basic Java Programs For Practice

  • Fibonacci Series in Java
  • Prime Number Program in Java
  • Palindrome Program in Java
  • Factorial Program in Java
  • Armstrong Number in Java
  • How to Generate Random Numbers in Java
  • How to Print Patterns in Java
  • How to Compare Two Objects in Java
  • How to Create Objects in Java
  • How to Print ASCII Value in Java

Array Java Programs For Practice

  • Java Program to copy all elements of one array into another array
  • Java Program to find the frequency of each element in the array
  • Java Program to left rotate the elements of an array
  • Java Program to print the duplicate elements of an array
  • Java Program to print the elements of an array
  • Java Program to print the elements of an array in reverse order
  • Java Program to print the elements of an array present on an even position
  • Java Program to print the elements of an array present in an odd position
  • Java Program to print the largest element in an array
  • Java Program to print the smallest element in an array
  • Java Program to print the number of elements present in an array
  • Java Program to print the sum of all the items of the array
  • Java Program to right rotate the elements of an array
  • Java Program to sort the elements of an array in ascending order
  • Java Program to sort the elements of an array in descending order
  • Java Program to Find 3rd Largest Number in an array
  • Java Program to Find 2nd Largest Number in an array
  • Java Program to Find the Largest Number in an array
  • Java to Program Find 2nd Smallest Number in an array
  • Java Program to Find the Smallest Number in an array
  • Java Program to Remove Duplicate Elements in an array
  • Java Program to Print Odd and Even Numbers from an array
  • How to Sort an Array in Java

Java Matrix Programs For Practice

Simple Matrix Java Programs for Practice for Beginners and Intermediate.

  • Java Program to Add Two Matrices
  • Java Program to Multiply Two Matrices
  • Java Program to subtract the two matrices
  • Java Program to determine whether two matrices are equal
  • Java Program to display the lower triangular matrix
  • Java Program to display the upper triangular matrix
  • Java Program to find the frequency of odd & even numbers in the given matrix
  • Java Program to find the product of two matrices
  • Java Program to find the sum of each row and each column of a matrix
  • Java Program to find the transpose of a given matrix
  • Java Program to determine whether a given matrix is an identity matrix
  • Java Program to determine whether a given matrix is a sparse matrix
  • Java Program to Transpose the matrix

String Programs for Practice

  • Java Program to count the total number of characters in a string
  • Java Program to count the total number of characters in a string 2
  • Java Program to count the total number of punctuation characters that exist in a String
  • Java Program to count the total number of vowels and consonants in a string
  • Java Program to determine whether two strings are the anagram
  • Java Program to divide a string into ‘N’ equal parts.
  • Java Program to find all subsets of a string
  • Java Program to find the longest repeating sequence in a string
  • Java Program to find all the permutations of a string
  • Java Program to remove all the white spaces from a string
  • Java Program to replace lower-case characters with upper-case and vice-Versa
  • Java Program to replace the spaces of a string with a specific character
  • Java Program to determine whether a given string is a palindrome
  • Java Program to determine whether one string is a rotation of another
  • Java Program to find a maximum and minimum occurring character in a string
  • Java Program to find the Reverse of the string
  • Java program to find the duplicate characters in a string
  • Java program to find the duplicate words in a string
  • Java Program to find the frequency of characters
  • Java Program to find the largest and smallest word in a string
  • Java Program to find the most repeated word in a text file
  • Java Program to find the number of words in the given text file
  • Java Program to separate the Individual Characters from a String
  • Java Program to swap two string variables without using a third or temp variable.
  • Java Program to print the smallest and biggest possible palindrome word in a given string

Java Searching and Sorting Basic Java Programs For Practice

  • Linear Search in Java
  • Binary Search in Java
  • Bubble Sort in Java
  • Selection Sort in Java
  • Insertion Sort in Java

Conversion Programs List in Java for Practice

  • How to convert String to int in Java
  • How to convert int to String in Java
  • How to convert String to long in Java
  • How to convert long to String in Java
  • How to convert String to float in Java
  • How to convert float to String in Java
  • How to convert String to double in Java
  • How to convert double to String in Java
  • How to convert String to Date in Java
  • How to convert Date to String in Java
  • How to convert String to char in Java
  • How to convert char to String in Java
  • How to convert String to Object in Java
  • How to convert an Object to a String in Java
  • How to convert int to long in Java
  • How to convert long to int in Java
  • How to convert int to double in Java
  • How to convert double to int in Java
  • How to convert char to int in Java
  • How to convert int to char in Java
  • How to convert String to boolean in Java
  • How to convert a boolean to a String in Java
  • How to convert date to Timestamp in Java
  • How to convert timestamp to Date in Java
  • How to convert binary to Decimal in Java
  • How to convert decimal to Binary in Java
  • How to convert hex to Decimal in Java
  • How to convert decimal to Hex in Java
  • How to convert octal to Decimal in Java
  • How to convert decimal to Octal in Java

Java Simple Java Programs for Practice

Write down the Pattern Programs Java Programs for Practice Online, Beginner must practice these programs for better understanding.

  • Java program to print the following spiral pattern on the console
  • Java program to print the following pattern
  • Java program to print the following pattern 2
  • Java program to print the following pattern 3
  • Java program to print the following pattern 4
  • Java program to print the following pattern 5
  • Java program to print the following pattern on the console

Singly Linked List Difficult Java Programs for Practice

  • Java Program to create and display a singly linked list
  • Java program to create a singly linked list of n nodes and count the number of nodes
  • Java program to create a singly linked list of n nodes and display it in reverse order
  • Java program to delete a node from the beginning of the singly linked list
  • Java program to delete a node from the middle of the singly linked list
  • Java program to delete a node from the end of the singly linked list
  • Java program to determine whether a singly linked list is the palindrome
  • Java program to find the maximum and minimum value node from a linked list
  • Java Program to insert a new node in the middle of the singly linked list
  • Java program to insert a new node at the beginning of the singly linked list
  • Java program to insert a new node at the end of the singly linked list
  • Java program to remove duplicate elements from a singly linked list
  • Java Program to search an element in a singly linked list

Circular Linked List Java Programs for Practice Intermediate

  • Java program to create and display a Circular Linked List
  • Java program to create a Circular Linked List of N nodes and count the number of nodes
  • Java program to create a Circular Linked List of n nodes and display it in reverse order
  • Java program to delete a node from the beginning of the Circular Linked List
  • Java program to delete a node from the end of the Circular Linked List
  • Java program to delete a node from the middle of the Circular Linked List
  • Java program to find the maximum and minimum value node from a circular linked list
  • Java program to insert a new node at the beginning of the Circular Linked List
  • Java program to insert a new node at the end of the Circular Linked List
  • Java program to insert a new node in the middle of the Circular Linked List
  • Java program to remove duplicate elements from a Circular Linked List
  • Java program to search an element in a Circular Linked List
  • Java program to sort the elements of the Circular Linked List

Java Doubly Linked List Programs

16 Advanced Java Programs for Practice for intermediate. You must also C Programs for Practice .

  • Java program to convert a given binary tree to a doubly-linked list
  • Java program to create a doubly linked list from a ternary tree
  • Java program to create a doubly-linked list of n nodes and count the number of nodes
  • Java program to create a doubly-linked list of n nodes and display it in reverse order
  • Java program to create and display a doubly linked list
  • Java program to delete a new node from the beginning of the doubly linked list
  • Java program to delete a new node from the end of the doubly linked list
  • Java program to delete a new node from the middle of the doubly linked list
  • Java program to find the maximum and minimum value node from a doubly linked list
  • Java program to insert a new node at the beginning of the Doubly Linked list
  • Java program to insert a new node at the end of the Doubly Linked List
  • Java program to insert a new node in the middle of the Doubly Linked List
  • Java program to remove duplicate elements from a Doubly Linked List
  • Java program to rotate doubly linked list by N nodes
  • Java program to search an element in a doubly-linked list
  • Java program to sort the elements of the doubly linked list

Tree Advanced Java Programs for Practice

  • Java Program to calculate the Difference between the Sum of the Odd Level and the Even Level Nodes of a Binary Tree
  • Java program to construct a Binary Search Tree and perform deletion and In-order traversal
  • Java program to convert Binary Tree to Binary Search Tree
  • Java program to determine whether all leaves are at the same level
  • Java program to determine whether two trees are identical
  • Java program to find the maximum width of a binary tree
  • Java program to find the largest element in a Binary Tree
  • Java program to find the maximum depth or height of a tree
  • Java program to find the nodes which are at the maximum distance in a Binary Tree
  • Java program to find the smallest element in a tree
  • Java program to find the sum of all the nodes of a binary tree
  • Java program to find the total number of possible Binary Search Trees with N keys
  • Java program to implement Binary Tree using the Linked List
  • Java program to search a node in a Binary Tree

Where Can I Practice Java Exercises?

There are 199+ Lists of Basic Java Programs For Practice With Solutions for you as a beginner. Tutorials Bookmarks Provides 500 programs to check your coding skills in all different-different categories.

Can I Study Java in 2 Days?

The answer is No In a single word. It’s not possible to learn any programming in just 2 days.

Programs List in Java for Practice

java assignment programs pdf

java assignment programs pdf

Programming in Java   ·   Computer Science   ·   An Interdisciplinary Approach

Online content. , introduction to programming in java., computer science., for teachers:, for students:.

  • C Program : Remove All Characters in String Except Alphabets
  • C Program : Sorting a String in Alphabetical Order – 2 Ways
  • C Program : Remove Vowels from A String | 2 Ways
  • C Program To Check Whether A Number Is Even Or Odd | C Programs
  • C Program To Count The Total Number Of Notes In A Amount | C Programs
  • C Program To Print Number Of Days In A Month | Java Tutoring
  • C Program To Check If Vowel Or Consonant | 4 Simple Ways
  • C Program To Find Reverse Of An Array – C Programs
  • C Program To Input Any Alphabet And Check Whether It Is Vowel Or Consonant
  • C Program To Find Maximum Between Three Numbers | C Programs
  • C Program To Check A Number Is Negative, Positive Or Zero | C Programs
  • C Program To Check If Alphabet, Digit or Special Character | C Programs
  • C Program To Check Character Is Uppercase or Lowercase | C Programs
  • C Program Inverted Pyramid Star Pattern | 4 Ways – C Programs
  • C Program To Check Whether A Character Is Alphabet or Not
  • C Program To Check Whether A Year Is Leap Year Or Not | C Programs
  • C Program Area Of Triangle | C Programs
  • C Program To Calculate Profit or Loss In 2 Ways | C Programs
  • C Program To Check If Triangle Is Valid Or Not | C Programs
  • C Program Find Circumference Of A Circle | 3 Ways
  • C Program To Check Number Is Divisible By 5 and 11 or Not | C Programs
  • C Program Hollow Diamond Star Pattern | C Programs
  • C Program Area Of Rectangle | C Programs
  • X Star Pattern C Program 3 Simple Ways | C Star Patterns
  • C Program Area Of Rhombus – 4 Ways | C Programs
  • C Program To Find Area Of Semi Circle | C Programs
  • C Program Area Of Isosceles Triangle | C Programs
  • C Program Area Of Parallelogram | C Programs
  • Mirrored Rhombus Star Pattern Program In c | Patterns
  • C Program Check A Character Is Upper Case Or Lower Case
  • C Program Area Of Trapezium – 3 Ways | C Programs
  • C Program Area Of Square | C Programs
  • C Program To Find Volume of Sphere | C Programs
  • C Program to find the Area Of a Circle
  • C Program Area Of Equilateral Triangle | C Programs
  • Hollow Rhombus Star Pattern Program In C | Patterns
  • C Program To Calculate Volume Of Cube | C Programs
  • C Program To Count Total Number Of Notes in Given Amount
  • C Program To Find Volume Of Cone | C Programs
  • C Program To Calculate Perimeter Of Rhombus | C Programs
  • C Program To Calculate Perimeter Of Rectangle | C Programs
  • C Program To Calculate Perimeter Of Square | C Programs
  • C Program Volume Of Cuboid | C Programs
  • C Program Count Number Of Words In A String | 4 Ways
  • C Program To Left Rotate An Array | C Programs
  • C Program To Search All Occurrences Of A Character In String | C Programs
  • C Program Volume Of Cylinder | C Programs
  • C Program To Remove First Occurrence Of A Character From String
  • C Program To Delete Duplicate Elements From An Array | 4 Ways
  • C Program To Count Occurrences Of A Word In A Given String | C Programs
  • C Square Star Pattern Program – C Pattern Programs | C Programs
  • C Program To Copy All Elements From An Array | C Programs
  • C Program To Compare Two Strings – 3 Easy Ways | C Programs
  • C Program To Toggle Case Of Character Of A String | C Programs
  • C Program To Delete An Element From An Array At Specified Position | C Programs
  • C Mirrored Right Triangle Star Pattern Program – Pattern Programs
  • C Program To Reverse Words In A String | C Programs
  • C Programs – 500+ Simple & Basic Programming Examples & Outputs
  • C Program To Search All Occurrences Of A Word In String | C Programs
  • C Program Inverted Right Triangle Star Pattern – Pattern Programs
  • C Plus Star Pattern Program – Pattern Programs | C
  • C Program To Find Reverse Of A string | 4 Ways
  • C Program To Trim Leading & Trailing White Space Characters From String
  • C Program To Remove Blank Spaces From String | C Programs
  • C Program To Remove Repeated Characters From String | 4 Ways
  • C Program To Remove Last Occurrence Of A Character From String
  • Hollow Square Pattern Program in C | C Programs
  • C Program To Find Maximum & Minimum Element In Array | C Prorams
  • C Program Replace All Occurrences Of A Character With Another In String
  • C Pyramid Star Pattern Program – Pattern Programs | C
  • C Program To Find Last Occurrence Of A Word In A String | C Programs
  • C Program To Count Frequency Of Each Character In String | C Programs
  • C Program To Find Last Occurrence Of A Character In A Given String
  • Rhombus Star Pattern Program In C | 4 Multiple Ways
  • C Program To Check A String Is Palindrome Or Not | C Programs
  • C Program Number Of Alphabets, Digits & Special Character In String | Programs
  • Merge Two Arrays To Third Array C Program | 4 Ways
  • C Program Right Triangle Star Pattern | Pattern Programs
  • C Program To Sort Even And Odd Elements Of Array | C Programs
  • C Program Replace First Occurrence Of A Character With Another String
  • C Program To Trim White Space Characters From String | C Programs
  • C Program To Search An Element In An Array | C Programs
  • C Program To Copy One String To Another String | 4 Simple Ways
  • C Program To Count Number Of Even & Odd Elements In Array | C Programs
  • C Program To Find First Occurrence Of A Word In String | C Programs
  • C Program To Count Occurrences Of A Character In String | C Programs
  • C Program To Concatenate Two Strings | 4 Simple Ways
  • C Program To Sort Array Elements In Ascending Order | 4 Ways
  • Highest Frequency Character In A String C Program | 4 Ways
  • C Program Count Number Of Vowels & Consonants In A String | 4 Ways
  • C Program To Print Number Of Days In A Month | 5 Ways
  • C Program Find Maximum Between Two Numbers | C Programs
  • C Program To Count Frequency Of Each Element In Array | C Programs
  • C Program To Trim Trailing White Space Characters From String | C Programs
  • C Program To Remove First Occurrence Of A Word From String | 4 Ways
  • C Program To Convert Lowercase String To Uppercase | 4 Ways
  • C Program To Convert Uppercase String To Lowercase | 4 Ways
  • C Program To Put Even And Odd Elements Of Array Into Two Separate Arrays
  • Diamond Star Pattern C Program – 4 Ways | C Patterns
  • C Program To Print All Unique Elements In The Array | C Programs
  • C Program Count Number of Duplicate Elements in An Array | C Programs
  • C Program To Find Sum Of All Array Elements | 4 Simple Ways
  • C Program Hollow Inverted Right Triangle Star Pattern
  • C Program Hollow Inverted Mirrored Right Triangle
  • C Program To Sort Array Elements In Descending Order | 3 Ways
  • C Program To Insert Element In An Array At Specified Position
  • C Program To Input Week Number And Print Week Day | 2 Ways
  • C Program To Remove All Occurrences Of A Character From String | C Programs
  • C Program To Count Number Of Negative Elements In Array
  • C Program To Find Lowest Frequency Character In A String | C Programs
  • C Program Hollow Mirrored Rhombus Star Pattern | C Programs
  • 8 Star Pattern – C Program | 4 Multiple Ways
  • C Program To Right Rotate An Array | 4 Ways
  • C Program To Replace Last Occurrence Of A Character In String | C Programs
  • C Program To Read & Print Elements Of Array | C Programs
  • C Program Half Diamond Star Pattern | C Pattern Programs
  • C Program Hollow Mirrored Right Triangle Star Pattern
  • C Program To Find First Occurrence Of A Character In A String
  • C Program To Find Length Of A String | 4 Simple Ways
  • Hollow Inverted Pyramid Star Pattern Program in C
  • C Program To Print All Negative Elements In An Array
  • Right Arrow Star Pattern Program In C | 4 Ways
  • C Program : Check if Two Arrays Are the Same or Not | C Programs
  • C Program : Check if Two Strings Are Anagram or Not
  • C Program Hollow Right Triangle Star Pattern
  • Left Arrow Star Pattern Program in C | C Programs
  • C Program : Capitalize First & Last Letter of A String | C Programs
  • C Program Inverted Mirrored Right Triangle Star Pattern
  • Hollow Pyramid Star Pattern Program in C
  • C Program Mirrored Half Diamond Star Pattern | C Patterns
  • C Program : Non – Repeating Characters in A String | C Programs
  • C Program : Sum of Positive Square Elements in An Array | C Programs
  • C Program : Find Longest Palindrome in An Array | C Programs
  • C Program : To Reverse the Elements of An Array | C Programs
  • C Program Lower Triangular Matrix or Not | C Programs
  • C Program Merge Two Sorted Arrays – 3 Ways | C Programs
  • C Program : Maximum Scalar Product of Two Vectors
  • C Program : Convert An Array Into a Zig-Zag Fashion
  • C Program : Check If Arrays are Disjoint or Not | C Programs
  • C Program : Find Missing Elements of a Range – 2 Ways | C Programs
  • C Program : Minimum Scalar Product of Two Vectors | C Programs
  • C program : Find Median of Two Sorted Arrays | C Programs
  • C Program Transpose of a Matrix 2 Ways | C Programs
  • C Program : To Find Maximum Element in A Row | C Programs
  • C Program Patterns of 0(1+)0 in The Given String | C Programs
  • C Program : Rotate the Matrix by K Times | C Porgrams
  • C Program : Check if An Array Is a Subset of Another Array
  • C Program To Check Upper Triangular Matrix or Not | C Programs
  • C Program : To Find the Maximum Element in a Column
  • C Program : Rotate a Given Matrix by 90 Degrees Anticlockwise
  • C Program : Non-Repeating Elements of An Array | C Programs
  • C Program Sum of Each Row and Column of A Matrix | C Programs

Learn Java Java Tutoring is a resource blog on java focused mostly on beginners to learn Java in the simplest way without much effort you can access unlimited programs, interview questions, examples

Java programs – 500+ simple & basic programs with outputs.

in Java Programs , Java Tutorials June 4, 2024 Comments Off on Java Programs – 500+ Simple & Basic Programs With Outputs

Java programs: Basic Java programs with examples & outputs. Here we covered over the list of 500+ Java simple programs for beginners to advance, practice & understood how java programming works. You can take a pdf of each program along with source codes & outputs.

In case if you are looking out for C Programs , you can check out that link.

We covered major Simple to basic Java Programs along with sample solutions for each method. If you need any custom program you can contact us.

All of our Sample Java programs with outputs in pdf format are written by expert authors who had high command on Java programming. Even our Java Tutorials are with rich in-depth content so that newcomers can easily understand.

1. EXECUTION OF A JAVA PROGRAM   

Static loading :  A block of code would be loaded into the RAM before it executed ( i.e after being loaded into the RAM it may or may not get executed )

Dynamic loading:   A block of code would be loaded into the RAM only when it is required to be executed.

Note:   Static loading took place in the execution of structured programming languages. EX:  c- language

Java  follows the Dynamic loading

–     JVM would not convert all the statements of the class file into its executable code at a time.

–     Once the control comes out from the method, then it is deleted from the RAM and another method of exe type will be loaded as required.

–     Once the control comes out from the main ( ), the main ( ) method would also be deleted from the RAM. This is why we are not able to view the exe contents of a class file.

Simple Hello Word Program

Out of 500+ Simple & Basic Java Programs: Hello world is a first-ever program which we published on our site. Of course, Every Java programmer or C programmer will start with a “Hello World Program”. Followed by the rest of the programs in different Categories.

HelloWorld public static void main(String args[]) { System.out.println("Hello World"); }

Basic Java Programs – Complete List Here

Advanced simple programming examples with sample outputs, string, array programs.

Sort Programs

Conversion Programs:

Star & Number Pattern Programs

Functions of JVM:

  • It converts the required part if the bytecode into its equivalent executable code.
  • It loads the executable code into the RAM.
  • Executes this code through the local operating system.
  • Deletes the executable code from the RAM.

We know that JVM converts the class file into its equivalent executable code. Now if a JVM is in windows environment executable code that is understood by windows environment only.

Similarly, same in the case with UNIX or other or thus JVM ID platform dependent.

Java, With the help of this course, students can now get a confidant to write a basic program to in-depth algorithms in C Programming or Java Programming to understand the basics one must visit the list 500 Java programs to get an idea.

Users can now download the top 100 Basic Java programming examples in a pdf format to practice.

But the platform dependency of the JVM is not considered while saying Java is platform independent because JVM is supplied free of cost through the internet by the sun microsystems.

Platform independence :

Compiled code of a program should be executed in any operating system, irrespective of the as in OS in which that code had been generated. This concept is known as platform independence.

  • The birth of oops concept took place with encapsulation.
  • Any program contains two parts.
  • Date part and Logic part
  • Out of data and logic the highest priority we have given to data.
  • But in a structured programming language, the data insecurity is high.
  • Thus in a process, if securing data in structured prog. lang. the concept of encapsulation came into existence.
Note: In structured programming lang programs, the global variable play a vital role.

But because of these global variables, there is data insecurity in the structured programming lang programs. i.e functions that are not related to some variables will have access to those variables and thus data may get corrupted. In this way data is unsecured.

“This is what people say in general about data insecurity. But this is not the actual reason. The actual concept is as follows”.

Let us assume that, we have a ‘C’ program with a hundred functions. Assume that it is a project. Now if any upgradation is required, then the client i.e the user of this program (s/w) comes to its company and asks the programmers to update it according to his requirement.

Now we should note that it is not guaranteed that the programmers who developed this program will still be working with that company. Hence this project falls into the hands of new programmers.

Automatically it takes a lot of time to study. The project itself before upgrading it. It may not be surprising that the time required for writing the code to upgrade the project may be very less when compared to the time required for studying the project.

Thus maintenance becomes a problem.

If the new programmer adds a new function to the existing code in the way of upgrading it, there is no guarantee that it will not affect the existing functions in the code. This is because of global variables. In this way, data insecurity is created.

  • To overcome this problem, programmers developed the concept of encapsulation .
  • For example, let us have a struc.prog.lang. program with ten global variables and twenty functions.
  • It is sure that all the twenty functions will not use all the global variables .

Three of the global variables may be used only by two functions. But in a structured prog. Lang like ‘C’ it is not possible to restrict the access of global variables by some limited no of functions.

Every function will have access to all the global variables.

To avoid this problem, programmers have designed a way such that the variables and the functions which are associated with or operate on those variables are enclosed in a block and that bock is called a class and that class and that class is given a name, Just as a function is given a name.

Now the variables inside the block cannot be called as the local variable because they cannot be called as global variables because they are confined to a block and not global.

Hence these variables are known as instance variables

. Prog. Lang. program include < stdio.h> i,j,k,l,m,n; 1 ( ) --- 2 ---- 10 ( ) ---- ( ) ----

_______________________________________________________________

Example 2 :

. Lang program Abc   i,j,k 1 ( ) --- Xyz   l,m,n; 3 ( ) --- 4 ( ) ---

Therefore a class is nothing but grouping data along with its functionalities.

Note 1:  E ncapsulation it’s the concept of binding data along with its corresponding functionalities.

Encapsulations came into existence in order to provide security for the data present inside the program.

Note 2: Any object oriental programming language file looks like a group of classes. Everything is encapsulated. Nothing is outside the class.

  • Encapsulation is the backbone of oop languages.
  • JAVA supports all the oop concepts ( i.e. encapsulation, polymorphism, inheritance) and hence it is known as an object-oriented programming language.
  • C++ breaks the concept of encapsulation because the main ( ) method in a  C++ program is declared outside a class. Hence it is not a pure oop language, in fact, it is a poor oop language.

Related Posts !

java assignment programs pdf

Java Program Convert Fahrenheit To Celsius | Vice Versa

June 30, 2024

java assignment programs pdf

Java Program Count Vowels In A String | Programs

June 27, 2024

X Star Pattern Java Program – Patterns

June 24, 2024

Square Star Pattern Program In Java – Patterns

June 22, 2024

Java Right Arrow Star Pattern Program | Patterns

June 19, 2024

Rhombus Star Pattern Program In Java – Patterns

June 15, 2024

java assignment programs pdf

Reverse A Number In Java – 4 Simple Ways | Programs

Reverse A Number In Java – We have discussed the various methods to reverse a ...

Library Home

Introduction to Programming Using Java - Eighth Edition

(6 reviews)

java assignment programs pdf

David J. Eck, Hobart and William Smith Colleges

Copyright Year: 2015

Publisher: David J. Eck

Language: English

Formats Available

Conditions of use.

Attribution-NonCommercial-ShareAlike

Learn more about reviews.

Reviewed by Tanvir Irfan Chowdhury, Assistant Professor, Marshall University on 2/1/24

This book covers all the essential topics in Java development. It is not just for beginners; experienced programmers can also review the chapters for a quick reference. It can be used both as an introductory programming class using Java and also... read more

Comprehensiveness rating: 5 see less

This book covers all the essential topics in Java development. It is not just for beginners; experienced programmers can also review the chapters for a quick reference. It can be used both as an introductory programming class using Java and also as upper level class that covers GUI programming using Java.

Content Accuracy rating: 5

I haven't seen any example with an obvious error. Having the source code available online for practice is a nice feature.

Relevance/Longevity rating: 5

Java is updated regularly. Although it is hard to keep up with the updates, I still think the book is using a fairly new version of Java. The reader will not miss much with the used version and if they want to learn the latest version, they can do it easily.

Clarity rating: 4

The book is easy to follow and flows naturally from beginning to end. It introduces various concepts not generally seen in a programming language book, such as section 8.5, Analysis of Algorithms. While I appreciate the author's initiative, the example used in the first paragraph is rather exaggerated/dramatic ("..correct answer after ten thousand years...").

Consistency rating: 5

The book uses consistent terminology throughout. All the codes/code segments were formatted using the same style. While the authors provided an explanation for using the term "subroutine" in chapter 4, I personally still think using the name "method" would be more beneficial for the reader.

Modularity rating: 5

The book's modularity enables instructors of introductory Java programming courses to teach with ease. Instructors have the flexibility to select essential chapters while reserving more advanced topics for students at higher levels of proficiency.

Organization/Structure/Flow rating: 5

The book is organized in a logical fashion.

Interface rating: 5

Navigating the book is incredibly straightforward. The website provides various options such as online access, PDF downloads, and other convenient methods to explore its contents.

Grammatical Errors rating: 5

I did not notice any obvious grammatical errors in my reading.

Cultural Relevance rating: 5

While, I do not see examples of the inclusion of various races, ethnicities, and backgrounds. The most important thing is I also did not see any insensitive, or offensive content either. For the subject matter, I believe the book is perfectly fine.

Reviewed by Zhenguang Gao, Professor, Framingham State University on 6/15/21

The book covers all parts needed for a freshman course. It is can be used as one semester or one year book for Java programming. read more

The book covers all parts needed for a freshman course. It is can be used as one semester or one year book for Java programming.

The syntax explanations are precise. The Java examples are error free.

Relevance/Longevity rating: 4

The book doesn't use the most recent version of Java Environment. However, I do not think that is a problem. Beginners do not need the up-to-date new syntax to do well in a problem solving course.

Clarity rating: 5

The book is very concise, and easy to follow.

The book is very well organized in style. Similar formats are used from the beginning to the end.

Modularity rating: 4

The book follows the standard modularity for a first programming course. It begins with an introduction to computation, then followed by Java basics. It is a great book for a fast paced course. However, for some schools with a slow paced programming course, covering more basic programming skills and more examples could improve the learning experience.

Organization/Structure/Flow rating: 4

I feel the book should cover the basics in more details and more examples. The order of the some topics are not conventional. For example, "if" structure is covered after the looping structures; and programming environment is in the last section of Chapter 2, not in the first section.

The book is very easy to use. The website offers online, PDF, and other ways to navigate.

I do not see any grammatical errors.

Cultural Relevance rating: 4

The book doesn't not make use of a lot of examples relevant to races, ethnicity, or diversity. However, I did not see any culturally insensitive, or offensive content.

I'd recommend the book for any one looking for a first year programming course.

Reviewed by Eric Jiang, Professor, University of San Diego on 4/18/21

This book is quite comprehensive and it provides all foundational topics for beginners to learn the Java programming language. In addition, it offers a nice overview of Java programming environments and includes chapters on graphical user... read more

This book is quite comprehensive and it provides all foundational topics for beginners to learn the Java programming language. In addition, it offers a nice overview of Java programming environments and includes chapters on graphical user interfaces and programming with multi-threading. The book is suitable for a typical first programming course in Java and some of the book’s material can also be used for a subsequent programming course.

I did not find any technical errors or inaccuracies in the book.

The current 8th edition of the book is based on Java 8 and it uses JavaFX for GUI programming, so the book’s content is quite up-to-date. Of course, as more features are periodically added to the Java language, the book will need to be revised accordingly.

The book is extremely well-written and easy to follow. In fact, the author uses a conversational writing style and provides clear explanations of concepts and principles throughout the book. All of these make it a good text book for beginners.

The author uses consistent terminology internally. But the term “subroutine” introduced in the book would not be consistent with other Java sources including Oracle’s Java Documentation where the term “method” is used. This external term inconsistency may cause some confusions to readers.

The book is generally modular. One could cluster and rearrange some of its chapters or sections to fit an intro to Java class. However, the book’s modularity could be further enhanced by re-organizing its coverage of some topics. For instance, it would be good to separate the section on recursion from linked data structures and to consider expanding it to a chapter because the recursion concept and recursive algorithms are usually difficult to comprehend for many beginners.

The author does a good job presenting the material in a logical manner. The book starts basic language constructs and then covers methods, program design, classes, arrays and some more advanced topics. At the end of each chapter, it also includes programming exercises and quizzes. One suggestion I have for book’s organization is to delay the coverage of some class related topics including inheritance, polymorphism and interfaces to a later chapter. In addition, the coverage on data structures (stacks, queues and binary trees) may be expanded so the book could also be used in a second programming course in Java.

Interface rating: 4

The book’s interface is good and it is quite easy to navigate all book components. However, I feel the interface could be improved by adding a glossary and also an index.

This is a very well-edited book.

All examples and exercises from the book are very good and they are not culturally insensitive.

Overall, this is a great book for introducing Java programming. It has a very decent coverage of all important foundational topics and provides clear explanations and nice examples and exercises. Plus, it is freely accessible.

I will definitely consider using the book in some of my future classes.

Reviewed by Joey Cho, Professor, Colorado State University - Pueblo on 12/24/19

The book covers all important and necessary topics for beginners in 13 chapters. read more

The book covers all important and necessary topics for beginners in 13 chapters.

The content is very accurate but here's minor things: 1. On page 14, the word "but" was typed twice (...but but has recently been removed...) 2. In section 10.1.4, the abbreviation for Java Collection Framework should be JCF not JFC.

Content is very fresh with a full of good examples and exercises. The previous version describes Swing libraries for the graphical user interface but the current version describes the up-to-date JavaFX.

The text was written with very easy words and explains concepts clearly with appropriate examples and pictures.

The text has a very good flow with a consistent jargon and framework. For example, in section 3.8, the concept of Arrays is introduced and explained later in detail in chapter 7. Also, the GUI programming is introduced in section 3.9 as an appetizer and described fully in chapter 6 and 13 with consistency.

The text is consisted of 13 chapters and many sub sections to facilitate any instructor/user to reconstruct/reorganize the content without any difficulties.

The essential topics of Java programming are organized in a way for beginners to read and study easily.

Any interface issues are found. The PDF file that can be downloaded from the open book site provides bookmark links to specific topics of interest, and the table of contents are hyperlinked. Also, all of the name of example code listed in the text have a link to actual code.

No grammatical errors are found.

The text is full of good examples and exercises without having any bias culturally and ethnically.

The introduction to the Conway’s Game of Life and the Checkers in chapter 7, and the Towers of Hanoi and the Blob Counting in chapter 8 are very useful examples for students who are interested in game programming. Also, 3 network programming examples (a simple chat room, a networked Tic-tac-toe game, and a networked Poker game) in section 12.5 could attract a lot of student's attention.

In section 6.1.3, when a BorderPane is explained, it would be good to show a picture of a BorderPane of the 5 section as shown in section 6.5.2 or place a link to that section.

Reviewed by John McManus, Assistant Professor, Randolph-Macon College on 3/27/18

This textbook is comprehensive. It covers a significant amount of material in a well-thought out and logical manner. The text starts with basic programming concepts introducing variables, types and input and output. The author covers the basics... read more

This textbook is comprehensive. It covers a significant amount of material in a well-thought out and logical manner. The text starts with basic programming concepts introducing variables, types and input and output. The author covers the basics of a variety of programming environments including Eclipse, NetBeans, and the command line environment. The next section introduces control structures, exception handling, and introduces arrays and GUI programming. The early introduction of arrays and GUI program is a nice feature, allow students to add address slightly more complex problems. The book introduces objects and classes late, allowing introductory students to focus on syntax and basic problem solving before adding objects. I believe the text is well suited to a two-semester introductory sequence, or an upper level Software Design Course. The text includes quizzes at the end of each chapter, as well as programming exercises.

I did not see any technical errors or inaccuracies in the book.

The book uses the Swing library used to build GUI applications. Swing has been replaced with JavaFX. Swing is still widely used and okay for an introductory courses; the text should be updated to cover JavaFX.

The author uses an easy to read, conversational writing style and provides very thorough explanations. The flow is very logical, with sections building on the prior section.

The author uses consistent, and for the most part, modern terminology. The use of “subroutine” can be a confusing to students. The more correct term “methods” is also used and it’s not clear why “subroutines” is introduced. I appreciate the use of JavaDoc.

The text is as modular, and the order that the modules are introduced in is very logical. It is possible to re-order the modules to match your preferences for introducing specific topics.

I like the organization of the book for an introductory course, and for a course on software design. approach. Objects and classes are covered in chapter five, after the basic programming building blocks such as control structures and methods have been covered. This allows you to choose the depth that you cover topics, going slower in an introductory class, but faster in a course on Software design. I would recommend moving some sections around. I like to introduce arrays early, and I defer exceptions until a bit later.

I did not find any interface issues. The text includes PDF links in the table of contents, and also when the text makes a reference to another section. The author also includes links to the full code examples on the book's web site. Figures are easy to read and high resolution.

The text is well edited. I found a very small number of spelling or grammatical errors in the book. The book is “cleaner” that many professional edited textbooks.

I didn't notice any instances of the text being culturally insensitive. It is difficult to always find neutral examples or references. The sample problems are appropriate.

This is one of the best Java programming texts that I have reviewed. I am currently using a different text and plan to switch to this text next semester. It is very detailed. The author provides explanations of the core concepts and provides great examples. The modular approach allows it to be used in an introductory CS class, with Java as a first language; and in a software design class focusing on object-oriented design.

Reviewed by Ian Finlayson, Assistant Professor, The University of Mary Washington on 6/20/17

This textbook is remarkably comprehensive. It covers a tremendous amount of material, including nearly every facet of the Java programming language (such as anonymous inner classes, lambdas, variable arity methods etc.). It also includes a... read more

This textbook is remarkably comprehensive. It covers a tremendous amount of material, including nearly every facet of the Java programming language (such as anonymous inner classes, lambdas, variable arity methods etc.). It also includes a chapter covering basic data structures such as lists, stacks, queues and binary trees, as well as chapters on multi-threading and networking, in addition to its thorough and integrated coverage of graphical user interfaces. When using this text for a one semester CS 1 course, I use roughly half of the content. I would probably not use it for a non-major's CS 0 course, as it could be an overwhelming amount of material for students.

The book is excellent for self-study - many students love having all the extra material available even if we don't cover it in class.

One area where I would have like to have seen more content is in the books coverage of recursion. There is one section in chapter nine dealing with recursion which contains four examples. Recursion is also used for implementing lists and trees, but it would be nice to have a slightly longer treatment as it is a confusing topic for many beginning students.

The text does not include an index. The book itself also does not contain a glossary, but there is one on the companion web site. The text includes quizzes at the end of each chapter, as well as programming exercises.

I did not notice any technical errors or inaccuracies in the book.

The book mostly covers Java 7, with some treatment of Java 8 features, so as of now, the book is perfectly up to date. Future changes to Java likely won't necessitate major changes to the text, and the author has updated the text several times (currently on version 7).

The one area of slight concern is with the Swing library used to build GUI applications. Oracle has replaced Swing with JavaFX, which is the new preferred way of writing GUIs in Java. Still, Swing is widely used and a fine thing to use for introductory courses. Moreover, Swing will be a supported part of Java for a long time as it is still so widely used.

I think the clarity of writing is the best feature of this text. The author uses an easy to read, conversational writing style. The text is also very thorough in its explanations.

The author does a good job using consistent terminology. He explains new terms which are introduced and is very careful about phrasing in general. For instance when talking about objects he has this to say:

"It is certainly not at all true to say that the object is 'stored in the variable std.' The proper terminology is that 'the variable std refers to or points to the object".

Actually speaking about the terminology explicitly like this is really helpful.

The text does use the term "subroutine". While it is internally consistent about this, it is not really consistent with other sources which nearly always refer to them as "methods" in the context of Java. It is not a big point, but students may be confused because they are not called subroutines in other resources they may consult.

The text is as modular as any other introductory programming text book I have seen. It wouldn't be possible to make sense of the example programs in later chapters without a solid mastery of the material in earlier chapters, but that's expected with this type of text. That said, the book does a good job of being as modular as it can. For instance, several of the later sections in a chapter can be skipped over, and, as I describe below, I re-arrange the material slightly to fit my course.

One caveat to this is that many of the examples in later chapters make use of the GUI programming from chapter six. When considering this text, you should be aware that its use of graphics is pretty fundamental and not something you could easily skip over. I see this as a positive as it adds some interest to the example programs which are graphical.

I like the organization of the book quite a lot. It does not use the "objects first" approach. Objects and classes are covered in chapter five, after the basic programming building blocks such as control structures and methods. I did find that some of the later sections within a chapter were things I didn't want to introduce to students at that point. For instance I skip the section on exceptions at the end of chapter three, and the sections on interfaces and nested classes at the end of chapter five.

I do think that the putting off arrays until chapter seven is a mistake, mostly because it is just hard to give good assignments that don't use arrays. When teaching with this book, I cover chapter seven after chapter four.

Overall though, the book does a fine job of transitioning from one topic to the next as it covers not only the particulars of the Java programming language, but the art of programming itself.

I did not find any interface issues at all. The text includes helpful PDF links in the table of contents, and also when the text makes a reference to another section. When discussing the example programs, the author also includes links to the full code on the book's web site, which is helpful. Figures are easy to read and high resolution. One suggestion I would have to improve the interface would be to include syntax highlighting for code listings.

The text is remarkably well edited for its length. I only noticed a handful of spelling or grammatical errors in the book.

I didn't notice any instances of the text being culturally insensitive. The text did not refer to people very often at all. In the few times it mentions the user or programmer, the author uses male and female pronouns equally. For instance at one point the text will mention a guess the number program telling the user "he lost", and later on saying a blackjack program should quit when the user wants to or when "she runs out of money".

I think this book is superior to other introductory programming texts that I have used, even without considering the fact that it is open and free. It is very detailed and provides clear expositions and great examples on everything that can be included in an introductory course (and then some). The few criticisms I have for the book can be easily worked around.

Table of Contents

  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Input/Output Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: GUI Programming Continued

Ancillary Material

  • David J. Eck

About the Book

Welcome to the Eighth Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is not meant to provide complete coverage of the Java language.

The eighth edition requires Java 8 or later, and it uses JavaFX for GUI programming. Version 8.1 is a small update of Version 8.0. This version briefly covers some of the new features in Java 11 and makes it clearer how to use this book with Java 11 and later.

About the Contributors

David J. Eck Ph.D. is a Professor at Department of Mathematics and Computer Science at the Hobart and William Smith Colleges.

Contribute to this Page

  • Java Arrays
  • Java Strings
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Spring Boot
  • Java Exercises - Basic to Advanced Java Practice Set with Solutions

1. Write Hello World Program in Java

2. write a program in java to add two numbers., 3. write a program to swap two numbers, 4. write a java program to convert integer numbers and binary numbers..

  • 5. Write a Program to Find Factorial of a Number in Java
  • 6. Write a Java Program to Add two Complex Numbers

7. Write a Program to Calculate Simple Interest in Java

  • 8. Write a Program to Print the Pascal’s Triangle in Java

9. Write a Program to Find Sum of Fibonacci Series Number

10. write a program to print pyramid number pattern in java., 11. write a java program to print pattern., 12. write a java program to print pattern., 13. java program to print patterns., 14. write a java program to compute the sum of array elements., 15. write a java program to find the largest element in array, 16. write java program to find the tranpose of matrix, 17. java array program for array rotation, 18. java array program to remove duplicate elements from an array, 19. java array program to remove all occurrences of an element in an array, 20. java program to check whether a string is a palindrome, 21. java string program to check anagram, 22. java string program to reverse a string, 23. java string program to remove leading zeros, 24. write a java program for linear search., 25. write a binary search program in java., 26. java program for bubble sort..

  • 27. Write a Program for Insertion Sort in Java

28. Java Program for Selection Sort.

29. java program for merge sort., 30. java program for quicksort., java exercises – basic to advanced java practice programs with solutions.

Looking for Java exercises to test your Java skills, then explore our topic-wise Java practice exercises? Here you will get 25 plus practice problems that help to upscale your Java skills.

As we know Java is one of the most popular languages because of its robust and secure nature. But, programmers often find it difficult to find a platform for Java Practice Online. In this article, we have provided Java Practice Programs. That covers various Java Core Topics that can help users with Java Practice.

So, with ado further take a look at our free Java Exercises to practice and develop your Java programming skills. Our Java programming exercises Practice Questions from all the major topics like loops, object-oriented programming, exception handling, and many more.

Topic Wise Java Exercises List

  • Pattern Programs in Java
  • Array Programs in Java
  • String Programs in Java

Java Practice Problems for Searching Algorithms

Practice problems in java sorting algorithms, more java practice exercises.

Java Exercise

Java Practice Programs

This Java exercise is designed to deepen your understanding and refine your Java coding skills, these programs offer hands-on experience in solving real-world problems, reinforcing key concepts, and mastering Java programming fundamentals. Whether you’re a beginner who looking to build a solid foundation or a professional developer aiming to sharpen your expertise, our Java practice programs provide an invaluable opportunity to sharpen your craft and excel in Java programming language .

The solution to the Problem is mentioned below:

Click Here for the Solution

5. write a program to find factorial of a number in java., 6. write a java program to add two complex numbers., 8. write a program to print the pascal’s triangle in java, java exercise on pattern.

Pattern Exercises in Java

Array Exercises in Java

Array Exercises in Java

String Exercises in Java

Strings Exercises in Java

Time Complexity: O(N) Space Complexity: O(N)
Time Complexity: O(logN) Space Complexity: O(N)

Sorting_in_java

Time Complexity: O(N 2 ) Space Complexity: O(1)

27. Write a Program for Insertion Sort in Java.

Time Complexity: O(N logN) Space Complexity: O(N)
Time Complexity: O(N logN) Space Complexity: O(1)

After completing these Java exercises you are a step closer to becoming an advanced Java programmer. We hope these exercises have helped you understand Java better and you can solve beginner to advanced-level questions on Java programming.

Solving these Java programming exercise questions will not only help you master theory concepts but also grasp their practical applications, which is very useful in job interviews.

Java Array Exercise Java String Exercise Java Collection Exercise Click Here – To Practice Java Online please check our Practice Portal.

Java Exercise – FAQ

1. how to do java projects for beginners.

To do Java projects you need to know the fundamentals of Java programming. Then you need to select the desired Java project you want to work on. Plan and execute the code to finish the project. Some beginner-level Java projects include: Reversing a String Number Guessing Game Creating a Calculator Simple Banking Application Basic Android Application

2. Is Java easy for beginners?

As a programming language, Java is considered moderately easy to learn. It is unique from other languages due to its lengthy syntax. As a beginner, you can learn beginner to advanced Java in 6 to 18 months.

3. Why Java is used?

Java provides many advantages and uses, some of which are: Platform-independent Robust and secure Object-oriented Popular & in-demand Vast ecosystem

Please Login to comment...

Similar reads.

  • Java-Arrays
  • java-basics
  • Java-Data Types
  • Java-Functions
  • Java-Library
  • Java-Object Oriented
  • Java-Output
  • Java-Strings
  • Output of Java Program

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

Browse Course Material

Course info, instructors.

  • Adam Marcus

Departments

  • Electrical Engineering and Computer Science

As Taught In

  • Programming Languages
  • Software Design and Engineering

Learning Resource Types

Introduction to programming in java, course description.

This course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005. Students will learn the fundamentals of Java. The focus is on developing high quality, working software that solves real problems.

The course is designed for students with some programming …

The course is designed for students with some programming experience, but if you have none and are motivated you will do fine. Students who have taken 6.005 should not take this course. Each class is composed of one hour of lecture and one hour of assisted lab work.

This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

A set of two images based on a small cup. Primitives fit into the cup, and objects don't.

You are leaving MIT OpenCourseWare

CsTutorialPoint - Computer Science Tutorials For Beginners

Java Programming Exercises With Solutions (PDF)

Here you will get Java Programming Exercises With Solutions (PDF)

Here I am going to provide you a document of these, which you can download and make changes according to your own.

Java Programming Exercises With Solutions (PDF)

Download Java Programming Exercises With Solutions

Download Now

Download Java Programming Exercises With Solutions (For Beginners)

If you face any problem in downloading Java Programming Practical Assignments Questions and Solutions PDFs, then tell us in the comment below and you will definitely share this post with your friends so that they can also be of some help.

  • 10+ Java Projects With Source Code [Free Download]
  • C Programs for Practice (250+ C Programs for Practice PDF)
  • Data Structure Notes (Download Data Structure Handwritten Notes Pdf)
  • BCA Question Papers (1st Year, 2nd Year and 3rd Year 2022) – Download Question Papers PDF

' src=

Jeetu Sahu is A Web Developer | Computer Engineer | Passionate about Coding, Competitive Programming, and Blogging

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

The Java Handbook – Learn Java Programming for Beginners

Farhan Hasin Chowdhury

Java has been around since the 90s. And despite its massive success in many areas, this cross-platform, object-oriented programming language is often maligned.

Regardless of how people feel about Java, I can tell you from experience is that it is an excellent programming language. After its first appearance back in 1995, it's still widely-used – and chances are it's not going anywhere anytime soon.

You can use Java to build servers, create desktop applications, games, mobile applications and more. There are also other JVM (we'll discuss what that means very soon) languages such as Kotlin , Groovy , Scala , and Clojure that you can use for different purposes.

Java is also cross-platform which means code you write and compile on one platform can run on any other platform that has Java installed on it. We'll discuss this topic in much more detail later on.

For now, I can tell you that although Java has its fair share of flaws, it also a has a lot to offer.

Table of Contents

Prerequisites, what’s going on in the code, what is jvm, what is jre and jdk.

  • How To Setup Java on Your Computer?
  • How To Install a Java IDE on Your Computer?
  • How To Create a New Project on IntelliJ IDEA

What Are the Rules for Declaring Variables?

What are final variables, what is type conversion or casting.

  • What are Wrapper Classes in Java

What Are the Arithmetic Operators?

What are the assignment operators, what are the relational operators, what are the logical operators, what are the unary operators, how to format a string, how to get the length of a string or check if it's empty or not, how to split and join strings, how to convert a string to upper or lowercase, how to compare two strings.

  • How to Replace Characters or Substring in a String

How to Check If a String Contains a Substring or Not

What are the different ways of inputting and outputting data, how to use conditional statements in java, what is a switch-case statement, what is variable scope in java, what are default values of variables in java, how to sort an array, how to perform binary search on an array, how to fill an array, how to make copies of an array, how to compare two arrays, for-each loop, do-while loop, how to add or remove multiple elements, how to remove elements based on a condition, how to clone and compare array lists.

  • How To Check if an Element Is Present or the Array List Is Empty

How to Sort an Array List

  • How To Keep Common Elements From Two Array Lists
  • How To Perform an Action on All Elements of an Array List
  • How To Put or Replace Multiple Elements in a Hash Map
  • How To Check if a Hash Map Contains an Item or if It’s Empty
  • How To Perform an Action on All Elements of a Hash Map

What is a Method?

What is method overloading, what are constructors in java, what are access modifiers in java, what are the getter and setter methods in java, what is inheritance in java, how to override a method in java.

The only re-requisite for this course is familiarity with any other programming language such as Python, JavaScript, and so on.

Although I'll explain crucial programming concepts in the context of Java, I'll not explain things like what a variable is in the context of programming in general.

How to Write Hello World in Java

Ideally the first step should've been setting up Java on your computer, but I don't want to bore you with downloading and installing a bunch of software right at the beginning. For this example, you'll use https://replit.com/ as your platform.

First, head over to https://replit.com/ and create a new account if you don't already have one. You can use your existing Google/GitHub/Facebook account to login. Once logged in, you'll land on your home. From there, use the Create button under My Repls to create a new repl.

image-201

In the Create a Repl modal, choose Java as Template, set a descriptive Title such as HelloWorld and hit the Create Repl button.

image-202

A code editor will show up with an integrated terminal as follows:

image-203

On the left side is the list of files in this project, in the middle is the code editor, and on the right side is the terminal.

The template comes with some code by default. You can run the code by hitting the Run button. Go ahead and do that, run the program.

image-205

If everything goes fine, you'll see the words "Hello world!" printed on the right side. Congratulations, you've successfully run your first Java program.

The hello world program is probably the most basic executable Java program that you can possibly write – and understanding this program is crucial.

Let's start with the first line:

This line creates a Main class. A class groups together a bunch of related code within a single unit.

This is a public class, which means this class is accessible anywhere in the codebase. One Java source file (files with the .java extension) can contain only one top level public class in it.

This top level public class has to be named exactly the same as the source code filename. That's why the file named Main.java contains the main class in this project.

To understand why, click on the three dots in the list of files and click on the Show hidden files option.

image-204

This will unveil some new files within the project. Among them is the Main.class file. This is called a bytecode. When you hit the Run button, the Java compiler compiled your code from the Main.java file into this bytecode.

Now, modify the existing Hello World code as follows:

As you can see, a new class called NotMain has been added. Go ahead and hit the Run button once more while keeping your eyes on the Files menu.

image-206

A new bytecode named NotMain.class has showed up. This means that for every class you have within your entire codebase, the compiler will create a separate bytecode.

This creates confusion about which class is the entry-point to this program. To solve this issue, Java uses the class that matches the source code file name as the entry-point to this program.

Enough about the class, now let's look at the function inside it:

The public static void main (String[] args) function is special in Java. If you have experience with languages like C, C++ or Go, you should already know that every program in those languages has a main function. The execution of the program begins from this main function.

In Java, you have to write this function as exactly public static void main (String[] args) otherwise it won't work. In fact, if you change it even a little bit Java will start to scream.

image-207

The return type has changed from void to int and the function now returns 0 at the end. As you can see in the console, it says:

Listen to that suggestion and revert your program back to how it was before.

The main method is a public method and the static means, you can call it without instantiating its class.

The void means that the function doesn't return any value and the String[] args means that the function takes an array of strings as an argument. This array holds command line arguments passed to the program during execution.

The System.out.println prints out strings on the terminal. In the example above, "Hello world!" has been passed to the function, so you get Hello world! printed on the terminal.

In Java, every statement ends with a semicolon. Unlike JavaScript or Python, semicolons in Java are mandatory . Leaving one out will cause the compilation to fail.

That's pretty much it for this program. If you didn't understand every aspect of this section word by word, don't worry. Things will become much clearer as you go forward.

For now, remember that the top level public class in a Java source file has to match the file name, and the main function of any Java program has to be defined as public static void main(String[] args) .

I've uttered the word "bytecode" a few times already in the previous section. I've also said that Java is "cross-platform" which means code written and compiled in one platform can run on any platform that has Java installed on it.

You see, your processor doesn't understand English. In fact the only thing it understands are zeros and ones, aka binary.

When you write and compile a C++ program it results in a binary file. Your processor understands it and based on the program's targeted platform, this file can be different.

Take an AMD64 and an ARMv8-A processor for example. These processors have different instruction sets. So in order to run your program on these two different platforms, you'll have to compile them separately.

But a Java program can be written once and run anywhere. I hope you remember the bytecodes we talked about in the previous section. When you compile Java code it doesn't result in binary but rather in bytecode.

This bytecode is not entirely binary but it's also not human readable. In fact, your processor can't read it either.

So instead of throwing this bytecode at the CPU, we instead run it through the Java Virtual Machine or JVM for short. JVM then reads and interprets the bytecode to the CPU.

If you would like to understand the architecture of JVM at a deeper level, I would suggest Siben Nayak 's in-depth article on the topic.

JRE stands for Java Runtime Environment and JDK stands for Java Development Kit.

The JRE or Java Runtime Environment packages together an implementation of the JVM along with a set of libraries required for running Java programs.

The JDK, on the other hand, packages the JRE along with all the necessary libraries for developing Java programs.

So if you want to run Java programs on your computer you install the JRE. If you want to develop Java programs yourself, you install the JDK. There are multiple implementation of the JDK.

There is the Java SE (Standard Edition) Development Kit from Oracle, then there is the OpenJDK , an official reference implementation of Java SE (Standard Edition) Development Kit.

As you can tell from the name of OpenJDK, it's open-source. So there are multiple builds of it. If you're on a Linux machine and use your distro's package manager to install JDK, it's highly likely that you'll install an OpenJDK build such as Adoptium , Microsoft Build of OpenJDK and so on.

I hope that you understand that JRE is a superset of JVM and JDK is a superset of JRE. Don't worry about different implementations or builds at the moment, you'll get your hands on them when the time comes.

How to Setup Java on Your Computer

First, head over to https://www.oracle.com/java/technologies/downloads/ and download the latest version of the Java SE Development Kit according to the platform you're on:

image-208

Once the download has finished, start the installer and go through the installation process by hitting the Next buttons. Finish it by hitting the Close button on the last page.

image-235

The installation process may vary on macOS and Linux but you should be able to figure it out by yourself.

Once the installation has finished, execute the following command on your terminal:

If it works, you've successfully install Java SE Development Kit on your computer. If you want to use OpenJDK instead, feel free to download Microsoft Build of OpenJDK or Adoptium and go through the installation process.

For the simple example programs that we're going to write in this article, it won't matter which JDK you're using. But in real life, make sure that your JDK version plays nicely with the type of project you're working on.

How to Install a Java IDE on Your Computer

When it comes to Java, IntelliJ IDEA is undeniably the best IDE out there. Even Google uses it as a base for their Android Studio .

The ultimate version of the IDE can cost an individual up-to $149.00 per year . But if you're student, you can get educational licenses for all JetBrains products for free.

There is also the completely free and open-source community edition. This is the one we'll be using throughout the entire book.

Head over to the IntelliJ IDEA download page , and download the community edition for your platform.

image-344

Once the download finishes, use the installer to install IntelliJ IDEA like any other software.

How to Create a New Project on IntelliJ IDEA

Use the shortcut from your start menu to start IntelliJ IDEA. The following window will show up:

image-346

Use the New Project button and a New Project window will show up:

image-347

Put a descriptive name for your project. Leave the rest of the options as they are and press the Create button.

The project creation shouldn't take longer than a moment and once it's done, the following window will show up:

image-348

That's the project tool window on the left side. All your source code will live inside that src folder.

Right click on the src folder and go to New > Java Class .

image-349

In the next step, put a name, such as Main for your class and make sure Class is highlighted as the type.

image-350

A new class will be created with a few lines of code.

image-351

Update the code as follows:

To run this code, use the green play button on the right side of the top bar.

image-352

The code will run and the output will be shown in the integrated terminal at the bottom of the window.

image-353

Congratulations, you've successfully recreated the previously discussed HelloWorld program in IntelliJ IDEA.

How to Work with Variables in Java

To work with different kinds of data in Java, you can create variables of different types. For example, if you want to store your age in a new variable, you can do so like this:

You start by writing out the type of data or variable. Since age is a whole number, its type will be integer or int for short, followed by the name of the variable age and a semicolon.

At the moment, you've declared the variable but you haven't initialized it. In other words, the variable doesn't have any value. You can initialize the variable as follows:

When assigning a value, you start by writing the name of the variable you want to initialize, followed by an equal sign (it's called the assignment operator) then the value you want to assign to the variable. And don't forget the semicolon at the end.

The System.out.println(); function call will print the line I am 27 years old. to the console. In case you're wondering, using a plus sign is one of the many ways to dynamically print out variables in the middle of a sentence.

One thing that you have to keep in mind is you can not use an uninitialized variable in Java. So if you comment out the line age = 27 by putting two forward slashes in front of it and try to compile the code, the compiler will throw the following error message at you:

The line The local variable age may not have been initialized indicates that the variable has not been initialized.

Instead of declaring and initializing the variable in different lines, you can do that in one go as follows:

The code should be back to normal again. Also, you can change the value of a variable as many times as you want in your code.

In this code, the value of age will change from 27 to 28 because you're overwriting it just before printing.

Keep in mind, while you can assign values to a variables as many times as you want, you can not declare the same variable twice.

If you try to compile this code, the compiler will throw the following error message at you:

The line Duplicate local variable age indicates that the variable has already been declared.

Apart from variables, you may find the term "literal" on the internet. Literals are variables with hardcoded values.

For example, here, age = 27 and it's not dynamically calculated. You've written the value directly in the source code. So age is an integer literal.

There are some rules when it comes to naming your variables in Java. You can name it anything as long as it doesn't start with a number and it can't contain any spaces in the name.

Although, you can start a variable name with an underscore (_) or a dollar sign ($), not being mindful of their usage can make your code hard to read. Variable names are also case sensitive. So age and AGE are two different variables.

Another important thing to remember is you can not use any of the keywords reserved by Java. There are around 50 of them at present. You can learn about these keywords from the official documentation but don't worry about memorizing them.

As you keep practicing, the important ones will slip into your neurons automatically. And if you still manage to mess up a variable declaration, the compiler will be there to remind you that something's wrong.

Apart from the rules, there are some conventions that you should follow:

  • Start your variable name with small letter and not any special character (like an underscore or dollar sign).
  • If the variable name has multiple words, use camel case: firstName , lastName
  • Don't use single letter names: f , l

As long as you follow these rules and conventions, you're good to go. If you'd like to learn more about naming conventions in general, checkout my article on the topic .

A final variable in Java can be initialized only once. So if you declare a variable as final , you can not reassign it.

Since the age variable has been declared as final , the code will throw the following error message at you:

However, if you leave the variable uninitialized while declaring, the code will work:

So, declaring a variable as final will limit your ability to reassign its value. If you leave it uninitialized, you'll be able to initialize it as usual.

What are the Primitive Data Types in Java?

At a high level, there are two types of data in Java. There are the "primitives types" and the "non-primitive" or "reference types".

Primitive types store values. For example, int is a primitive type and it stores an integer value.

A reference type, on the other hand, stores the reference to a memory location where a dynamic object is being stored.

There are eight primitive data types in Java.

TYPE EXPLANATION
8-bit signed integer within the range of -128 to 127
16-bit signed integer within the range of -32,768 to 32,767
32-bit signed integer within the range of -2147483648 to 2147483647
64-bit signed integer within the range of -9223372036854775808 to 9223372036854775807
single-precision 32-bit floating point within the range of 1.4E-45 to 3.4028235E38
double-precision 64-bit floating point within the range of 4.9E-324 to 1.7976931348623157E308
It can be either or
single 16-bit Unicode character within the range of (or 0) to (or 65,535 inclusive)

Yeah yeah I know the table looks scary but don't stress yourself. You don't have to memorize them.

You will not need to think about these ranges very frequently, and even if you do, there are ways to print them out within your Java code.

However, if you do not understand what a bit is, I would recommend this short article to learn about binary.

You've already learned about declaring an integer in the previous section. You can declare a byte , short , and long in the same way.

Declaring a double also works the same way, except you can assign a number with a decimal point instead of an integer:

If you assign an int to the double , such as 4 instead of 4.8 , the output will be 4.0 instead of 4 , because double will always have a decimal point.

Since double and float are similar, you may think that replacing the double keyword with float will convert this variable to a floating point number – but that's not correct. You'll have to append a f or F after the value:

This happens because, by default, every number with a decimal point is treated as a double in Java. If you do not append the f , the compiler will think you're trying to assign a double value to a float variable.

boolean data can hold either true or false values.

As you can imagine, false can be treated as a no and true can be treated as a yes.

Booleans will become much more useful once you've learned about conditional statements. So for now, just remember what they are and what they can hold.

The char type can hold any Unicode character within a certain range.

In this example, you've saved the percent sign within a char variable and printed it out on the terminal.

You can also use Unicode escape sequences to print out certain symbols.

The Unicode escape sequence for the copyright symbol, for example, is \u00A9 and you can find more Unicode escape sequences on this website .

Among these 8 types of data, you'll be working with int , double , boolean , and char majority of the time.

Type conversion in Java can be either "implicit" or "explicit". When the compiler converts a smaller type of data to a larger one automatically, it's known as an implicit or narrowing type conversion.

Since a double is larger than an integer, the compiler could easily perform the conversion. If you try to do the reverse however, you'll face the following error from the compiler:

When performing an implicit conversion, the flow of conversion should be as follows:

You can of course go from a short to a double , for example, skipping the others in between.

You can also go from smaller data types to larger ones. That's called an explicit or widening type conversion.

Previously you've seen that if you try to convert a larger data type to a smaller one, the compiler complains. But when you add the (int) cast operator explicitly, you show the compiler who's boss.

In doing so, you lose a part of your data. If you change the initial double number from 8.5 to just 8.0 , you'll not lose any information. So whenever you're performing an explicit conversion, be careful.

You can also convert a char to an int as follows:

70 is the ASCII code for the character F – that's why the output was like this. If you'd like to learn more about ASCII codes, my colleague Kris Koishigawa has written an excellent article on the topic.

The flow of conversion in this case will be the opposite of what you've seen already.

I'd suggest you to experiment by converting various values from one type to another and see what happens. This will deepen your understanding and make you confident.

What are Wrapper Classes in Java?

Wrapper classes can wrap around primitive datatypes and turn them into reference types. Wrapper classes are available for all eight primitive data types.

Primitive Type Wrapper Class

You can use these wrapper classes as follows:

All you have to do is replace the primitive data type with the equivalent wrapper class. These reference types also have methods for extracting the primitive type from them.

For example, age.intValue() will return the age as a primitive integer and the gpa.doubleValue() will return the GPA in a primitive double type.

There are such methods for all eight datatypes. Although you'll use the primitive types most of the time, these wrapper classes will be handy in some scenarios we'll discuss in a later section.

How to Use Operators in Java

Operators in programming are certain symbols that tell the compiler to perform certain operations such as arithmetic, relational, or logical operations.

Although there are six types of operators in Java, I won't talk about bitwise operators here. Discussing bitwise operators in a beginner guide can make it intimidating.

Arithmetic operators are the ones that you can use to perform arithmetic operations. There are five of them:

OPERATOR OPERATION
Addition
Subtraction
Multiplication
Division
Remainder (Modulo/Modulus)

Addition, subtraction, multiplication, and division operations are pretty self-explanatory. Have a look at the following code example to understand:

Outputs from the first four operations need no explanation. In the last operation, you've performed a modulo/modulus operation using the % symbol. The result is 0 because if you divide 10 by 2, there'll be nothing left (no remainder).

Addition and multiplication operations are quite simple. But, when performing a subtraction, if the first operand is larger than the second operand, the result will be a negative number, just like in real life.

The type of data you're working with makes a difference in the result of division and modulo operations.

Although the result of this operation should've been 1.6 it didn't happen because in Java, if you divide an integer by another integer, the result will be an integer. But if you change both or one of them to a float/double, everything will be back to normal.

This principle applies to the modulo operations as well. If both or one of the operands are a float/double, the result will be a float/double.

You've already worked with the assignment operator in a previous section.

When you use the = symbol to assign a value to a variable, it works as an assignment operator. But, this is not the only form of this operator.

Combining the regular assignment operator with the arithmetic operators, you can achieve different results.

OPERATOR OPERATION EQUIVALENT TO

The following code example should make things clearer:

The other operators work the same. They operate and then assign the resultant value to the left operand.

I could demonstrate the other ones using code but I think if you try them out yourself, you'll get a better understanding. After all, experimentation and practice are the only ways to solidify your knowledge.

Relational operators are used to check the relation between operands. Such as whether an operand is equal to another operand or not.

These relational operators return either true or false depending on the operation you've performed.

There are six relational operators in Java.

OPERATOR EXPLANATION USAGE
Is Equal To returns
Is Not Equal To returns
Is Greater Than returns
Is Less Than returns
Greater Than or Equal To returns
Less Than or Equal To returns

The following code example demonstrates the usage of these operators:

Practical usage of these operators will become much apparent to you once you've learned about conditional statements in a later section.

You can also use these operators with characters.

What do you think the output of this code will be? Find out for yourself. Remember the ASCII values of the characters? They play a role in the output of this program.

Imagine a scenario where a program you've made can only be used by people who are 18 and up but not over 40 years old. So the logic should be as follows:

Or in another scenario, a user has to be a student of your school or member of the library to borrow books. In this case the logic should be as follows:

These logical decisions can be made using logical operators. There are three such operators in Java.

OPERATOR USAGE EXPLANATION
Logical And ( ) Evaluates to true, only if both conditions are true
Logical Or ( ) Evaluates to true if one of the two or both conditions are true
Not ( ) Evaluates to false if the inner condition evaluates to true and vise versa

Let's see these operators in code. First, the logical and operator:

In this case, there are two conditions on either side of the && operator. If and only if both conditions evaluate to true , the and operation evaluates to true .

If the first condition evaluates to false , the computer will not evaluate the rest of the conditions and return false . Because if the first one evaluates to false , then there is no way for the entire operation to evaluate to true .

The logical or operator works similarly, but in this case, if any of the conditions are true then the entire operation will evaluate to true:

If the first condition of a logical or operation evaluates to true , the computer will not evaluate the rest of the conditions and return true . Because if the first condition evaluates to true the operation will evaluate to true regardless of what the other conditions evaluate to.

Finally the not operator evaluates to the opposite of whatever its condition evaluates to. Take a look at the following code example:

As you can see, the not operator returns the opposite of the given boolean value. The not operator is a unary operator, meaning it operates on a single operand.

In this example, the not operator turns isSchoolStudent into true , so the operation evaluates to true . However, if you modify the code as follows:

First, the logical or operation will take place and evaluate to true . The not operator will turn it into false .

Although you've used two operands with each operator, you can use as many as you want. You can also mix and match multiple operators together.

What do you think the output of this code will be? I'd recommend you find out by yourself. :)

There are some operators that are used with one operand at a time and these are called the unary operators. Although there are five of them, I'll only discuss two.

OPERATOR EXPLANATION
Increment ( ) Increments a given value by 1
Decrement ( ) Decrements a given value by 1

The following code example will demonstrate them nicely:

You can also use the operators as prefixes:

So far this is simple. But there are some slight differences between the postfix and prefix syntaxes that you need to understand. Look at the following code:

This is expected behavior. The prefix decrement operator will work the same. But look what happens if you switch to the postfix version:

Confusing, isn't it? What do you think is the actual value of the variable right now? It's 96. Let me explain.

When using the postfix syntax within a print function, the print function encounters the variable first and then increments it. That's why the second line prints out the newly updated value.

In case of the prefix syntax, the function encounters the increment operator first and performs the operation. Then it goes on to printing the updated value.

This little difference may catch you off guard if you're not careful. Or you try to avoid incrementing or decrementing within function calls.

How to Work with Strings in Java

The String type in Java is one of the most commonly used reference types. It's a collection of characters that you can use to form lines of text in your program.

There are two ways of creating new strings in Java. The first one is the literal way:

As you can see, declaring and using a String this way is not very different from declaring the primitive types in Java.

The second way to create a new String is by using the new operator.

This program will work exactly like the previous one but there's a slight difference between the two.

The JVM maintains a portion of your computer's memory for storing strings. This portion is called the string pool.

Whenever you create a new String in the literal way, the JVM first checks if that String already exists in the pool. If it does, JVM will reuse it. If it doesn't, then the JVM will create it.

On the other hand, when you use the new operator, the JVM will always create a new String object no matter what. The following program demonstrates this concept clearly:

As you may already know, the == operator is used for checking equality. The output of this program will be:

Since abc was already in the string pool, the literalString2 variable reuses that. In case of the object strings however, both of them are different entities.

You've already seen the usage of the + operator to sew strings together or format them in a specific way.

That approach works until you have a lot of additions to a string. It's easy to mess up the placements of the quotation marks.

A better way to format a string is the String.format() method.

The method takes a string with format specifiers as its first argument and arguments to replace those specifiers as the later arguments.

In the code above, the %s , and %d characters are format specifiers. They're responsible for telling the compiler that this part of the string will be replaced with something.

Then the compiler will replace the %s with the name and the %d with the age . The order of the specifiers needs to match the order of the arguments and the arguments need to match the type of the specifier.

The %s and %d are not random. They are specific for string data and decimal integers. A chart of the commonly used specifiers are as follows:

Specifier Data Type
, Boolean
, String
, Unicode Character
Decimal Integer
Floating Point Numbers

There is also %o for octal integers, %x or %X for hexadecimal numbers, and %e or %E for scientific notations. But since, we won't discuss them in this book, I've left them out.

Just like the %s and %d specifiers you saw, you can use any of these specifiers for their corresponding data type. And just in case you're wondering, that %f specifier works for both floats and doubles.

Checking the length of a string or making sure its not empty before performing some operation is a common task.

Every string object comes with a length() method that returns the length of that string. It's like the length property for arrays.

The method returns the length as an integer. So you can freely use it in conjunction with the integer format specifier.

To check if a string is empty or not, you can use the isEmpty() method. Like the length() method, it also comes with every string object.

The method returns a boolean value so you can use it directly in if statements. The program checks if the name is empty or not and prints out different responses based off of that.

The split() method can split a string based on a regular expression.

The method returns an array of strings. Each string in that array will be a substring from the original string. Here for example, you're breaking the string Farhan Hasin Chowdhury at each space. So the output will be [Farhan, Hasin, Chowdhury] .

Just a reminder that arrays are collections of multiple data of the same type.

Since the method takes a regex as argument, you can use regular expressions to perform more complex split operations.

You can also join this array back into a string like this:

The join() method can also help you in joining multiple strings together outside of an array.

Converting a string to upper or lower case is very straightforward in Java. There are the aptly named toUpperCase() and toLowerCase() methods to perform the tasks:

Since strings are reference types, you can not compare them using the = operator.

The equals() method checks whether two strings are equal or not and the equalsIgnoreCase() method ignores their casing when comparing.

How to Replace Characters or Substrings in a String

The replace() method can replace characters or entire substrings from a given string.

Here, the loremIpsumStd string contains a portion of the original lorem ipsum text. Then you're replacing the first line of that string and saving the new string in the loremIpsumHalfTranslated variable.

The contains() method can check whether a given string contains a certain substring or not.

The method returns a boolean value, so you can use the function in any conditional statement.

There were some of the most common string methods. If you'd like to learn about the other ones, feel free to consult the official documentation .

So far you've learned about the System.out.println() method to print out information on the terminal. You've also learned about the String.format() method in a previous section.

In this section, you'll learn about some siblings of the System.out.println() method. You'll also learn about taking input from the user.

Taking input from user is extremely easy in languages like Python. However in Java, it takes a few more lines of code.

The java.util.Scanner class is necessary for taking user inputs. You can bring the class to your program using the import keyword.

Then, you'll need to create a new instance of the Scanner class using the new keyword. While creating the new instance, you'll have to let it know your desired input stream.

You may want to take input from the user or from a file. Whatever it is, you'll have to let the compiler know about it. The System.in stream is the standard input and output stream.

The scanner object has methods like nextLine() for taking string input, nextInt() for taking integer input, nextDouble() for taking double input and so on.

In the code above, the scanner.nextLine() method will ask for a string from the user and return the given input with a newline character appended.

Then the scanner.nextInt() method will ask for an integer and return the given number from the user.

You may be seeing the System.out.printf() method for the first time here. Well, apart from the System.out.println() method, there is also the System.out.print() method that prints out a given string without appending a newline character to it.

The System.out.printf() is kind of a combination of the System.out.print() and String.format() methods. You can use the previously discussed format specifiers in this method as well.

Once you're done with taking input, you'll need to close the scanner object. You can do that by simply calling the scanner.close() method.

Simple right? Let me complicate it a bit.

I've added a new scanner.nextLine() statement after the scanner.nextInt() method call. Will it work?

No, it won't. The program will simply skip the last input prompt and print out the last line. This behavior is not exclusive to just scanner.nextInt() . If you use scanner.nextLine() after any of the other nextWhatever() methods, you'll face this issue.

In short, this happens because when you press enter on the scanner.nextInt() method, it consumes the integer and leaves the newline character in the input buffer.

So when scanner.nextLine() is invoked, it consumes that newline character as the end of the input. The easiest solution to this problem is writing an additional scanner.nextLine() call after the other scanner method calls.

There is another way of solving this problem. But I won't get into that here. If you're interested, checkout my article on this topic .

You use conditional statements for making decision based on conditions.

It's done using the if statement as follows:

The statement starts with an if and then there is the condition inside a pair of parenthesis. If the condition evaluates to true, the code within the curly braces will be executed.

Code enclosed between a set of curly braces is known as a code block.

If you change the value of age to 50 the print statement will not be executed and there'll be no output on the console. For these kind of situations where the condition evaluates to false , you can add an else block:

Now if the condition evaluates to false , the code within the else block will execute and you'll see you can not use the program printed on your terminal.

You can also have multiple conditions within an if-else if-else ladder:

Now, if the first condition evaluates to false then the second condition will be tested. If the second one evaluates to true then the code within curly braces will be executed. If the conditions in both if statements evaluate to false , then the else block will be executed.

You can also nest if statements within other if statements as follows:

In this case, only if the first if statement evaluates to true will the inner if statement be tested.

Apart from the if-else blocks, there are also switch cases where you can define multiple cases based on a single switch.

This is a very simple calculator program. The program prompts the user for two numbers and then asks what operation they would like to perform.

Every switch-case statement will have one switch and multiple cases. When you say case "sum" , the program checks whether the value of the switch or the operation variable in this is sum or not.

If it matches, the case body will execute. If none of the cases match, the default case will be executed.

And about that break statement. It does what it sounds like: stops the program from going into the next case.

If you remove the break statements, all the cases will be executed one after the other until the default case has been reached.

Scope is the lifetime and accessibility of a variable. Depending on where you declare a variable you may or may not be able to access it from other places.

Take the following code snippet as an example:

Here, the age variable is declared within the class code block. That means you can access this variable within the entire class without any issue. Since the variable is accessible in the entire class instance, it's an instance variable.

However, the isSchoolStudent and isLibraryMember variables have been declared within the first if statement code block. So it'll not be accessible outside of that code block.

But, it'll be accessible within any nested code block inside the first if block. These are called local variables.

There are also class variables declared using the static keyword but you'll learn about them in the object-oriented programming sections.

So for now, the rule of thumb is, a variable will be accessible within the code block it was declared at and any other code block nested inside the parent block.

You've learned that in Java, you need to initialize a variable after declaring it. Otherwise, you'll not be able to use that. Well that's not true in all cases.

If you declare a variable in the class level, that variable will be assigned a default value by the compiler.

Since the main method is static , it can only access static variables in the class level. I'll discuss static in greater detail in the object-oriented programming section.

But if you move the variable declaration inside the main method, it becomes local to that method and doesn't get any default value.

This code will throw the The local variable age may not have been initialized error on compilation.

Variables get their default values based on their type. In most cases, it'll be 0 or null . I'm giving a list of all the primitive types and their default values:

Data Type Default Value

Any reference type will be assigned the value null by default. We'll discuss reference types, classes, and objects in the object-oriented programming sections.

How to Work with Arrays in Java

You've already learned about declaring single variables and using them in your program. This is where arrays come in.

Arrays are data structures containing multiple value sof the same data type in sequential memory locations. Arrays can be of any primitive or non-primitive data type.

You can create an array in Java as follows:

You start by typing out the type of data you want to hold in the array, char in this case. Then you write out the name of the array, vowels followed by a pair of square braces here. This pair of braces tells Java that you're declaring an array of characters and not a regular character variable.

Then you put an equal sign followed by the new operator used for creating new objects in Java. Since arrays are reference types in Java, new is required to create new instances.

You finish off the declaration by writing out the type again, followed by another pair of square braces enclosing the length of the array. Here, 5 means the array will hold five elements and not more than that.

When working with a single variable, you can refer to the variable simply by its name. But in case of an array, each element will have an index and arrays are zero-based. This means the first element in an array will have 0 as its index and not 1 .

To access an element in an array, you start by writing out the name of the array – in this case vowels followed by a pair of square braces enclosing your desired index. So if you want to access the first element in the array, you can do so as follows:

At this point, vowels[0] is similar to a regular character variable. You can print it out, assign new value to it, perform calculations in case of number types, and so on.

Since the array is empty at this moment, I'm assigning the character a to the first index. You can assign the rest of the vowels to the rest of the indices as follows:

Since the indices start at 0 they'll end at the length of the array - 1, which in this case is 4 . If you try to assign another element to the array like vowels[4] = 'x'; the compiler will throw the following error:

Arrays can not be printed like regular variables. You'll have to use a loop or you'll have to convert the array into a string. Since, I haven't discussed loops yet, I'll use the second method.

You'll need to first import the java.util.Arrays; and use the Arrays.toString() method to convert the array to a string. This class has a bunch of other interesting methods, but before discussing them, I'd like to show you how you can declare and initialize an array in one go.

The left side of the declaration syntax remains unchanged. However, after the assignment operator, instead of using new you write out the individual array elements separated by comma and enclosed within a pair of curly braces.

In this case the compiler will count the number of elements in the array and use that as the length of the array.

If you do not know the length of an array, you can take a look at the length property.

In this case, vowels.length will be 5 since there are five elements in the array. The length property is an integer and is present in every array in Java.

Arrays can also be multidimensional. So far you've worked with arrays that look like this:

Single dimensional arrays like this are perfect when you want to store a series of values. But imagine someone's daily medicine routine in the form of a table:

The first row represents the seven days in a week and the columns represent how many times the patient should take their medicine out of three times a day. 0 means no and 1 means yes.

You can map this routine using a multidimensional array in your program:

Multidimensional arrays can not be printed out using the regular Arrays.toString() method, you have to dig deeper.

Although the output doesn't look anything like the table, you can make it look like a table using some clever programming:

You've already learned about the replace() method for strings. You're just replacing the ending square brace in each line with a square brace and a newline character.

The first row represents the 7 weekdays and the rest of the rows are medicine routines for each day. Each line in this table represents an array.

To access a single value from a multidimensional array, you'll need two indices. The first index determines the row and the second one determines the column.

So medicineRoutine[2][3] will select the element in index 3 of the third array. That element will be 0 . Working with multidimensional array can seem a bit tricky but practicing will make it much easier.

Since you can create arrays of any type in Java, why don't you try creating some other types of arrays by yourself, huh?

One of the most common tasks that you will perform on arrays is sorting them. The java.utils.Arrays comes with the Arrays.sort() method to do just that:

The Arrays.sort() method takes the unsorted array as its argument and sorts it in place. So instead of getting a new sorted array in return, your original array itself will be sorted in ascending order.

By default, the method treats the first index of the array as its starting index and the length of the array as its ending index.

You can specify these two indices manually. For example, if you want to sort only u, o, i in ascending order and leave e, a as is, you can do so as follows:

This time, the method takes the array as the first parameter, the starting index as the second parameter, and the ending index as the third parameter. The rest of the behaviors stay the same as before.

Searching for values within a sorted value is another common task. The Arrays.binarySearch() method lets you search for items in a sorted array using the binary search algorithm.

The Arrays.binarySearch() method takes an array as its first parameter and the the search key (aka the item you're looking for) as its second parameter. It'll return the index of the found item as an integer.

You can store that index in an int and use that to access the element from the array as vowels[foundItemIndex] .

Note that the array has to be sorted in ascending order. If you're unsure of the array's ordering, use the Arrays.sort() method to sort it first.

By default, the method treats the first index of the array as its starting index and the length of the array as its ending index. But you can also specify those indices manually.

For example, if you want the search to take place from index 2 to index 4 , you can do so as follows:

This time the method takes the array you want to search on as the first parameter, the starting index as the second parameter, the ending index as the third parameter, and the search key as the fourth parameter.

Now the search will take place within i , o , and u . So if you look for a , it'll not be found. In cases where the given item is not found, you'll get a negative index. The resultant negative index will vary based on a number of factors but I won't get into those here. If you're interested in learning more, check out my article on the topic .

You've already learned about initializing an array with values but you may sometimes want to fill an entire array with the same value. The Arrays.fill() method can do that for you:

Like the Arrays.sort() method, Arrays.fill() also performs its operation in place. It takes your array as the first parameter, the value you want to fill the array with as the second parameter, and updates the original array in place.

This method also treats the first index as the starting index and the length of the array as the ending index. You can specify these indices manually as follows:

This time the method takes your array as the first argument, the starting index as the second argument, the ending index as the third argument, and the filler as the fourth argument.

Since arrays in Java are of reference types, copying them using the assignment operator can cause some unexpected behavior.

Although you've made changes to the source array, the copy reflects them as well. This happens because when you use the assignment operator to copy an array, the copy references the original array in the memory.

To properly copy an array, you can use the Arrays.copyOf() method as follows:

The method takes the source array as its first argument and the desired length of the new array as the second argument. If you want the length to be the same, simply pass the length of the original array using the length property.

If you put a smaller length, any value after that will be cut off and if you put a larger length, the new indices will be filled with the default value of the array data type.

There is another method Arrays.copyOfRange() that can copy a portion of an array to a new one:

This method takes the source array as its first argument, then the start index and finally the end index.

Keep in mind, the ending index is not inclusive. That's why 15 is absent from the new array. But if you want to include the last index of the array, use the length of the original array as the ending index.

Now the new array will also include 15 in it. You can also put a higher number than the length of the source array. In that case the newly added indices will contain the default value of the array data type.

If you try two check if two arrays are the same or not in Java using the equal relational operator, you'll get some unexpected results.

Even though the two arrays are identical, the output of the program is false . Since arrays are reference types, the relational operator will check whether they are the same instance or not.

To compare two arrays in Java, you can use the Arrays.equals() method:

However, if you change even a single element in either of these arrays, the output will be false since the arrays will not remain identical anymore.

You can also compare multidimensional arrays, but for that you'll have to use the Arrays.deepEquals() method instead of the regular one.

This method calls itself each time it encounters a new array inside the parent array.

These were some of the most common methods inside the java.util.Arrays class. You can consult the official documentation if you'd like to learn more.

How to Use Loops in Java

If you ever need to repeat a task for a set number of times, you can use a loop. Loops can be of three types: they are for loops, for...each loops, and while loops.

For loops are probably the most common types of loops that you'll see on the internet.

Every for loop consists of three parts. The initialization, condition, and update expression. The looping happens in multiple steps.

If you want to print the numbers from 0 to 10 using a for loop, you can do so as follows:

The flowchart for this loop looks like this:

  • In the beginning of the loop, you initialize a new integer named number with the initial value of 0 .
  • Then you check whether the number is less than or equal to 10 or not.
  • If its less than or equal to 10 , you execute the statement inside the loop block and print out the number on the terminal.
  • Then you update the number variable by incrementing its value by 1.
  • The loop goes back to checking whether the value of number is still less than or equal or not.

As long as the value of number remains less than or equal to 10, the loop goes on. The moment the value of the number variable becomes 11 , the loop ends.

You can use a for loop to loop over an array as follows:

The flowchart for this loop will be as follows:

Since the last index of the array is one less than its length, you run the loop as long as the index is less than the array length. The moment the index becomes equal to the length of the array, you exit the loop.

One of the fun things that you can do with loops is printing out multiplication tables. For example, the multiplication table for 5 will be as follows:

Loops can also be nested. Which means you can put one loop inside another. You can print out the multiplication table of all the numbers from 1 to 10 using nested loops:

I wouldn't dare printing out the output here. Instead, try out the code by yourself. Draw out each iteration of the loop on a piece of paper so that you understand what's happening on each step.

If you want to iterate over a collection like an array and perform some operation on each element of that collection, you can use a for...each loop.

In the case of a for-each loop, the type of the item needs to match the type of the collection you're working with. Here, the array is of type integer so the item in the loop is of type integer.

This does the same task as the previously shown for loop. But in this one, you don't have to keep track of the index or use the square braces to access the elements. It looks cleaner and is less error prone.

If you want to execute a bunch of code until a certain condition is met, you can use a while loop.

There are no initialization or update steps in a while loop. Whatever happens, happens within the loop body. If you rewrite the program for printing out the multiplication table of 5 using a while loop, it'll be as follows:

Although, while loops are not as common as for loops in the real world, learning about them is worth it.

The final type of loop you'll learn about is the do-while loop. It kind of reverses the order of the regular while loop – so instead of checking the condition before executing the loop body, you execute the loop body first and then check the condition.

The multiplication table code implemented using a do-while loop will be as follows:

Do-while loops are very useful when you need to perform some operation until the user gives a specific input. Such as, show a menu until user presses the "x" key.

How to Work with Array Lists in Java

Arrays in Java are not resizable. Once you've set a length for an array, you can not change it any way. The ArrayList class in Java mitigates this limitation.

To create array lists, you'll need to import the java.util.ArrayList class at the top of your source file.

Then you start by writing ArrayList and then inside a pair of less than-greater than signs, you'll write the data type for the elements. Then you'll add the name of the array list itself followed by the assignment operator and new ArrayList<>() .

You can not create array lists of primitive types, so you'll have to use the corresponding wrapper class.

Although these elements have zero-based indices like arrays, you can not use the square brace notation to access them. Instead, you'll have to use the get() method:

The get() method will get the value in the given index. Just like get() you can use the set() method to update the value of an element.

The first parameter to the set() method is the index and the second one is the updated value.

There is no length property like in an array but you can use the size() method on any array list to find out its length.

You can remove elements from an array list using the remove method:

The remove() method can remove an element by value or by index. If you pass a primitive integer value to the method, it'll remove the element in the given index.

But if you pass an object like in this code, the method will find and delete that given element. The valueOf() method is present in all wrapper classes and it can convert a primitive value to a reference type.

You've already seen examples of the add() and remove() methods. There are two other methods addAll() and removeAll() for working with multiple elements.

Both methods accept collections as their parameter. In the code above, you're creating two separate array lists and joining them using the addAll() method.

Then you remove the elements from the second array list using the removeAll() method and the array list goes back to its original state.

You can also drop all elements from an array list using the clear() method:

The method doesn't require any parameter at all and also doesn't return any value. It just empties your array list in a single call.

The removeIf() method can remove elements from an array list if they meet a certain condition:

The method takes a lambda expression as a parameter. Lambda expressions are like unnamed methods. They can receive parameters and work with them.

Here, the removeIf() method will loop over the array list and pass each element to the lambda expression as the value of the number variable.

Then the lambda expression will check whether the given number is divisible by 2 or not and return true or false based on that.

If the lambda expression returns true , the removeIf() method will keep the value. Otherwise the value will be deleted.

To make a duplicate of an array list, you can use the clone() method.

The clone() method returns an object, so you'll have to cast it to a proper array list manually. You can compare two array lists using the equals() method just like in arrays.

How to Check if an Element Is Present or the Array List Is Empty

You can use the contains() method to check if an array list contains a given element or not:

If you want to check if an array list is empty or not, just call the isEmpty() method on it and you'll get a boolean in return.

You can sort an array list in different orders using the sort() method:

The sort() method takes a comparator as its parameter. A comparator imposes the order of sorting on the array list.

You can sort the array list in reverse order just by changing the passed comparator:

Comparators have other usages as well but those are out of the scope of this book.

How to Keep Common Elements From Two Array Lists

Think of a scenario where you have two array lists. Now you'll have to find out which elements are present in both array lists and remove the rest from the first array list.

The retainAll() method can get rid of the uncommon elements from the first array list for you. You'll need to call the method on the array list you want to operate on and pass the second array list as a parameter.

How to Perform an Action on All Elements of an Array List

You've already learned about looping in previous sections. Well, array lists have a forEach() method of their own that takes a lambda expression as parameter and can perform an action on all the elements of the array list.

Last time, the lambda expression you saw was a single line – but they can be bigger. Here, the forEach() method will loop over the array list and pass each element to the lambda expression as the value of the number variable.

The lambda expression will then multiply the supplied value by 2 and print it out on the terminal. However, the original array list will be unchanged.

How to Work With Hash Maps in Java

Hash maps in Java can store elements in key-value pairs. This collection type is comparable to dictionaries in Python and objects in JavaScript.

To create hash maps, you'll first have to import the java.util.HashMap class at the top of your source file.

Then you start by writing HashMap and then inside a pair of less than-greater than signs, you'll write the data type for the key and the value.

Here, the keys will be strings and values will be doubles. After that the assignment operator, followed by new HashMap<>() .

You can use the put() method to put a record in the hash map. The method takes the key as the first parameter and its corresponding value as the second parameter.

There is also the putIfAbsent() method that adds the given element only if it already doesn't exist in the hash map.

You can use the get() method to bring out a value from the hash map. The method takes the key as its parameter.

There is another variation of the this method. The getOrDefault() method works like get() but if the given key is not found, it'll return a specified default value.

The default value has to match the type of the values in the hash map. You can update a value in a hash map using the replace() method:

For removing elements from a hash map, you can use the aptly named remove() method:

If you ever need to know how many entries are there in a hash map, you can do so by using the size() method:

Finally if you want to clear a hash map in Java, you can do so by using the clear() method.

Just like in the array lists, the method doesn't take any argument or return any value.

How to Put in or Replace Multiple Elements in a Hash Map

If you want to put multiple elements into a hash map in a single go, you can do so by using the putAll() method:

The method takes another hash map as its parameter and adds its elements to the one the method has been called upon.

You can also use the replaceAll() method to update multiple values in a hash map.

The replace all method iterates over the hashmap and passes each key value pair to the lambda expression.

The first parameter to the lambda expression is the key and the second one is the value. Inside the lambda expression, you perform your actions.

How to Check if a Hash Map Contains an Item or if It’s Empty

You can use the methods containsKey() and containsValue() for checking if a hash map contains a value or not.

Difference between the two methods is that the containsKey() method checks if the given key exists or not and the containsValue() method checks if the given value exists or not.

And if you want to check if a hash map is empty or not, you can do so by using the isEmpty() method:

Since the method returns a boolean value, you can use it within if-else statements.

How to Perform an Action on All Elements of a Hash Map

Like the array lists, hash maps also have their own forEach() method that you can use to loop over the hash map and repeat a certain action over each entry.

The method loops over each entry and passes the key and value to the lambda expression. Inside the lambda expression body, you can do whatever you want.

Classes and Objects in Java

Here's a helpful definition of object-oriented programming :

OOP (Object-oriented programming) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).

Imagine a library management system where members of the library can log in, take a look at the books they have already borrowed, request new ones, and so on.

In this system the users and the books can all be objects. These objects will have their own properties such as name and birthday (in case of a user) and title and author in case of the books.

Classes in object oriented programming are blueprints for the aforementioned objects. We've already discussed the possible properties of the user and book objects.

To create a new User class, right click on the src folder once again. Then go to New > Java Class , name it User , and hit enter.

Keeping the previously discussed properties in mind, your code for the User class should be as follows:

The LocalDate is a reference data type that represents a date. Now go back to the Main.java file and create a new instance of this class:

Creating a new user is not very different from creating a new string or array. You start by writing out the name of the class then the instance or object name.

Then you put the assignment operator followed by the new keyword and the constructor call. The constructor is a special method that initializes the object.

The constructor has initialized the object properties with default values which is null for all these reference types.

You can access the properties of the object by writing out the name of the object followed by a dot and then the name of the property.

The LocalDate.parse() method can parse a date from a given string. Since the birthDay is a reference type, you'll have to use the toString() method to print out on the console.

The variables or properties of a class describe the state of its objects. Methods on the other hand describes the behavior.

For example, you can have a method within your User class that calculates the user's age.

Here, the this keyword represents the current instance of the class. You start by writing out the return type of the method. Since the age of a user is an integer, the return type of this method will be int .

After the return type, you write the name of the method, followed by a pair of parenthesis.

Then you write the method body within a pair of curly braces. The Period class in Java expresses a time frame in the ISO-8601 calendar system. The LocalDate.now() method returns the current date.

So the Period.between(this.birthDay, LocalDate.now()).getYears() method call will return the difference between the current date and the date of birth in years.

Now back in the Main.java file, you can call this method as follows:

Methods can also accept parameters. For example, if you want to create a method borrow() for inserting new books into the list of borrowed books for this user, you can do so as follows:

Back in the Main.java file, you can call this method as follows:

Let's create a class for the books as well:

Books often have multiple authors. Now you can create a new book instance back in the Main.java file.

Now let's go back to the User.java file and create a relationship between the users and the books:

Instead of using an array list of strings, you're now using an array list of books to store the books borrowed by this user.

Since the argument type of the method has changed, you'll have to update the code in the Main.java file accordingly:

Everything works out fine except the fact that book information has not been printed properly.

I hope you remember the toString() method. When you call user.borrowedBooks.toString() the compiler realizes that the items stored in the arraylist are objects or reference types. So it starts calling the toString() methods inside those items.

The problem is, there is no proper implementation of toString() in your Book class. Open Book.java and update its code as follows:

The toString() method now returns a nicely formatted string instead of the object reference. Run the code once again and this time the output should be Farhan has borrowed these books: [Carmilla by [Sheridan Le Fanu]] .

As you can see, being able to design your software around real-life entities makes it a lot more relatable. Although there is just an array list and a bunch of strings in play, it feels like as if a real book borrowing operation is going on.

In Java, multiple methods can have the same name if their parameters are different. This is called method overloading.

One example can be the borrow() method on the User class. Right now, it accepts a single book as its parameter. Let's make an overloaded version which can accept an array of books instead.

The return type and name of the new method is identical to the previous one, but this one accepts an array of Book objects instead of a single object.

Let's update the Main.java file to make use of this overloaded method.

As you can see, the borrow() method now accepts an array of books or a single book object without any issue.

Constructors are a special kind of method that exists in every class, and whenever you create a new object from a class, the compiler calls it.

Since the method is called during the construction of an object, it's called a constructor. By default, a constructor assigns default values to all its properties.

To override the default constructor, you need to create a new method under your classes with the same name as the class.

Now that you have a constructor, instead of parsing the date from a string in the Main.java file, you can do that here.

This is because the format of the birthday is the concern of the User class and the Main class doesn't need to bother about it.

Same treatment for the book class as well:

Again, the type of the authors collection is not a concern of the Main class. The most basic way of working with a bunch of values in Java is an array.

So you'll receive the author names as an array from the Main class and create an array list out of it in the Book class.

Now you'll have to pass those parameters to the constructor when creating a new user or book object in the Main.java file.

Look how much cleaner it already looks. But soon it'll look better.

You've already seen the keyword public multiple times. This is one of the access modifiers in Java.

There are four access modifiers in Java:

Primitive Type Wrapper Class
Default Accessible within the package
Public Accessible everywhere
Private Accessible within the class
Protected Accessible within the class and subclasses

For now, I'll discuss the Default , Public and Private access modifiers. Protected will be discussed in a later section.

You've already learned about classes. Packages are collections of multiple classes separated by their functionality.

For example, if you're making a game, you can put all the physics-related classes in a separate package and the graphics-related ones in a different one.

Packages are outside of the scope of this book, but as you keep working on larger and larger projects, you'll get the hang of them.

The Public access modifier is pretty self-explanatory. These variables, methods, or classes are accessible from any other class or package in your project.

The Private ones, on the other hand, are the opposite. They're only available within their class.

Take the User class, for example. The name and birthday of a user shouldn't be accessible from the outside.

That's better. Update the Book class as well to hide the title and author information from the outside world.

Since the properties have become private now, the System.out.println() line in the Main.java file will fail to directly access them and will cause an issue.

The solution to this program is writing public methods that other classes can use to access these properties.

Getters and setters are public methods in classes used to read and write private properties.

The getName() and getBorrowedBooks() are responsible for returning the value of the name and borrowedBooks variables.

You never actually access the birthday variable out of the age() method, so a getter is not necessary.

Since the type of the borrowedBooks variable is not a concern of the Main class, the getter makes sure to return the value in the proper format.

Now update the code in the Main.java file to make use of these methods:

Excellent. It has become even cleaner and easier to read. Like getters, there are setters for writing values to the private properties.

For example, you may want to allow the user to change their name or birthday. The borrow() method already works as a setter for the borrowedBooks array list.

Now you can call the setName() method with whatever name you want to set to the user. Similarly, the setBirthDay() method can set the birthday.

You can implement some getters and setters for the Book class as well.

Now you can not access those properties directly. Instead you'll have to use one of the getters or setters.

Inheritance is another big feature of object oriented programming. Imagine you have three kinds of books. The regular ones, e-books, and audio books.

Although they have similarities such as title and author, they also have some differences. For example, the regular books and e-books have page count whereas audio books have run time. The e-books also have format such as PDF or EPUB.

So using the same class for all three of them is not an option. That doesn't mean you'll have to create three separate classes with minor differences, though. You can just create separate classes for e-books and audio books and make them inherit the properties and methods from the Book class.

Let's begin by adding the page count in the Book class:

Since you're not going to use getters and setters in these examples, cleaning up seemed like a good idea. The length() method returns the length of the book as a string.

Now create a new Java class named AudioBook and put the following code in it:

The extends keyword lets the compiler know that this class is a subclass of the Book class. This means that this class inherits all the properties and methods from the parent class.

Inside the AudioBook constructor method, you set the run time for the audio book which is fine – but you'll also have to manually call the constructor of the parent class.

The super keyword in Java refers to the parent class, so super(title, 0, authors) essentially calls the parent constructor method with the necessary parameters.

Since the audio books don't have any pages, setting the page count to zero can be an easy solution.

Or you can create an overloaded version of the Book constructor method that doesn't require the page count.

Next, create another Java class named Ebook with the following code:

This class is largely identical to the Book class except the fact that it has a format property.

So far everything is working fine. But do you remember the length() method you wrote inside the Book class? It'll work for the regular books but will break in the e-books.

That's because the page count property is marked as private and no other class except Book will be able to access it. The title is also a private property.

Open the Book.java file and mark the title and pageCount properties as protected.

This'll make them accessible from the subclasses. The audio books have another problem with the length() method.

Audio books don't have a page count. They have run times and this difference will break the length method.

One way to solve this problem is by overriding the length() method.

As the name suggests, overriding means cancelling the effect of a method by replacing it with something else.

You override a method from the parent class by rewriting the method in the subclass. The @Override keyword is an annotation. Annotations in Java are metadata.

It's not mandatory to annotate the method like this. But if you do, the compiler will know that the annotated method overrides a parent method and will make sure you're following all the rules of overriding.

For example, if you make a mistake in the method name and it doesn't match any method from the parent, the compiler will let you know that the method is not overriding anything.

Cool, isn't it? Whenever overriding a method in Java, keep in mind that both the original and overridden method must have the same return type, same name, and same parameters.

I would like to thank you from the bottom of my heart for the time you've spent on reading this book. I hope you've enjoyed your time and have learned all the fundamental concepts of Java.

This handbook is not frozen in time. I'll keep working on it and I'll update it with improvements, new content, and more. You can provide anonymous opinions and suggestion on the handbook in this form .

Apart from this one, I've written full-length handbooks on other complicated topics available for free on freeCodeCamp .

These handbooks are part of my mission to simplify hard to understand technologies for everyone. Each of these handbooks takes a lot of time and effort to write.

If you've enjoyed my writing and want to keep me motivated, consider leaving starts on GitHub and endorse me for relevant skills on LinkedIn .

I'm always open to suggestions and discussions on Twitter or LinkedIn . Hit me up with direct messages.

In the end, consider sharing the resources with others, because:

In open source, we feel strongly that to really do something well, you have to get a lot of people involved. — Linus Torvalds

Till the next one, stay safe and keep learning.

Software developer with a knack for learning new things and writing about them

If you read this far, thank the author to show them you care. Say Thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

  • Computer Science and Engineering
  • NOC:Programming in Java (Video) 
  • Co-ordinated by : IIT Kharagpur
  • Available from : 2018-11-26
  • Intro Video
  • Lecture 01: Introduction
  • Lecture 02: Java Programming Steps
  • Lecture 03: Java Tools and Resources
  • Lecture 04: Demonstration-I
  • Lecture 05: Java Applet Programming
  • Lecture 06: Demonstration-II
  • Lecture 07: Encapsulation
  • Lecture 08: Demonstration-III
  • Lecture 09: Java Programming Insights
  • Lecture 10: Demonstration-IV
  • Lecture 11 : Java Static Scope Rule
  • Lecture 12 : Demonstration-V
  • Lecture 13 : Inheritance
  • Lecture 14 : Demonstration-VI
  • Lecture 15 : Information Hiding
  • Lecture 16 : Demonstration-VII
  • Lecture 17 : Packages-I
  • Lecture 18 : Packages-II
  • Lecture 19 : Demonstration-VIII
  • Lecture 20 : Interface-I
  • Lecture 21 : Interface-II
  • Lecture 22 : Demonstration-IX
  • Lecture 23 : Exception Handling-I
  • Lecture 24 : Exception Handling-II
  • Lecture 25 : Exception Handling-III
  • Lecture 26 : Demonstration-X
  • Lecture 27 : Multithreading-I
  • Lecture 28 : Multithreading-II
  • Lecture 29 : Demonstration-XI
  • Lecture 30 : I-O Stream-I
  • Lecture 31: I-O Stream-II
  • Lecture 32: I-O Stream-III
  • Lecture 33: Demonstration-XII
  • Lecture 34: Applet Programming—I
  • Lecture 35: Applet Programming—II
  • Lecture 36: Applet Programming--III
  • Lecture 37: Demonstration-XIII
  • Lecture 38: Demonstration-XIV
  • Lecture 39: AWT Programming—I
  • Lecture 40: AWT Programming—II
  • Lecture 41 : Demonstration-XV
  • Lecture 42 : AWT Programming--III
  • Lecture 43 : Swing—I
  • Lecture 44 : Swing—II
  • Lecture 45 : Demonstration-XVI
  • Lecture 46 : Demonstration-XVII
  • Lecture 47 : Demonstration-XVIII
  • Lecture 48 : Networking with Java
  • Lecture 49 : Demonstration-XIX
  • Lecture 50 : JDBC—I
  • Lecture 51 : JDBC—II
  • Lecture 52 : JDBC—III
  • Lecture 53 : Demonstration—XX
  • Lecture 54 : Demonstration—XXI
  • Lecture 55 : Demonstration—XXII
  • Lecture 56: Case Studies - I
  • Lecture 57: Case Studies — II
  • Lecture 58: Case Studies—III
  • Lecture 59: Case Studies—IV
  • Lecture 60: Case Studies—V
  • Live Session 12-03-2021
  • Live Session 13-03-2020
  • Watch on YouTube
  • Assignments
  • Download Videos
  • Transcripts
Module NameDownload
noc20-cs08_Week_01_Assignment_01
noc20-cs08_Week_01_Assignment_02
noc20-cs08_Week_01_Assignment_03
noc20-cs08_Week_01_Assignment_04
noc20-cs08_Week_01_Assignment_05
noc20-cs08_Week_02_Assignment_01
noc20-cs08_Week_02_Assignment_02
noc20-cs08_Week_02_Assignment_03
noc20-cs08_Week_02_Assignment_04
noc20-cs08_Week_02_Assignment_05
noc20-cs08_Week_02_Assignment_06
noc20-cs08_Week_03_Assignment_01
noc20-cs08_Week_03_Assignment_02
noc20-cs08_Week_03_Assignment_03
noc20-cs08_Week_03_Assignment_04
noc20-cs08_Week_03_Assignment_05
noc20-cs08_Week_03_Assignment_06
noc20-cs08_Week_04_Assignment_01
noc20-cs08_Week_04_Assignment_02
noc20-cs08_Week_04_Assignment_03
noc20-cs08_Week_04_Assignment_04
noc20-cs08_Week_04_Assignment_05
noc20-cs08_Week_04_Assignment_06
noc20-cs08_Week_05_Assignment_01
noc20-cs08_Week_05_Assignment_02
noc20-cs08_Week_05_Assignment_03
noc20-cs08_Week_05_Assignment_04
noc20-cs08_Week_05_Assignment_05
noc20-cs08_Week_05_Assignment_06
noc20-cs08_Week_06_Assignment_01
noc20-cs08_Week_06_Assignment_02
noc20-cs08_Week_06_Assignment_03
noc20-cs08_Week_06_Assignment_04
noc20-cs08_Week_06_Assignment_05
noc20-cs08_Week_06_Assignment_06
noc20-cs08_Week_07_Assignment_01
noc20-cs08_Week_07_Assignment_02
noc20-cs08_Week_07_Assignment_03
noc20-cs08_Week_07_Assignment_04
noc20-cs08_Week_07_Assignment_05
noc20-cs08_Week_07_Assignment_06
noc20-cs08_Week_08_Assignment_01
noc20-cs08_Week_08_Assignment_02
noc20-cs08_Week_08_Assignment_03
noc20-cs08_Week_08_Assignment_04
noc20-cs08_Week_08_Assignment_05
noc20-cs08_Week_08_Assignment_06
noc20-cs08_Week_09_Assignment_01
noc20-cs08_Week_09_Assignment_02
noc20-cs08_Week_09_Assignment_03
noc20-cs08_Week_09_Assignment_04
noc20-cs08_Week_09_Assignment_05
noc20-cs08_Week_09_Assignment_06
noc20-cs08_Week_10_Assignment_01
noc20-cs08_Week_10_Assignment_02
noc20-cs08_Week_10_Assignment_03
noc20-cs08_Week_10_Assignment_04
noc20-cs08_Week_10_Assignment_05
noc20-cs08_Week_10_Assignment_06
noc20-cs08_Week_11_Assignment_01
noc20-cs08_Week_11_Assignment_02
noc20-cs08_Week_11_Assignment_03
noc20-cs08_Week_11_Assignment_04
noc20-cs08_Week_11_Assignment_05
noc20-cs08_Week_11_Assignment_06
noc20-cs08_Week_12_Assignment_01
noc20-cs08_Week_12_Assignment_02
noc20-cs08_Week_12_Assignment_03
noc20-cs08_Week_12_Assignment_04
noc20-cs08_Week_12_Assignment_05
noc20-cs08_Week_12_Assignment_06
Sl.No Chapter Name MP4 Download
1Lecture 01: Introduction
2Lecture 02: Java Programming Steps
3Lecture 03: Java Tools and Resources
4Lecture 04: Demonstration-I
5Lecture 05: Java Applet Programming
6Lecture 06: Demonstration-II
7Lecture 07: Encapsulation
8Lecture 08: Demonstration-III
9Lecture 09: Java Programming Insights
10Lecture 10: Demonstration-IV
11Lecture 11 : Java Static Scope Rule
12Lecture 12 : Demonstration-V
13Lecture 13 : Inheritance
14Lecture 14 : Demonstration-VI
15Lecture 15 : Information Hiding
16Lecture 16 : Demonstration-VII
17Lecture 17 : Packages-I
18Lecture 18 : Packages-II
19Lecture 19 : Demonstration-VIII
20Lecture 20 : Interface-I
21Lecture 21 : Interface-II
22Lecture 22 : Demonstration-IX
23Lecture 23 : Exception Handling-I
24Lecture 24 : Exception Handling-II
25Lecture 25 : Exception Handling-III
26Lecture 26 : Demonstration-X
27Lecture 27 : Multithreading-I
28Lecture 28 : Multithreading-II
29Lecture 29 : Demonstration-XI
30Lecture 30 : I-O Stream-I
31Lecture 31: I-O Stream-II
32Lecture 32: I-O Stream-III
33Lecture 33: Demonstration-XII
34Lecture 34: Applet Programming—I
35Lecture 35: Applet Programming—II
36Lecture 36: Applet Programming--III
37Lecture 37: Demonstration-XIII
38Lecture 38: Demonstration-XIV
39Lecture 39: AWT Programming—I
40Lecture 40: AWT Programming—II
41Lecture 41 : Demonstration-XV
42Lecture 42 : AWT Programming--III
43Lecture 43 : Swing—I
44Lecture 44 : Swing—II
45Lecture 45 : Demonstration-XVI
46Lecture 46 : Demonstration-XVII
47Lecture 47 : Demonstration-XVIII
48Lecture 48 : Networking with Java
49Lecture 49 : Demonstration-XIX
50Lecture 50 : JDBC—I
51Lecture 51 : JDBC—II
52Lecture 52 : JDBC—III
53Lecture 53 : Demonstration—XX
54Lecture 54 : Demonstration—XXI
55Lecture 55 : Demonstration—XXII
56Lecture 56: Case Studies - I
57Lecture 57: Case Studies — II
58Lecture 58: Case Studies—III
59Lecture 59: Case Studies—IV
60Lecture 60: Case Studies—V
Sl.No Chapter Name English
1Lecture 01: Introduction
2Lecture 02: Java Programming Steps
3Lecture 03: Java Tools and Resources
4Lecture 04: Demonstration-I
5Lecture 05: Java Applet Programming
6Lecture 06: Demonstration-II
7Lecture 07: Encapsulation
8Lecture 08: Demonstration-III
9Lecture 09: Java Programming Insights
10Lecture 10: Demonstration-IV
11Lecture 11 : Java Static Scope Rule
12Lecture 12 : Demonstration-V
13Lecture 13 : Inheritance
14Lecture 14 : Demonstration-VI
15Lecture 15 : Information Hiding
16Lecture 16 : Demonstration-VII
17Lecture 17 : Packages-I
18Lecture 18 : Packages-II
19Lecture 19 : Demonstration-VIII
20Lecture 20 : Interface-I
21Lecture 21 : Interface-II
22Lecture 22 : Demonstration-IX
23Lecture 23 : Exception Handling-I
24Lecture 24 : Exception Handling-II
25Lecture 25 : Exception Handling-III
26Lecture 26 : Demonstration-X
27Lecture 27 : Multithreading-I
28Lecture 28 : Multithreading-II
29Lecture 29 : Demonstration-XI
30Lecture 30 : I-O Stream-I
31Lecture 31: I-O Stream-II
32Lecture 32: I-O Stream-III
33Lecture 33: Demonstration-XII
34Lecture 34: Applet Programming—I
35Lecture 35: Applet Programming—II
36Lecture 36: Applet Programming--III
37Lecture 37: Demonstration-XIII
38Lecture 38: Demonstration-XIV
39Lecture 39: AWT Programming—I
40Lecture 40: AWT Programming—II
41Lecture 41 : Demonstration-XV
42Lecture 42 : AWT Programming--III
43Lecture 43 : Swing—I
44Lecture 44 : Swing—II
45Lecture 45 : Demonstration-XVI
46Lecture 46 : Demonstration-XVII
47Lecture 47 : Demonstration-XVIII
48Lecture 48 : Networking with Java
49Lecture 49 : Demonstration-XIX
50Lecture 50 : JDBC—I
51Lecture 51 : JDBC—II
52Lecture 52 : JDBC—III
53Lecture 53 : Demonstration—XX
54Lecture 54 : Demonstration—XXI
55Lecture 55 : Demonstration—XXII
56Lecture 56: Case Studies - I
57Lecture 57: Case Studies — II
58Lecture 58: Case Studies—III
59Lecture 59: Case Studies—IV
60Lecture 60: Case Studies—V
Sl.No Chapter Name Hindi
1Lecture 01: Introduction
2Lecture 02: Java Programming Steps
3Lecture 03: Java Tools and Resources
4Lecture 04: Demonstration-I
5Lecture 05: Java Applet Programming
6Lecture 06: Demonstration-II
7Lecture 07: Encapsulation
8Lecture 08: Demonstration-III
9Lecture 09: Java Programming Insights
10Lecture 10: Demonstration-IV
11Lecture 11 : Java Static Scope Rule
12Lecture 12 : Demonstration-V
13Lecture 13 : Inheritance
14Lecture 14 : Demonstration-VI
15Lecture 15 : Information Hiding
16Lecture 16 : Demonstration-VII
17Lecture 17 : Packages-I
18Lecture 18 : Packages-II
19Lecture 19 : Demonstration-VIII
20Lecture 20 : Interface-I
21Lecture 21 : Interface-II
22Lecture 22 : Demonstration-IX
23Lecture 23 : Exception Handling-I
24Lecture 24 : Exception Handling-II
25Lecture 25 : Exception Handling-III
26Lecture 26 : Demonstration-X
27Lecture 27 : Multithreading-I
28Lecture 28 : Multithreading-II
29Lecture 29 : Demonstration-XI
30Lecture 30 : I-O Stream-I
31Lecture 31: I-O Stream-II
32Lecture 32: I-O Stream-III
33Lecture 33: Demonstration-XII
34Lecture 34: Applet Programming—I
35Lecture 35: Applet Programming—II
36Lecture 36: Applet Programming--III
37Lecture 37: Demonstration-XIII
38Lecture 38: Demonstration-XIV
39Lecture 39: AWT Programming—I
40Lecture 40: AWT Programming—II
41Lecture 41 : Demonstration-XV
42Lecture 42 : AWT Programming--III
43Lecture 43 : Swing—I
44Lecture 44 : Swing—II
45Lecture 45 : Demonstration-XVI
46Lecture 46 : Demonstration-XVII
47Lecture 47 : Demonstration-XVIII
48Lecture 48 : Networking with Java
49Lecture 49 : Demonstration-XIX
50Lecture 50 : JDBC—I
51Lecture 51 : JDBC—II
52Lecture 52 : JDBC—III
53Lecture 53 : Demonstration—XX
54Lecture 54 : Demonstration—XXI
55Lecture 55 : Demonstration—XXII
56Lecture 56: Case Studies - I
57Lecture 57: Case Studies — II
58Lecture 58: Case Studies—III
59Lecture 59: Case Studies—IV
60Lecture 60: Case Studies—V
Sl.No Chapter Name Telugu
1Lecture 01: Introduction
2Lecture 02: Java Programming Steps
3Lecture 03: Java Tools and Resources
4Lecture 04: Demonstration-I
5Lecture 05: Java Applet Programming
6Lecture 06: Demonstration-II
7Lecture 07: Encapsulation
8Lecture 08: Demonstration-III
9Lecture 09: Java Programming Insights
10Lecture 10: Demonstration-IV
11Lecture 11 : Java Static Scope Rule
12Lecture 12 : Demonstration-V
13Lecture 13 : Inheritance
14Lecture 14 : Demonstration-VI
15Lecture 15 : Information Hiding
16Lecture 16 : Demonstration-VII
17Lecture 17 : Packages-I
18Lecture 18 : Packages-II
19Lecture 19 : Demonstration-VIII
20Lecture 20 : Interface-I
21Lecture 21 : Interface-II
22Lecture 22 : Demonstration-IX
23Lecture 23 : Exception Handling-I
24Lecture 24 : Exception Handling-II
25Lecture 25 : Exception Handling-III
26Lecture 26 : Demonstration-X
27Lecture 27 : Multithreading-I
28Lecture 28 : Multithreading-II
29Lecture 29 : Demonstration-XI
30Lecture 30 : I-O Stream-I
31Lecture 31: I-O Stream-II
32Lecture 32: I-O Stream-III
33Lecture 33: Demonstration-XII
34Lecture 34: Applet Programming—I
35Lecture 35: Applet Programming—II
36Lecture 36: Applet Programming--III
37Lecture 37: Demonstration-XIII
38Lecture 38: Demonstration-XIV
39Lecture 39: AWT Programming—I
40Lecture 40: AWT Programming—II
41Lecture 41 : Demonstration-XV
42Lecture 42 : AWT Programming--III
43Lecture 43 : Swing—I
44Lecture 44 : Swing—II
45Lecture 45 : Demonstration-XVI
46Lecture 46 : Demonstration-XVII
47Lecture 47 : Demonstration-XVIII
48Lecture 48 : Networking with Java
49Lecture 49 : Demonstration-XIX
50Lecture 50 : JDBC—I
51Lecture 51 : JDBC—II
52Lecture 52 : JDBC—III
53Lecture 53 : Demonstration—XX
54Lecture 54 : Demonstration—XXI
55Lecture 55 : Demonstration—XXII
56Lecture 56: Case Studies - I
57Lecture 57: Case Studies — II
58Lecture 58: Case Studies—III
59Lecture 59: Case Studies—IV
60Lecture 60: Case Studies—V
Sl.No Language Book link
1English
2BengaliNot Available
3GujaratiNot Available
4HindiNot Available
5KannadaNot Available
6MalayalamNot Available
7MarathiNot Available
8TamilNot Available
9TeluguNot Available

IMAGES

  1. Java Programs

    java assignment programs pdf

  2. Java Assignment

    java assignment programs pdf

  3. package Assignment;import java.util.;public class assignment .pdf

    java assignment programs pdf

  4. Java Assignment 2

    java assignment programs pdf

  5. Java Programming Assignment

    java assignment programs pdf

  6. Assignment Java Programming 2

    java assignment programs pdf

VIDEO

  1. JAVA Assignment Operators

  2. Java syllabus for placement #coding #javaforplacement #Java #javascript

  3. Write a program in java to assign and display name,class and roll number of a student

  4. NPTEL Programming In Java Week 3 Programming Assignment Answers Solution

  5. assignment

  6. UNIT-5 FUNDAMENTALS TO JAVA PROGRAMMING|| CLASS -11 IT 802 || CBSE|| INFORMATION TECHNOLOGY|| PART-8

COMMENTS

  1. PDF Introduction to Programming in Java

    plete Java programs and encourage readers to use them. We focus on programming by individuals, not library programming or programming in the large (which we treat briefly in an appendix). Use in the Curriculum This book is intended for a first-year college course aimed at teaching novices to program in the context of scientific applications.

  2. Java programming Exercises, Practice, Solution

    The best way we learn anything is by practice and exercise questions. Here you have the opportunity to practice the Java programming language concepts by solving the exercises starting from basic to more complex exercises. A sample solution is provided for each exercise. It is recommended to do these exercises by yourself first before checking ...

  3. 199+ Basic Java Programs For Practice With Solutions PDF

    Here we have listed down the 11 Java programming categories in which you can find the 200+ List of Basic Java Programs For Practice With Solutions. We almost covered all the categories in java programming, Ie. Basic Programs, Array Programs, Matrix Programs, String Programs, Conversion Programs, Pattern programs, Singly Linked List Programs ...

  4. Introduction to Programming in Java · Computer Science

    Programming assignments. Creative programming assignments that we have used at Princeton. You can explore these resources via the sidebar at left. Introduction to Programming in Java. Our textbook Introduction to Programming in Java [ Amazon · Pearson · InformIT] is an interdisciplinary approach to the traditional CS1 curriculum with Java. We ...

  5. PDF Learning Computer Programming Using Java with 101 Examples

    programming languages are presented through writing Java programs. Java is selected as the language of choice due to its relatively simple grammars. It is also a good choice for introducing students to the concept of object-oriented programming which is one of the most popular paradigms in the current days. Furthermore, Java is one of the most

  6. Java Programs

    Java, With the help of this course, students can now get a confidant to write a basic program to in-depth algorithms in C Programming or Java Programming to understand the basics one must visit the list 500 Java programs to get an idea. Users can now download the top 100 Basic Java programming examples in a pdf format to practice.

  7. Introduction to Programming Using Java

    Welcome to the Eighth Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is not meant to provide complete coverage of the Java ...

  8. PDF Introduction to Programming Using Java

    Introduction to Programming Using Java Version 5.0, December 2006 (Version 5.0.2, with minor corrections, November 2007) David J. Eck Hobart and William Smith Colleges

  9. PDF CMU School of Computer Science

    CMU School of Computer Science

  10. Assignments

    Introduction to Programming in Java. Menu. More Info Syllabus Lecture Notes Assignments Related Resources Assignments. ASSN # ASSIGNMENTS SUPPORTING FILES 1 ... assignment Programming Assignments. Download Course. Over 2,500 courses & materials Freely sharing knowledge with learners and educators around the world.

  11. PDF Programming in Java

    There has been an ideal or a dream of re-usable software components for ages, but it is only recently that it has started to become something that can be not just feasible but reasonably convenient. Java is one of the languages that encour-ages this move, and the whole Object Oriented Programming movement that Java forms part of provides a context.

  12. Java Exercises

    Output: 5. Click Here for the Solution. 3. Write a Program to Swap Two Numbers. Input: a=2 b=5. Output: a=5 b=2. Click Here for the Solution. 4. Write a Java Program to convert Integer numbers and Binary numbers.

  13. Introduction to Programming in Java

    This course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005. Students will learn the fundamentals of Java. The focus is on developing high quality, working software that solves real problems. The course is designed for students with some programming experience, but if you have none and are motivated you will do fine.

  14. PDF Java Programming Lab Manual

    Lab Objectives: 4CS4-25.1: To be able to develop an in depth understanding of programming in Java: data types, variables, operators, operator precedence, Decision and control statements, arrays, switch statement, Iteration Statements, Jump Statements, Using break, Using continue, return. 4CS4-25.2: To be able to write Object Oriented programs ...

  15. PDF Programming in Java

    Programming in Java Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Unit 1, Part 2 Programs and Classes • In Java, all programs consist of one of more classes. • For now: • we'll limit ourselves to writing a single class • you can just think of a class as a container for your program • Example: our earlier program:

  16. Java Programming Exercises With Solutions (PDF)

    Download Java Programming Exercises With Solutions (For Beginners) Download Now. If you face any problem in downloading Java Programming Practical Assignments Questions and Solutions PDFs, then tell us in the comment below and you will definitely share this post with your friends so that they can also be of some help.

  17. The Java Handbook

    So if you want to run Java programs on your computer you install the JRE. If you want to develop Java programs yourself, you install the JDK. ... The final local variable age cannot be assigned. It must be blank and not using a compound assignment at variables.Main.main(Main.java:9) ... The e-books also have format such as PDF or EPUB.

  18. PDF Object Oriented Programming With Java

    The Java compiler ( javac ) converts a Java program into Java byte code - Open a DOS shell (in Windows) or Terminal (in Unix) - Move to the directory where your Java program has been saved - Enter the following command to compile: javac HelloWorldApp.java.

  19. PDF Control Statements in Java

    Announcements Assignment 1 (Karel) due at 3:15PM today. You can use a late period and submit on Wednesday of next week by 3:15PM. It's okay to use a late period on the Karel assignment - this is your first time programming! Email assignment due Sunday. Looking forward to meeting you! Assignment 2 (Welcome to Java!) goes out, is due on

  20. PDF Java, Java, Java

    This PDF edition of the book is available under a Creative Commons ... (Computers, Objects, and Java) and 1 (Java Program De-sign and Development) have been substantially reorganized and rewritten. The new presentation is designed to reduce the pace ... right after covering the assignment and I/O constructs in Chapter 1. It then covered program ...

  21. Computer Science and Engineering

    noc20-cs08_Week_01_Assignment_02: noc20-cs08_Week_01_Assignment_02: noc20-cs08_Week_01_Assignment_03: noc20-cs08_Week_01_Assignment_03: ... Lecture 09: Java Programming Insights: Download Verified; 10: Lecture 10: Demonstration-IV: Download Verified; 11: Lecture 11 : Java Static Scope Rule: Download Verified; 12:

  22. PDF Building Java Programs

    12 Recursion and cases Every recursive algorithm involves at least 2 cases: base case: A simple occurrence that can be answered directly. recursive case: A more complex occurrence of the problem that cannot be directly answered, but can instead be described in terms of smaller occurrences of the same problem.

  23. PDF Multithreaded Programming using Java Threads

    Create a class that implements the interface Runnable and override run() method: class MyThread implements Runnable {. ..... public void run() { // thread body of execution } } Creating Object: MyThread myObject = new MyThread(); Creating Thread Object: Thread thr1 = new Thread( myObject ); Start Execution:

  24. PDF To: First Year (1L) Students in the Juris Doctor Program

    Orientation. The assigned components of the program will take you approximately four hours to complete and will complement other Orientation assignments and programming. You are of course free to participate in all additional aspects of the JDEdge program at your preference - we encourage you to explore all the offerings to see what interests you!