2017-03-02 2 views
-3
public class Review { 

public static void main(String[] args) { 
    int x = 10, y = 5; 
    System.out.println(" " + x + y); // string + x + y 
    } 

} 

어떻게이 값이 105가 아닌 105입니까? 아래 코드와 다른 점은 무엇입니까?이것은 15 대신에 105와 어떻게 같습니까?

public class Review { 

public static void main(String[] args) { 
    int x = 10, y = 5; 
    System.out.println(x + y); //Only x + y 
    } 

} 
+4

덧셈은 왼쪽에서 오른쪽으로 연관됩니다. String + int는 String를 제공합니다. –

+3

사실 이것을 'string-concatentation'이라고 태그를 붙이면, 무슨 일이 일어나고 있는지 이해하고있는 것 같습니다. 정말로 당신의 질문은 무엇입니까? – shmosel

+2

'System.out.println (""+ (x + y)); ' –

답변

0

" " + x + y" " + x을 의미 다음 + y

그래서 당신은 우리가 2 단계로 나눌 수 있습니다 쓰기 첫 번째 코드 :
1. " " + x =>" " + 10 =>"10""10" + y
2 =>"10" + 5 =>"105"

두 번째 숫자는 number + number이므로 숫자 결과를 얻습니다.

저는 영어가 모국어가 아니며, 저의 영어에 대해 미안합니다. 도움이 되었기를 바랍니다.

+0

고마워요! 이것은 이해하기 쉬운 방식으로 설명되었습니다. 위대한 영어 그래서 그것을 강조하지 않습니다! – user7644669

0

첫 번째 대답 유형이 때문에 ""의 문자열이며 두 번째와 +

를 사용하여 문자열 연결을 사용하고있는 +는 문자열을 연결하는 데 사용되지 않습니다.

0

원시 데이터 형식을 System.out.println()의 문자열과 혼합하면 Java 컴파일러는 모든 데이터 형식을 String 개체로 변환한다고 가정합니다. 당신의 원시 데이터 유형 주위에 괄호를 추가하면 Jim Garrison 제안대로 변환하기 전에 먼저 계산할 수 있습니다 : System.out.println(" " + (x + y));