-1

Pretty much what the title says, I have a hard time comprehending this expression, would be grateful if anyone explained the idea behind this expression.

Abby
  • 306
  • 3
  • 13
  • Try grouping the terms in parentheses and see if that makes it clearer. – chrylis -cautiouslyoptimistic- Jul 19 '18 at 18:03
  • 4
    Which part of the expression confuses you? Would parenthesis help? `sum += (digit > 9 ? digit - 9 : digit);`. Expression uses `>` comparison operator, `-` subtraction operator, `? :` ternary conditional operator, and `+=` additive-assignment operator. Which of these don't you know? – Andreas Jul 19 '18 at 18:03
  • In short, it is a way of writing if-statement, just like how you write if-statement in MS Excel. – user3437460 Jul 19 '18 at 18:06
  • Read about Java Ternary Operators https://alvinalexander.com/java/edu/pj/pj010018 – Benjamin RD Jul 19 '18 at 18:09

2 Answers2

6

This is ternary operation it is the same as a if else in one expression;

The statement: sum += digit > 9 ? digit - 9 : digit;

Is the same as:

if (digit > 9)
  sum += digit - 9;
else
  sum += digit;
Marcos Vasconcelos
  • 18,136
  • 30
  • 106
  • 167
0

It is a Java Ternary Operator

Basically if the Sum + digit is greater than 9 than sum will equal digit-9 OR if not it will just equal digit

So this is same as

if (digit > 9)
  sum += digit - 9;
else
  sum += digi
Kartik Shandilya
  • 3,796
  • 5
  • 24
  • 42
marshall legend
  • 474
  • 1
  • 6
  • 13