Tom Lilletveit
Tom Lilletveit

Reputation: 2002

Understanding the syntax with previous Objective-C experience

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

Answers (5)

Xaw4
Xaw4

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

Thilo
Thilo

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

nurgan
nurgan

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

Joel Westberg
Joel Westberg

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

Elliott Hill
Elliott Hill

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

Related Questions