So I don't know much about java but I noticed this worked then according to my class notes I should be doing it a different way
Here's what my notes have
System.out.print("hello");
System.out.print(name);
System.out.print("\n");
However I tried this and it also does the same thing. It's shorter so is this an acceptable way to do it or will it break down the road?
System.out.print("hello"+name+"\n);
Also as long as the code runs right my teacher shouldn't care right? It's my first class and I'm not a computer science major.
It will work and I'd argue that it's in fact a better way to do it.
Go for it, that's the hacker spirit!
If you want something even shorter and more descriptive, try
System.out.println("hello " + name);
The println
will automatically print a line end ('\n') at the end of what you print.
Just to make this complete, let's assume name = "James Gosling";
.
In the code written in your notes, you first print:
hello
Then, you print name
, which leads to:
helloJames Gosling
It's printed like that because we're actually missing a space after "hello"
. To print it with a space, use "hello "
. Finally, we print a newline.
In your (arguably better) piece of code, you print only once, but when you use the expression "hello"+name+"\n"
, you are creating a new character string which ends up being the same. This is because the +
operator concatenates (that is, chains) two strings and creates a new string with the result.
So, when you print the resulting string, you get (plus the newline):
helloJames Gosling
Others have weighed in on the specific example, but there are problems with trying to generalize this.
+
does addition when applied to primitive numeric values instead of doing concatenation when applied to a string, so
int x = 4;
int y = 2;
System.out.print(x);
System.out.print(y);
System.out.print("\n");
prints 42
while
int x = 4;
int y = 2;
System.out.println(x + y);
prints 6
followed by a line-break.
Since +
associates left, you can use "" + ...
to force +
to mean string concatenation instead of addition
int x = 4;
int y = 2;
System.out.println("" + x + y);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With