2012-08-27 3 views
0

저는 Java를 처음 사용합니다. Objective-C의 3 개월 동안의 경험을 통해 개념을 매우 쉽게 이해할 수 있습니다. 나는 학습 목적으로 Java로 작성된 간단한 요인 - 예제 프로그램을 Objective-C로 이식하려고 노력 중이다. 이제이전 Objective-C 경험을 사용한 구문 이해

for (int i; i < 10; i++){ 
println (i + "! =" + factorial(i)); 

for 루프를하고 모든 괜찮지 만,이 I've 본 적이 - 그것을 무엇 :하지만이 한 줄이, 내가 여기 무슨 일이 일어나고 있는지 이해가 안 돼요 "=!" 해야 할 것? 나에게 그것은 "동등하지 않다"연산자처럼 보이지만, 의미가 없으며 똑같지도 않다. (계승은 방법이다).

+0

"this"는 문자열이고 "5"는 "! ="문자열이기도합니다 –

+2

여기와 IDE에서도 강조 표시를 유의하십시오. 두 개의 따옴표 사이에있는 모든 것은'String'이며 아무런 기능도 없습니다. 그것은 단지 데이터입니다. – Sulthan

답변

2

이것은 문자열을 구성하고 있습니다.

Java의 "+"를 사용하여 String을 연결할 수 있습니다. 파트 중 하나가 String이고 다른 모든 것이 String으로 변환 된 경우에도 발생합니다 (여기의 int와 같습니다).

"! ="는 문자열 리터럴이며 Java가 보는 것은 아닙니다.

목표 - C에서는 자바에서, 당신은 또한 당신에게 더 익숙 할

String.format("%d! = %d", i, factorial(i)); 

을 할 수있는

[NSString stringWithFormat:@"%d! = %d", i, factorial(i)] 

참고가 될 것입니다.

+0

그러나'!'와'='사이의 공백은 중요하지 않습니다. 왜냐하면 비교가 아니기 때문입니다 : – Sulthan

+0

중요한 것에 대한 당신의 정의에 달려 있습니다. 이 전체 문자열은 출력 형식이며 자바 측은 아무 것도하지 않습니다. – Thilo

+0

나는 그것을 안다. 그러나 질문하는 사람은 그렇지 않았다. 그것은 중요하다 ... – Sulthan

1

!은 계승을 나타내는 수학 기호입니다. 나는 println이 문자열을 받아서 콘솔 (또는 어딘가에)에 출력하여 그 결과를 간단하게 출력 할 수 있다고 추정한다.

0

의 텍스트 만이, 그 때문에 콘솔 출력이

1! =1 
2! =2 
3! =6 
... 

자바에서 문자열 ""에있는 것

을 인쇄되는 및 concatination는 +

println ("the factorial of" + i + " is " + factorial(i)); 

이루어집니다 당신을 혼란스럽게하지 않고 동일했을 것입니다.

0

그것은 단순히 문자열입니다. t는 다음과 같은 출력을 생성, 출력에 연접되어 요컨대

1! =1 
2! =2 
... 

가 전혀 오퍼레이터 아니라 문자열 리터럴 아니다.

0

문자열입니다. println에 의해 수행 된 출력은 "i의 값"이 될 것이고 거기에 서게 될 것입니다! = 그리고 어떤 factorial (i)이 리턴하든 ... 이것은 실제로 매우 기본적인 것들입니다.