public class Main
{
public static void main(String[] args) {
unary1:{ int a = 10;
[Link]("first block unary");
[Link](a++);
[Link](++a);
[Link](a--);
[Link](--a);
[Link](--a);
Unary2:{
int a = 10;
[Link](" \n second block unary");
[Link](a++ + ++a - --a + ++a);
[Link]((a++)+(++a));
unary3:{
int a=-15;
[Link](" \n Third block unary");
[Link](~a);
[Link](~(~a));
}
unary4:{
[Link](" \n fourth block unary");
boolean b = false ;
[Link](!b);
[Link](!(!b));
}
Arithmetic:{
int a=10;
int b=5;
[Link](" \n Arithmetic operator");
[Link](a+b);//15
[Link](a-b);//5
[Link](a*b);//50
[Link](a/b);//2
[Link](a%b);//0
}
leftshift:{
int a = 4;
[Link](" \n Left Shift operator");
[Link](a<<2); //a * 2^2 == 16
[Link](a<<3); //a * 2^3 == 32
}
Rightshift:{
int a = 10;
[Link](" \n Right Shift operator");
[Link](a>>2); // a / 2^2 = 2
[Link](a>>3); // a / 2^3 = 1
javashift:{
[Link](" \n >>> operator");
//For positive number, >> and >>> works same
[Link](20>>2);
[Link](20>>>2) ;
//For negative number, >>> changes parity bit (MSB) to 0
[Link](-20>>2);
[Link](-20>>>2);
}
Logical_Or_Vs_bitwise_Or:{
/* The logical || operator doesn't check the second condition if the first
condition is true.
It checks the second condition only if the first one is false */
//The bitwise | operator always checks both conditions whether first
condition is true or false.
int a=10;
int b=5;
int c=20;
[Link]("Logical OR vs Bitwise OR ");
[Link](a>b||a<c); //true
[Link](a>b|a<c); //true
[Link](a>b||a++<c);
[Link](a); // true //10
[Link](a>b|a++<c);
[Link](a); // true //11
Ternary_operator:{
[Link](" Ternary operator ");
int a = (10<5)?7:(5<2)?8:3;
[Link](a);
}
}
}