PDF for Module 5 Download from Here
Java Statements:
Controlling which section of the code
should be executed. You can have condition and then execute it.
If Statement:
Conditional Code execution.
public class Welcome {
public static void main(String[]
args) {
int i=10;
int y=5;
if(i>y){
System.out.println("Print 1 : Here I > Y ");
y=11;
}
System.out.println("Print 2 : Value of I = " + i + " Value
of Y = " + y);
if(y>i){
System.out.println("Print 3 : Here Y > I ");
}
//Code will never enter in if
condition block as it is always evaluated to false.
if(i>y){
System.out.println("Print 4 : Print Here I > Y ");
y=11;
}
if(y>i)
System.out.println("Print 5 : Here Y > I ");
System.out.println("Print 6 : End of Program");
}
}
|
If-else statement:
Conditional code branching.
public class Welcome {
public static void main(String[]
args) {
int i=10;
int y=5;
if(i>y){
System.out.println("Print 1 : Here I > Y ");
y=11;
System.out.println("Print 2 : Value of I = " + i + " Value
of Y = " + y);
}
else if(y>i){ //This else
block will never be executed. Even condition is true.
System.out.println("Print 3 : Here Y > I ");
}
//Code will never enter in if
condition block as it is always evaluated to false.
if(i>y){
System.out.println("Print 4 : Print Here I > Y ");
y=11;
}
else
System.out.println("Print 5 : Here Y > I ");
//Code will never enter in if
condition block as it is always evaluated to false.
if(i>y){
System.out.println("Print 6 : Print Here I > Y ");
y=11;
}
else if(y>i)
System.out.println("Print 7 : Here Y > I ");
/*if(int val=5){
//Will not compile
System.out.println("Print 8 ");
}*/
System.out.println("Print 9 : End of Program");
}
}
|
Ternary Operator:
(?
: ) : This can work on up to three expression. It is equivalent to
if-then-else block.
(Always a Boolean expression) ? (If
Boolean expression is true then this section) : (if Boolean
expression is false then this section)
|
public class Welcome {
public static void main(String[]
args) {
//if then else example
int y = 20;
int x = 0;
if (y > 5) {
x = 3 * y;
} else {
x = 4 * y;
}
System.out.println("Value
of x = " + x + " Value of y = " + y);
//Ternary
operator
y=20;
x=0;
int result = (y>5) ? x= 3*y : 4*y;
System.out.println("Value
of x = " + x + " Value of y = " + y + " And result = " + result);
//Behaves like short circuit
operator
int val1 = 1;
int val2 = 1;
final int val3 = val2<2 ? val1++ : val2++;
System.out.println(val1+","+val2+ ","+ val3); // Outputs
2,1,1
}
}
|
switch operator: Complex decision making statement.
-
is a complex decision-making structure in
which a single value is evaluated and fl ow is redirected to the first matching
branch (case statement
)
-
If no such case statement is found that
matches the value, an optional default statement
will be called.
-
If no such default option is available,
the entire switch statement
will be skipped.
-
Data type of switch value and case value
should be same.
-
In each case, you must have break;
statement.
-
Even though the default block was before the case block, only the case block was executed.
-
default is only branched to if there is no matching case value for the switch statement, regardless
of its position within the switch statement.
-
the case
statement value must also be a literal, enum constant, or final constant variable.
public class Welcome {
public static void main(String[]
args) {
int monthVal=Integer.parseInt(args[0]);
//Also try with removing
break statement.
switch(monthVal){
case 1 :
System.out.println("Jan");
break;
case 2 :
System.out.println("Feb");
break;
case 3 :
System.out.println("Mar");
break;
case 4 :
System.out.println("Apr");
break;
default:
System.out.println("No
proper month value");
case 5 :
System.out.println("May");
break;
}
}
}
|
public class Welcome {
public static void main(String[]
args) {
String sitename = "HadoopExam";
String www = "www.";
String name = "HadoopExam";
String com = ".com";
int value = 0;
switch (name) {
case "Hadoop":
break;
case sitename:
value = 1;
break;
case www:
value = 2;
break;
case com:
value = 3;
break;
case 5000: // DOES NOT
COMPILE
value = 4;
break;
case 'H': // DOES NOT
COMPILE
value = 5;
break;
case Welcome.class: // DOES NOT
COMPILE
value = 6;
break;
}
}
}
|
Data types supported by switch
statements include the following:
|
int and Integer
|
byte and Byte
|
short and Short
|
char and Character
|
int and Integer
|
String
|
enum values
|
while statement:
(it is also known as while loop)
-
Infinite while loop
public class Welcome {
public static void main(String[]
args) {
while(true){
System.out.println("I am
learning Java from HadoopExam.com");
}
}
}
|
-
Controlled
while loop
public class Welcome {
public static void main(String[]
args) {
int i = 0;
while (i < 10) {
System.out.println("I am
learning Java from HadoopExam.com value of i " + i);
i++;
}
while (i > 10) { //will not
pass this condition
System.out.println("I am
learning Java from HadoopExam.com value of i " + i);
i++;
}
int j=5;
while (i > 10 || j<10) {
System.out.println("I am
learning Java from HadoopExam.com value of i " + i + " And
value of j " + j);
j++;
}
while (i < 11 || j<10) { //Infinite
loop
System.out.println("I am
learning Java from HadoopExam.com value of i " + i + " And
value of j " + j);
j++;
//if(j>2000)
//uncomment and test again
//break;
}
}
}
|
do-while loop
-
a do-while
loop guarantees that the statement or block will be executed
at least once.
-
It is your choice, which one to use
while or do-while.
-
It is recommended you use while.
public class Welcome {
public static void main(String[]
args) {
int i = 0;
do {
i++;
} while (false);
System.out.println(i);
}
}
|
for statement : another
controlled looping.
public class Welcome {
public static void main(String[]
args) {
for(int i=0; i<10; i++){
int j=0;
System.out.println("Value
of i = " + i + "Value of j = " + j++);
}
//Both i and j are local
variable
//System.out.println("Value
of J" + j); // j will not be available here.
//System.out.println("Value
of i" + i); // i will not be available here.
}
}
|
Infinite for loop
public class Welcome {
public static void main(String[]
args) {
for( ; ; ) {
System.out.println("Welcome
to HadoopExam.com");
}
}
}
|
public class Welcome {
public static void main(String[]
args) {
for( int i=0, j=0; i<10
&& j<10 ; ) {
System.out.println("Value
of i " + i + " Value of j " + j);
i++; j++;
}
}
}
|
Below code will
not compile: Because you are trying re-initialize the j
public class Welcome {
public static void main(String[]
args) {
int j=0;
for( int i=0, j=4; i<10
&& j<10 ; ) {
System.out.println("Value
of i " + i + " Value of j " + j);
i++; j++;
}
}
}
|
Incompatible data
type in initialization block:
public class Welcome {
public static void main(String[]
args) {
// This code will not
compile. As you can not use different data type.
for(long y = 0, int x = 1; x < 5
&& y<10; x++, y++) {
System.out.print(x + "
");
}
}
}
|
for each statement
: (It is added only in Java 5.0)
for(datatype instance :
collection/array)
|
-
Collection/array must be iterable : an object whose class implements java.lang.Iterable
public class Welcome {
public static void main(String[]
args) {
int i = 0;
for (char c : "HadoopExam".toCharArray())
{
System.out.println(c);
}
}
}
|
-
Array
of strings example
public class Welcome {
public static void main(String[]
args) {
int i = 0;
for (String siteName : args) {
System.out.println(siteName);
}
}
}
|
-
Iterating
over list
import java.util.ArrayList;
import java.util.List;
public class Welcome {
public static void main(String[]
args) {
List<String>
list = new
ArrayList<String>();
list.add("HadoopExam.com");
list.add("QuickTechie.com");
list.add("Training4Exam.com");
for (String siteName : list) {
System.out.println(siteName);
}
}
}
|
-
For-each
loop is just an compile time enhancements. Once code is compiled java
internally convert it into normal for loop.
Nested Loops : Loop
inside loop.
public class Welcome {
public static void main(String[]
args) {
for(int i=0; i<5;i++){
for(int j=0;j<3;j++){
System.out.println("Value
of i = " + i + " Value of j = " + j);
}
}
}
}
|
Formatted output
of nested loops.
public class Welcome {
public static void main(String[]
args) {
for(int i=0; i<5;i++){
for(int j=0;j<3;j++){
System.out.print(i+","+j + "\t");
}
System.out.println();
}
}
}
|
break statement :
Break the loop and come out of the loop
-
You can use in any loop this break statement
while, for, for-each, do-while etc.
public class Welcome {
public static void main(String[]
args) {
int j=0;
for(int i=0; i<5;i++){
System.out.println("Value
of i " + i);
j++;
if(j>3)
{
break;
}
}
}
}
|
continue statement
:
public class Welcome {
public static void main(String[]
args) {
int j=0;
for(int i=0; i<5;i++){
j++;
if(j==3)
{
continue;
}
System.out.println("Value
of i " + i + " Value of j " + j);
}
}
}
|
public class Welcome {
public static void main(String[]
args) {
int j=0;
for(int i=0; i<5;i++){
if (i<3){
continue;
}
System.out.println("Inside
while loop : value of i = " + i);
}
}
}
|
-
While the break statement transfers control to the
enclosing statement
-
the continue
statement transfers control to the boolean expression that
determines if the loop should continue. it ends the current iteration of the
loop.
public class Welcome {
public static void main(String[]
args) {
FIRST_LOOP: for (int count = 1; count <= 4; count++) {
for (char seq = 'a'; seq <= 'c'; seq++) {
if (count == 2 || seq == 'b')
continue FIRST_LOOP;
System.out.print("
" + count + seq);
}
}
}
}
|
