Как запятая влияет на оператор println в Java? - PullRequest
0 голосов
/ 12 мая 2018

Ниже приведен фрагмент программы

package JavaBasicsPackage;

public class AssignmentOperator {
    public static void main(String[] args) {
        double number1 = 12.5, number2 = 10.5, result;

        result = number1 + number2;
        System.out.printf("number1 + number2 = " +result);
    }
}

Выше приведены отпечатки 23,0.

Но ниже приведены только отпечатки number1 + number2 =

System.out.printf("number1 + number2 = ", +result);

Существует разница только в запятой до + результат.Пожалуйста, объясните влияние.

1 Ответ

0 голосов
/ 12 мая 2018

Дополнительные аргументы для printf используются только в том случае, если на них ссылаются спецификаторы формата (например, %s) в строке формата.В противном случае они просто игнорируются, как в вашей строке, которая не имеет спецификаторов формата.Если бы код был System.out.printf("number1 + number2 = %d", result), вы бы увидели аргумент, введенный в строку вместо спецификатора формата %d.

В выражении +result используется оператор унарный плюс , который переводит операнд в числовой тип (которым он уже является в вашем случае).

...