Не понимаю где происходит сложение всех данных переменной i. Мы же не писали никаких методов для этого. Или компилятор сам считает все значения i и складывает их, когда мы их выводим через System.out.println(i)?