2016-03-02 2 views
-1

Отправлено вправо более высокий приоритет, чем объект String?Слева направо более высокий приоритет, чем объект String?

Для моего заявления о печати, как показано ниже, я получил это. Пожалуйста, объясни.

class triangle{ 
public static void main(String[]args){ 
    System.out.println(1+2+"hello"); 
    System.out.println("hello"+1+2); 

    } 
} 

Также почему мне нужно поставить бросок на плавающий x = 1.2F;
, а не double x = 1.2 ;?

+0

Какой вы ожидаемый результат, каков ваш фактический результат? Вопрос ответил, я думаю. –

+1

Пожалуйста, не задавайте два вопроса в одном. – merlin2011

+0

Я в отчаянии :) – eli

ответ

0

Когда вы делаете String + something, что вы делаете, оно объединяет оба элемента, а не суммирует числа.

Вы можете соединить две строки, как это:

string1 + string2 

, но вы можете сделать

"" + string1 

Он только принимает участие, если вы используете плюс элемент после строки. Если вы суммируете перед String, результат вашей суммы будет показан, а затем String будет сцеплен с этой суммой.

Вы также можете проверить на Oracle docs для получения дополнительной информации (в первом разделе).

+0

Ну во втором случае это System.out.println (1 + 2 + «привет»); – eli

+0

для этого результат 3hello – eli

+0

@eli oh sorry Я редактирую его сейчас –

0

Оператор + остается ассоциативным. Происходит ли конкатенация или происходит суммирование - результат лево-ассоциативности.

Смежные вопросы