Reputation: 2002
I'm new to Java. I've got 3 months experience of Objective-C so I understand its concepts quite easily. I am trying to port a simple factorial-example program written in Java to Objective-C for learning purposes. But there is this one line, I do not understand what is going on here:
for (int i; i < 10; i++){
println (i + "! =" + factorial(i));
Now the for
loop and all that is fine, but this "! =" I´ve never seen -- what does it do? To me it looks like a "not equal to" operator, wich would make no sense i + not equal too + factorial (factorial is a method, by the way).
Upvotes: 0
Views: 99
Reputation: 176
its just text, that get printed out
so your console output would be
1! =1
2! =2
3! =6
...
Strings in Java are in "" and concatination is done with the +
println ("the factorial of" + i + " is " + factorial(i));
would have been the same, but without confusing you
Upvotes: 0
Reputation: 262684
This is building a string.
"+" in Java can be used to concatenate String. This happens if one of the parts is a String, and all other things are also converted to Strings (like the ints here).
The "!= " is just a String literal, not anything that Java sees.
In Objective-C, it would be
[NSString stringWithFormat:@"%d! = %d", i, factorial(i)]
Note that in Java, you can also do
String.format("%d! = %d", i, factorial(i));
which may be more familiar to you.
Upvotes: 2
Reputation: 329
it is a String. The Output done by println will be "the value of i" then there will stand ! = and than whatever factorial(i) returns... This is actually very very basic stuff.
Upvotes: 0
Reputation: 2736
That is simply a String that is concatenated in the output, producing the following output:
1! =1
2! =2
...
In short, it isn't an operator at all, but rather a string literal.
Upvotes: 0
Reputation: 961
!
is the mathematical symbol for factorial. I presume that println
takes a string and prints it to the console (or somewhere else), so that line is simple printing the result.
Upvotes: 1