Java Programming - Operators and Assignments - Discussion

Discussion Forum : Operators and Assignments - Finding the output (Q.No. 3)
3.
What will be the output of the program?
class PassS 
{
    public static void main(String [] args) 
    {
        PassS p = new PassS();
        p.start();
    }

    void start() 
    {
        String s1 = "slip";
        String s2 = fix(s1);
        System.out.println(s1 + " " + s2);
    }

    String fix(String s1) 
    {
        s1 = s1 + "stream";
        System.out.print(s1 + " ");
        return "stream";
    }
}
slip stream
slipstream stream
stream slip stream
slipstream slip stream
Answer: Option
Explanation:

When the fix() method is first entered, start()'s s1 and fix()'s s1 reference variables both refer to the same String object (with a value of "slip"). Fix()'s s1 is reassigned to a new object that is created when the concatenation occurs (this second String object has a value of "slipstream"). When the program returns to start(), another String object is created, referred to by s2 and with a value of "stream".

Discussion:
30 comments Page 1 of 3.

Krutibashrath said:   1 decade ago
Yaa fix() method is entered, strat()s s1 fix ok iT this oll things proopralis object but i want what can do you ?

Shashanka said:   1 decade ago
I am not getting how to calculated this type of questions please any one can explain me detailly.

Remya said:   1 decade ago
In the case of array, if fix method refers to same element, how it changes in the case of boolean?

Karthik said:   1 decade ago
What is the difference between system.out.print and system.out.println?

Anand H.R said:   1 decade ago
System.out.print()-it will print the message in the same line.

where as

System.out.println()-it will print the message in the next line.

Shweta said:   1 decade ago
String is immutable then why s1 = s1 + "stream" is not giving any error.

Sridhar Salluri said:   1 decade ago
It will not change the value of s1, it will create a new object of that string. So string immutable.

Rajesh Jaiswal said:   1 decade ago
Is java support multiple inheritance?

Yuvaraj said:   1 decade ago
No Java Does Not Support multiple inheritance.

Dilip Kumar said:   1 decade ago
Here in this s1 in fix has value "slipstream" how come it changed to "slip" when control returned to start()? Can any one help me?


Post your comments here:

Your comments will be displayed after verification.