Почему так много кода
Если ваш первый язык не Java, вы скорее всего задавались вопросом: "Почему просто чтобы начать программу или вывести текст в консоль нужно писать так много кода?"
Ответ кроется в структуре языка. В Java всё поделено на классы и объекты, в свою очередь у которых есть атрибуты и методы.
Разберём случай с выводом
#lesson #theory
Если ваш первый язык не Java, вы скорее всего задавались вопросом: "Почему просто чтобы начать программу или вывести текст в консоль нужно писать так много кода?"
Ответ кроется в структуре языка. В Java всё поделено на классы и объекты, в свою очередь у которых есть атрибуты и методы.
Разберём случай с выводом
System.out.println()
. Казалось бы, можно же просто ограничится функцией println. Но если мы захотим вывести текст в другой поток, например в System.err? В реализации Java будет достаточно сменить атрибут out -> err#lesson #theory
Что такое JVM?
Вероятно, вы уже встречали такое понятие, как Java Virtual Machine, ведь это — самая главная часть языка, отвечающая за выполнение кода.
Когда вы нажимаете на кнопку Build, первым делом запускается компилятор, который переводит код понятный человеку в байт-код, понятный JVM.
После, когда мы запускаем программу, JVM переводит байт-код из .class файлов в конструкции, понятные компьютеру.
Такие сложности добавляются, чтобы код мог свободно запускаться на любых устройствах.
#lesson #theory
Вероятно, вы уже встречали такое понятие, как Java Virtual Machine, ведь это — самая главная часть языка, отвечающая за выполнение кода.
Когда вы нажимаете на кнопку Build, первым делом запускается компилятор, который переводит код понятный человеку в байт-код, понятный JVM.
После, когда мы запускаем программу, JVM переводит байт-код из .class файлов в конструкции, понятные компьютеру.
Такие сложности добавляются, чтобы код мог свободно запускаться на любых устройствах.
#lesson #theory
NullPointerException
Эта ошибка появляется, если значение не задано какой-то переменной, а мы пытаемся получить доступ к их параметрам.
К сожалению, null могут принимать все ссылочные типы. Это массивы, классы и даже строки. Но вот числа никогда не будут null (поскольку это не ссылочные типы).
Что с этим делать? Достаточно просто добавить проверку на null и что-то делать с этим (выбрасывать ошибку или задавать значение по умолчанию).
#lesson #theory #errors
Эта ошибка появляется, если значение не задано какой-то переменной, а мы пытаемся получить доступ к их параметрам.
К сожалению, null могут принимать все ссылочные типы. Это массивы, классы и даже строки. Но вот числа никогда не будут null (поскольку это не ссылочные типы).
Что с этим делать? Достаточно просто добавить проверку на null и что-то делать с этим (выбрасывать ошибку или задавать значение по умолчанию).
#lesson #theory #errors