0% found this document useful (0 votes)
9 views

P in JAVA M2

java notes module 2 3rd year for beginners

Uploaded by

nihalnagekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

P in JAVA M2

java notes module 2 3rd year for beginners

Uploaded by

nihalnagekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Programming in JAVA

Programming in Java
Course Code 21CS652 CIE Marks 50
Teaching Hours/Week (L: T: P: S) (3:0:0:0) SEE Marks 50
Total Hours of Pedagogy 40 hours Theory Total Marks 100
Credits 03 Exam Hours 03
Course Learning Objectives
CLO 1. Learn fundamental features of object-oriented language and JAVA.
CLO 2. To create, debug and run simple Java programs.
CLO 3. Learn object-oriented concepts using programming examples.
CLO 4. Study the concepts of importing packages and exception handling mechanism.
CLO 5. Discuss the String Handling examples with Object Oriented concepts.
Teaching-Learning Process (General Instructions)
These are sample Strategies, which teachers can use to accelerate the attainment of the various course outcomes.
1. Lecturer method (L) need not to be only a traditional lecture method, but alternative effective teaching methods could be
adopted to attain the outcomes.
2. Use of Video/Animation to explain functioning of various concepts.
3. Encourage collaborative (Group Learning) Learning in the class.
4. Ask at least three HOT (Higher order Thinking) questions in the class, which promotes critical thinking.
5. Adopt Problem Based Learning (PBL), which fosters students’ Analytical skills, develop design thinking skills such as the ability
to design, evaluate, generalize, and analyze information rather than simply recall it.
6. Introduce Topics in manifold representations.
7. Show the different ways to solve the same problem with different circuits/logic and encourage the students to come up with their
own creative ways to solve them.
8. Discuss how every concept can be applied to the real world - and when that's possible, it helps improve the students'
understanding.
Module-2:
Operators: Arithmetic Operators, The Bitwise Operators, Relational Operators, Boolean Logical operators, The Assignment
Operator, The ? Operator, Operator Precedence, Using Parentheses,
Control Statements: Java’s Selection Statements, Iteration Statements, Jump Statements.
Textbook 1:Ch 4,Ch 5.
Teaching-Learning Process Chalk and Talk, PowerPoint Presentation RBT Level: L1, L2,

Textbooks
1. Herbert Schildt, Java The Complete Reference, 7th Edition, Tata McGraw Hill, 2007. (Chapters 2, 3, 4, 5, 6,7, 8, 9,10, 12,15)
Reference Books:
1. Mahesh Bhave and Sunil Patekar, "Programming with Java", First Edition, Pearson
Education,2008, ISBN:9788131720806.
2. Rajkumar Buyya,SThamarasiselvi, xingchen chu, Object oriented Programming with java, Tata
McGraw Hill education private limited.
3. E Balagurusamy, Programming with Java A primer, Tata McGraw Hill companies.

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 1


JAVA OPERATORS
Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:
• Arithmetic Operators
• Relational Operators
• Bitwise Operators
• Logical Operators
• Assignment Operators
• Misc Operators

Arithmetic Operators
Arithmetic operators are used in mathematical expressions in the same way that they are used in
algebra. The following table lists the arithmetic operators. Assume integer variable A holds 10 and
variable B holds 20, then:
Operator Description Example
+ Addition - Adds values on either side of the operator A + B will give 30
- Subtraction - Subtracts right hand operand from left hand operand A - B will give -10
* Multiplication - Multiplies values on either side of the operator A * B will give 200
/ Division - Divides left hand operand by right hand operand B / A will give 2
% Modulus - Divides left operand by right operand and returns remainder
B % A will give 0
++ Increment - Increases the value of operand by 1 B++ gives 21
-- Decrement - Decreases the value of operand by 1 B-- gives 19
Example: The following simple example program demonstrates the arithmetic operators. Copy and
paste the following Java program into Test.java file and compile and run this program:

public class Test {


public static void main(String args[]) { int a = 10;
int b = 20; int c = 25; int d = 25;
System.out.println("a + b = " + (a + b) );
System.out.println("a - b = " + (a - b) );
System.out.println("a * b = " + (a * b) );
System.out.println("b / a = " + (b / a) );
System.out.println("b % a = " + (b % a) );
System.out.println("c % a = " + (c % a) );
System.out.println("a++ = " + (a++) ); System.out.println("b-- = " + (a--) );
// Check the difference in d++ and ++d System.out.println ("d++ = " + (d++) );
// System.out.println ("++d = " + (++d) );
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 2


Relational Operators

There are following relational operators supported by Java language.


Assume variable A holds 10 and variable B holds 20, then:
Operator Description Example
== Checks if the values of two operands are equal or not, if yes then condition (A == B) is not true.
becomes true.
!= Checks if the values of two operands are equal or not, if values are not equal (A != B) is true.

Example: The following simple example program demonstrates the relational operators. Copy and
paste the following Java program in Test.java file and compile and run this program. :

public class Test {


public static void main(String args[]) { int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}

a&b = 0000 1100


Bitwise Operators
a|b = 0011 1101
Java defines several bitwise operators, which can be applied to the integer types, a^b = 0011 0001
long, int, short, char, and byte. Bitwise operator works on bits and performs bit‐by‐
~a = 1100 0011
bit operation. Assume if a = 60; and b = 13; now in binary format they will be a =
0011 1100 and b = 0000 1101.

Operator Description Example

& Binary AND Operator copies a bit to the result if it exists in (A & B) will give 12 which is 0000 1100
both operands.
| Binary OR Operator copies a bit if it exists in either operand. (A | B) will give 61 which is 0011 1101
^ Binary XOR Operator copies the bit if it is set in one operand (A ^ B) will give 49 which is 0011 0001
but not both.
~ Binary Ones Complement Operator is unary and has the effect (~A ) will give -61 which is 1100 0011
of 'flipping' bits. in 2's complement form due to a
signed binary number.
<< Binary Left Shift Operator. The left operands value is moved A << 2 will give 240
left by the number of bits specified by the right operand. which is 1111 0000
>> Binary Right Shift Operator. The left operands value is moved A >> 2 will give 15
right by the number of bits specified by the right operand. which is 1111
>>> Shift right zero fill operator. The left operands value is A >>>2 will give 15
moved right by the number of bits specified by the right which is 0000 1111
operand and shifted values are filled up with zeros.

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 3


The following simple example program demonstrates the bitwise operators. Copy and paste the following
Java program in Test.java file and compile and run this program:

public class Test {


public static void main(String args[]) { int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */ int c = 0;
c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c );
c = a | b; /* 61 = 0011 1101 */ System.out.println("a | b = " + c );
c = a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c );
c = ~a; /*-61 = 1100 0011 */ System.out.println("~a = " + c );
c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c ); c = a >> 2; /* 215 = 1111 */
System.out.println("a >> 2 = " + c );
c = a >>> 2; /* 215 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
}
}

Logical Operators
The following table lists the logical operators. Assume Boolean variables A holds true and variable B
holds false, then:
Operator Description Example
Called Logical AND operator. If both the operands are non-zero, then the
&& condition becomes true. (A && B) is false.

Called Logical OR Operator. If any of the two operands are non-zero, then the
|| condition becomes true. (A || B) is true.

Called Logical NOT Operator. Use to reverses the logical state of its operand.
! If a condition is true then Logical NOT operator will make false. !(A && B) is true.

The following simple example program demonstrates the logical operators. Copy and paste the following
Java program in Test.java file and compile and run this program:
public class Test {
public static void main(String args[]) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a&&b));
System.out.println("a || b = " + (a||b) );
System.out.println("!(a && b) = " + !(a && b));
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 4


Assignment Operators
There are following assignment operators supported by Java language:
Operator Description Example
Simple assignment operator, Assigns values from right side operands to left side operand C = A + B will assign
= value of A + B into C
Add AND assignment operator, It adds right operand to the left operand and assign the result C += A is equivalent to
+= to left operand C=C+A
Subtract AND assignment operator, It subtracts right operand from the left operand and C -= A is equivalent to
-= assign the result to left operand C=C-A
Multiply AND assignment operator, It multiplies right operand with the left operand and assign C *= A is equivalent to
*= the result to left operand C=C*A
Divide AND assignment operator, It divides left operand with the right operand and assign the C /= A is equivalent to
/= result to left operand C=C/A
Modulus AND assignment operator, It takes modulus using two operands and assign the C %= A is equivalent to
%= result to left operand C=C%A
C <<= 2 is same as C
<<= Left shift AND assignment operator = C << 2
C >>= 2 is same as C
>>= Right shift AND assignment operator = C >> 2
C &= 2 is same as C
&= Bitwise AND assignment operator =C&2
C ^= 2 is same as C
^= bitwise exclusive OR and assignment operator =C^2
C |= 2 is same as C
|= bitwise inclusive OR and assignment operator =C|2
The following simple example program demonstrates the assignment operators. Copy and paste the
following Java program in Test.java file and compile and run this program:

public class Test {


public static void main(String args[]) { int a = 10;
int b = 20; int c = 0;
c = a + b;
System.out.println("c = a + b = " + c );
c += a ;
System.out.println("c += a = " + c );
c -= a ;
System.out.println("c -= a = " + c );
c *= a ;
System.out.println("c *= a = " + c );
a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );
a = 10;
c = 15;
c %= a ; System.out.println("c %= a

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 5


c <<= 2 ;
System.out.println("c <<= 2
c >>= 2 ;
System.out.println("c >>= 2
c >>= 2 ;
System.out.println("c >>= a
c &= a ; System.out.println("c &= 2
c ^= a ;
System.out.println("c ^= a = " + c );
c |= a ;
System.out.println("c |= a = " + c );
}
}

Miscellaneous Operators

There are few other operators supported by Java Language:


Conditional Operator ( ? : )

Conditional operator is also known as the ternary operator. This operator consists of three operands
and is used to evaluate Boolean expressions. The goal of the operator is to decide which value should
be assigned to the variable. The operator is written as:
variable x = (expression) ? value if true : value if false
public class Test {
public static void main(String args[]){ int a , b;
a = 10;
b = (a == 1) ? 20: 30;
System.out.println( "Value of b is : " + b );
b = (a == 10) ? 20: 30;
System.out.println( "Value of b is : " + b );
}
}
// This would produce the following result:
// Value of b is : 30 Value of b is : 20

instanceOf Operator

This is only for documentation purposes.


This operator is used only for object reference variables. The operator checks whether the object is
of a particular type(class type or interface type). The instanceOf operator is wriiten as:
( Object reference variable ) instanceOf (class/interface type)

If the object referred by the variable on the left side of the operator passes the IS‐A check for the

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 6


class/interface type on the right side, then the result will be true. Following is the example:
String name = = 'James';
boolean result = name instanceOf String;
// This will return true since name is type of String
This operator will still return true if the object being compared is the assignment compatible with the
type on the right. Following is one more example:
public class Car extends Vehicle {
public static void main(String args[]){
Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result);
}
}
// This would produce the following result: true

Operator Precedence
Operator precedence determines the grouping of terms in an expression. This affects how an expression is
evaluated. Certain operators have higher precedence than others; for example, the multiplication operator
has higher precedence than the addition operator.
For example, x = 7 + 3 * 2; here x is assigned 13, not 20 because operator * has higher precedence than
+, so it first gets multiplied with 3*2 and then adds into 7.
Here, operators with the highest precedence appear at the top of the table, those with the lowest
appear at the bottom. Within an expression, higher precedence operators will be evaluated first.
Category Operator Associativity
Postfix () [] . (dot operator) Left to right
Unary ++ - - ! ~ Right to left
Multiplicative */% Left to right
Additive +- Left to right
Shift >> >>> << Left to right
Relational > >= < <= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %=>> = <<= &= ^= |= Right to left
Comma , Left to right

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 7


CONTROL STRUCRURES
LOOPS

There may be a situation when we need to execute a block of code several number of times, and is
often referred to as a loop. Java has very flexible three looping mechanisms. You can use one of the
following three loops:
• while Loop
• do...while Loop
• for Loop
As of Java 5, the enhanced for loop was introduced. This is mainly used for Arrays and we will not
explain it.

while Loop
The syntax of a while loop is:
while(Boolean_expression)
{
//Statements
}
When executing, if the boolean_expression result is true, then the actions inside the loop will be
executed. This will continue as long as the expression result is true.
Here, key point of the while loop is that the loop might not ever run. When the expression is tested
and the result is false, the loop body will be skipped and the first statement after the while loop will
be executed.
public class Test {
public static void main(String args[]) { int x = 10;
while( x < 20 ) {
System.out.print("value of x : " + x ); x++;
System.out.print("\n");
}
}
}

do..while Loop
A do...while loop is similar to a while loop, except that a do...while loop is guaranteed to execute at least
one time.
The syntax of a do...while loop is:
do
{
//Statements
} while(Boolean_expression);
Notice that the Boolean_ expression appears at the end of the loop, so the statements in the loop executes
once before the Boolean is tested. If the Boolean expression is true, the flow of control jumps back up to
do, and the statements in the loop execute again. This process repeats until the Boolean expression is
false.

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 8


public class Test {
public static void main(String args[]){ int x = 10;
do{
System.out.print("value of x : " + x ); x++;
System.out.print("\n");
}while( x < 20 );
}
}

for Loop
A for loop is a repetition control structure that allows you to efficiently write a loop that needs to execute a
specific number of times.
A for loop is useful when you know how many times a task is to be repeated.
The syntax of a for loop is:

for(initialization; Boolean_expression; update)


{
//Statements
}
As you can see, for consist of three parts, or steps.
The initialization step is executed first, and only once. This step allows you to declare and initialize any
loop control variables. You are not required to put a statement here, as long as a semicolon appears.
Next, the Boolean expression is evaluated. If it is true, the body of the loop is executed. If it is false, the
body of the loop does not execute and flow of control jumps to the next statement past the for loop.
After the body of the for loop executes, the flow of control jumps back up to the update statement. This
statement allows you to update any loop control variables. This statement can be left blank, as long as a
semicolon appears after the Boolean expression.
The Boolean expression is now evaluated again. If it is true, the loop executes and the process repeats itself
(body of loop, then update step, then Boolean expression). After the Boolean expression is false, the for
loop terminates.
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}

The break Keyword:

The break keyword is used to stop the entire loop. The break keyword must be used inside any loop or a
switch statement.
The break keyword will stop the execution of the innermost loop and start executing the next line of code
after the block.

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 9


The syntax of a break is a single statement inside any loop:
break;
Example:
public class Test {
public static void main(String args[]) {
int x;
for(x=0; x<=50; x++ ) {
if( x == 3 ) {
break;
}
System.out.print( x ); System.out.print("\n");
}
}
}

The continue Keyword:

The continue keyword can be used in any of the loop control structures. It causes the loop to immediately
jump to the next iteration of the loop. In a for loop, the continue keyword causes flow of control to
immediately jump to the update statement. In a while loop or do/while loop, flow of control immediately
jumps to the Boolean expression.
The syntax of a continue is a single statement inside any loop:
continue;
Example:
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x ); System.out.print("\n");
}
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 10


Decision Making Statements

There are two types of decision making statements in Java. They are:
• if statements
• switch statements

The i f S t a t e m e n t :
The if Statement: An if statement consists of a Boolean expression followed by one or more
statements.
The syntax of an if statement is:
if(Boolean_expression)
{
//Statements will execute if the Boolean expression is true
}
If the Boolean expression evaluates to true then the block of code inside the if statement will be
executed. If not the first set of code after the end of the if statement (after the closing curly brace)
will be executed.
Example:
public class Test {
public static void main(String args[]){
int x = 10;
if( x < 20 ){
System.out.print("This is if statement");
}
}
}
// This would produce the following result: This is if statement

The i f … e l s e i f … e l s e S t a t e m e n t :
An if statement can be followed by an optional else if...else statement, which is very useful to test
various conditions using single if...else if statement.
• When using if , else if , else statements there are few points to keep in mind:
• An if can have zero or one else's and it must come after any else if's.
• An if can have zero to many else if's and they must come before the else.
• Once an else if succeeds, none of the remaining else if's or else's will be tested.
The syntax of an if...else is:
if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
//Executes when the Boolean expression 3 is true
}else {
//Executes when the none of the above condition is true.
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 11


Example:
public class Test {
public static void main(String args[]){ int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{
System.out.print("This is else statement");
}
}
}
// This would produce the following result:
// Value of X is 30

The N e s t e d i f … e l s e S t a t e m e n t :
It is always legal to nest if‐else statements which means you can use one if or else if statement inside
another if or else if statement.
The syntax for a nested if...else is as follows:
if(Boolean_expression 1)
{
//Executes when the Boolean expression 1 is true
if(Boolean_expression 2)
{
//Executes when the Boolean expression 2 is true
}
}
You can nest else if...else in the similar way as we have nested if statement.
Example:
public class Test {
public static void main(String args[]){
int x = 30;
int y = 10;
if( x == 30 ){
if( y == 10 ){
System.out.print("X = 30 and Y = 10");
}
}
}
}
// This would produce the following result:
// X = 30 and Y = 10

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 12


The s w i t c h S t a t e m e n t :
A switch statement allows a variable to be tested for equality against a list of values. Each value is
called a case, and the variable being switched on is checked for each case.
The syntax is:
switch(expression){ case
value1 :
//Statements break;
//optional
case value2 :
//Statements break;
//optional
//You can have any number of case statements.
default : //Optional
//Statements
}

Example:
public class Test {
public static void main(String args[]){ char grade = 'C';
switch(grade){
case 'A' : System.out.println("Excellent!");
break;
case 'B' :
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
break;
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
// This would produce the following
// Well done Your grade is a C

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 13


The following rules apply to a switch statement:
• The variable used in a switch statement can only be a byte, short, int, or char.
• You can have any number of case statements within a switch. Each case is followed by the
value to be compared to and a colon.
• The value for a case must be the same data type as the variable in the switch and it must be a
constant or a literal.
• When the variable being switched on is equal to a case, the statements following that
case will execute until a break statement is reached.
• When a break statement is reached, the switch terminates, and the flow of control jumps to
the next line following the switch statement.
Not every case needs to contain a break. If no break appears, the flow of control will fall through to
subsequent cases until a break is reached.
A switch statement can have an optional default case, which must appear at the end of the switch.
The default case can be used for performing a task when none of the cases is true. No break is needed
in the default case.

“Determine the season based on the given month value. Provide a detailed explanation of how the code
works and what output it produces for the month of April."
// Demonstrate if-else-if statements.
class test {
public static void main(String args[]) {
int month = 4; // April
String season;
if (month == 12 || month == 1 || month == 2)
season = "Winter";
else if (month == 3 || month == 4 || month == 5)
season = "Spring";
else if (month == 6 || month == 7 || month == 8)
season = "Summer";
else if (month == 9 || month == 10 || month == 11)
season = "Autumn";
else
season = "Bogus Month";
System.out.println("April is in the " + season + ".");
}
}
Here is the output produced by the program:
April is in the Spring.

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 14


"Write a Java program that prompts the user to enter a number between 0 and 5, and then uses a switch
statement to print a message corresponding to the entered number. If the entered number is 0, the
program should print 'i is zero.' If the number is 1, it should print 'i is one.', and so on, up to 5. If the entered
number is greater than 5, the program should print 'i is greater than 5.' Provide the code for this program."
import java.util.Scanner;
public class test {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a positive number: ");
int input = scanner.nextInt();
switch (input) {
case 0:
System.out.println("i is zero.");
break;
case 1:
System.out.println("i is one.");
break;
case 2:
System.out.println("i is two.");
break;
case 3:
System.out.println("i is three.");
break;
case 4:
System.out.println("i is four.");
break;
case 5:
System.out.println("i is five.");
break;
default:
System.out.println("i is greater than 5.");
}
scanner.close();
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 15


“Explain how the absence of break statements between cases affects the execution flow within the switch
statement. Implement the code given in Ex01 using switch "
// An improved version of the season program.
class test {
public static void main(String args[]) {
int month = 4;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Bogus Month";
}
System.out.println("April is in the " + season + ".");
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 16


“Describe the structure of the nested switch statements and how they determine the category and item
based on given values. Explain the flow of execution within the nested switch statements and provide an
example output for specific values of 'category' and 'item'."
We have two switch statements: the outer switch determines the category, and the inner switch determines the item within that
category.Depending on the value of category, we enter one of the outer switch cases. Within each outer switch case, there is an
inner switch statement that determines the item based on the value of item. The inner switch statement is nested within the outer
switch statement. Depending on the combination of category and item, different messages are printed to the console.
public class test {
public static void main(String[] args) {
int category = 2;
int item = 1;
switch (category) {
case 1:
System.out.println("Category: Electronics");
switch (item) {
case 1:
System.out.println("Item: Smartphone");
break;
case 2:
System.out.println("Item: Laptop");
break;
default:
System.out.println("Invalid item in Electronics category");
}
break;
case 2:
System.out.println("Category: Clothing");
switch (item) {
case 1:
System.out.println("Item: Shirt");
break;
case 2:
System.out.println("Item: Pants");
break;
default:
System.out.println("Invalid item in Clothing category");
}
break;
default:
System.out.println("Invalid category");
}
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 17


“Write a program which utilizes a do-while loop to present a menu of options to the user and reads their
selection from the standard input and ensures a valid menu choice.”
// Using a do-while to process a menu selection
class test {
public static void main(String args[])
throws java.io.IOException {
char choice;
do {
System.out.println("Help on:");
System.out.println(" 1. if");
System.out.println(" 2. switch");
System.out.println(" 3. while");
System.out.println("Choose one:");
choice = (char) System.in.read();
} while (choice < '1' || choice > '3');
System.out.println("\n");
switch (choice) {
case '1':
System.out.println("The if:\n");
System.out.println("if(condition) statement;");
System.out.println("else statement;");
break;
case '2':
System.out.println("The switch:\n");
System.out.println("switch(expression) {");
System.out.println(" case constant:");
System.out.println(" statement sequence");
System.out.println(" break;");
System.out.println(" // ...");
System.out.println("}");
break;
case '3':
System.out.println("The while:\n");
System.out.println("while(condition) statement;");
break;
}
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 18


'Write a code to determine whether a given number is prime or not.”
// Test for primes.
class test {
public static void main(String args[]) {
int num;
boolean isPrime = true;
num = 14;
for (int i = 2; i <= num / i; i++) {
if ((num % i) == 0) {
isPrime = false;
break;
}
}
if (isPrime)
System.out.println("Prime");
else
System.out.println("Not Prime");
}
}

Some for Loop Variations


// Parts of the for loop can be empty.
class ForVar {
public static void main(String args[]) {
int i;
boolean done = false;
i = 0;
for (; !done;) {
System.out.println("i is " + i);
if (i == 10)
done = true;
i++;
}
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 19


The For-Each Version of the for Loop
Write a code to iterate over the elements of an array using a for-each loop to displays each value of the
array and calculates their summation.
// Use a for-each style for loop.
class ForEach {
public static void main(String args[]) {
int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = 0;
// use for-each style for to display and sum the values
for (int x : nums) {
System.out.println("Value is: " + x);
sum += x;
}
System.out.println("Summation: " + sum);
}
}

Iterating Over Multidimensional Arrays using Nested Loops


Write a code to iterate over the elements of the two-dimensional array, displaying each value and calculating
their summation
/ Use for-each style for on a two-dimensional array.
class ForEach3 {
public static void main(String args[]) {
int sum = 0;
int nums[][] = new int[3][5];
// give nums some values
for (int i = 0; i < 3; i++)
for (int j = 0; j < 5; j++)
nums[i][j] = (i + 1) * (j + 1);
// use for-each for to display and sum the values
for (int x[] : nums) {
for (int y : x) {
System.out.println("Value is: " + y);
sum += y;
}
}
System.out.println("Summation: " + sum);
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 20


Applying the Enhanced for
Since the for-each style for can only cycle through an array sequentially, from start to finish, you might think
that its use is limited, but this is not true. A large number of algorithms require exactly this mechanism. One of
the most common is searching. For example, the following program uses a for loop to search an unsorted
array for a value. It stops if the value is found.
/// Search an array using for-each style for.
class Search {
public static void main(String args[]) {
int nums[] = { 6, 8, 3, 7, 5, 6, 1, 4 };
int val = 5;
boolean found = false;
// use for-each style for to search nums for val
for (int x : nums) {
if (x == val) {
found = true;
break;
}
}
if (found)
System.out.println("Value found!");
}
}

Write a Java Program to generate the following pattern.


..........
.........
........
.......
......
.....
....
...
..
.

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 21


// Loops may be nested.
class test {
public static void main(String args[]) {
int i, j;
for (i = 0; i < 10; i++) {
for (j = i; j < 10; j++)
System.out.print(".");
System.out.println();
}
}
}

Write a Java Program to generate the following number pattern.


0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81

class test {
public static void main(String args[]) {
outer: for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j > i) {
System.out.println();
continue outer;
}
System.out.print(" " + (i * j));
}
}
System.out.println();
}
}

Programming in Java: Dr. Ganesh V Bhat, Department 0f ECE @ CEC 22

You might also like