2011-02-08 3 views
2

저는 구문에 대한 것들을 혼동하고 실제로하는 것에 집중하지 않습니다. :)괄호 안에 문자열을 넣는 구문의 의미

나는이 일로 무엇을 할 수 있는지 알고 있지만, 아직도 두포에서 실제로 일어나고있는 것이 무엇인지 알고 싶다.

그래서 ... 괄호 안에 문자열을 넣는 것이 의미있는 이유와 상황이 무엇인지 궁금합니다.

return (string1 + " " + string2); 

답변

5

이 예제에서 괄호는 아무런 영향을 미치지 않습니다. 당신이 게시 코드는 다음과 동일합니다 :

return string1 + " " + string2; 

일반적으로 괄호 및 String s 또는 문자열 리터럴 사이의 특정 상호 작용이 없다. 괄호는 "일반"표현식에서와 같은 의미론을가집니다.

어떤 경우에는 괄호가 올바른 해석을 지정해야 할 수도 있습니다 :

System.out.println("foo: " + 1 + 1); // will print "foo: 11" 
System.out.println("foo: " + (1 + 1)); // will print "foo: 2" 
+2

컴파일 에러를 막기 위해/you/need/parentheses가 필요합니다 :'System.out.println ("foo :"+ 10-5);', 예를 들어, String에는 '-' -운영자. – fwielstra

2

그것은 법적 구조이며 대수학에서 괄호와 같은 목적을 가지고, 작업이 반환되기 전에 수행됩니다 것을 보장하기를 . 실제로이 경우에는 필요하지 않으며 수행 한 경우

return string1 + " " + string2; 

결과는 동일합니다. 어쩌면 코드 작성자가 더 읽기 쉬울지도 모른다고 생각했을까요?

1

그냥 가독성. 반환하는 객체에 중점을 두려면 괄호를 사용합니다. 그러나 그들은 필요하지 않습니다.

0

이렇게하면 return은 실제로는 그렇지 않은 것처럼 함수 호출처럼 보입니다. 따라서 이것은 괄호를 사용하지 않아야하는 예제입니다.

0

난 그냥 괄호 안에 는 의미가 문자열을 넣어 어디에 무엇을하는 이유와 상황이다 궁금하다.

는 여기에 또 다른 예입니다 :

string1 + " " + string2.substring(a,b) 

과 :

(string1 + " " + string2).substring(a,b) 

두 개의 매우 다른 짐승이다.

관련 문제