Всё просто. i=6, ибо постфиксная итерация сначала выводит значение, а затем увеличивает его на единицу. В консоли мы получим следующий результат: 0 1 2 3 4 5. А внешний блок кода запускает ещё одну итерацию, увеличивая i на единицу
разберем круглые скобки, второй и третий блок: вы говорили интерпретатору, чтобы он увеличил i пока его значение меньше или равно 5. Соответственно он остановился, когда i = 5, а третий блок увеличил i на единицу (5 + 1 = 6)
Можно тогда вопрос, второй блок это i<=5, и третий это i++? Теперь понятно! Получается, он все равно увеличил значение переменной, если даже итерация цикла закончилась))
Dunaevlad, цикл не может остановиться в середине. Он либо выполняется, либо нет. При (A, B, C) проверяется круглые скобки как единое целое. Он либо true либо false. Когда пункт B равно true, у пункта C нет вариантов, кроме как выполниться :)