JUGLviv

Meta


Share on:


Java Quiz

juglvivjuglviv

Невеликий тест, що буде в результаті виконання коду і чому (не користуватись IDE!!!)

Sample 1

Sample 2

Sample 3

Результати в коментарях

  • Чому 2-й і 3-й варіанти дають різні результати?

  • Sample 1 не скомпілиться через unreacheble code (System.out.println("papers");)
    Sample 2 виведе 'java' але скоріш за все буде ворнінг про dead code.
    Sample 3 виведе 'java' але мабуть уже без ворнінга

  • Знайшов відповідь у специфікації
    http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.21
    В двох словах компілятор ігнорує недоступний код в інструкціях if для уможливлення DEBUG змінних типу
    if(DEBUG) { … }

Bitnami