In Java programs, statements are terminated with a semicolon (;). The simplest statement of them all is the empty, or null statement.
; it is a null statement
A null statement is useful in those instances where the syntax of the language requires the presence of a statement but where the logic of the program does not. We will see it in loops and their bodies.
As expected, the first call to System.out.print prints Ha. Its argument is the expression “H” + “a”, which performs the obvious string concatenation.
But this approach can lead to some confusions also. Can you guess what the following statement prints?
System.out.println(“2 + 2 = “ + 2 + 2);
---------------------------------------------------
; it is a null statement
A null statement is useful in those instances where the syntax of the language requires the presence of a statement but where the logic of the program does not. We will see it in loops and their bodies.
Character Manipulation
Consider the following code. What does it print?
:
System.out.print(“H” + “a”);
System.out.print(‘H’ + ‘a’);
:
Aren’t you thinking that it would produce output as: HaHa
But if you the program, you’ll find that the output produced is: Ha169
System.out.print(“H” + “a”);
System.out.print(‘H’ + ‘a’);
:
Aren’t you thinking that it would produce output as: HaHa
But if you the program, you’ll find that the output produced is: Ha169
As expected, the first call to System.out.print prints Ha. Its argument is the expression “H” + “a”, which performs the obvious string concatenation.
The second call to system.out.print is another story. Its argument is the expression ‘H’ + ‘a’. The problem is that ‘H’ and ‘a’ are char literals. Because neither operand is of type string, the + operator performs addition rather than string concatenation. Thus it adds ‘H”s value i.e. 72 and ‘a”s value I.e. 97 and gives 169. (A-Z have values 65-90; a-z have values 97-122).
You can force the + operator to perform string concatenation rather than addition by ensuring that at least one of its operands is a string. The common idiom is to begin a sequence of concatenations with the empty string (“ “), as follows:
System.out.print(“ “ + ‘H’ + ‘a’) ;
System.out.print(“ “ + ‘H’ + ‘a’) ;
But this approach can lead to some confusions also. Can you guess what the following statement prints?
System.out.println(“2 + 2 = “ + 2 + 2);
---------------------------------------------------
Yes, you are right. It produces: 2 + 2 = 22
To perform the addition of expression 2+2 shown above, you need to convert it to Expression by enclosing it in parenthesis i.e. as
(2+2): System.Out.Println(“2+2 = ”+ (2+2));
(2+2): System.Out.Println(“2+2 = ”+ (2+2));
The + operator performs string concatenation if and only If at least one of its operands is of type string: otherwise, it performs addition with primitive types.