I have a doubt which follows.
public static void main(String[] args) throws IOException{
int number=1;
System.out.println("M"+number+1);
}
Output: M11
But I want to get it printed M2 instead of M11. I couldn't number++ as the variable is involved with a for loop, which gives me different result if I do so and couldn't print it using another print statement, as the output format changes.
Requesting you to help me how to print it properly.
System.out.println("M"+number+1);
Here You are using
+
as a concatanation Operator as Its in theprintln()
method.To use
+
to do sum, You need to Give it high Precedence which You can do with covering it with brackets as Shown Below:System.out.println("M"+(number+1));
String concatination in java works this way:
if the first operand is of type String and you use
+
operator, it concatinates the next operand and the result would be a String.try
In this case as the
()
paranthesis have the highest precedence the things inside the brackets would be evaluated first. then the resulting int value would be concatenated with the String literal resultingin a string "M2"Try
A cleaner way to separate data from invariants:
If you perform
+
operation after a string, it takes it as concatenation:Whereas if you do the vice versa
+
is taken as addition:Add a bracket around your sum, to enforce the
sum
to happen first. That way, yourbracket
having the highest precedence will be evaluated first, and then theconcatenation
will take place.