Рекурсия в Java: пример программы + детальный обзор

Рекурсия в Java: пример программы + детальный обзор

В языке Java поддерживается рекурсия  - процесс определения чего-либо отно­сительно самого себя.

Применительно к программированию на Java рекурсия - это средство, которое позволяет методу вызывать самого себя. Такой метод назы­вается рекурсивным.

Классическим примером рекурсии служит вычисление факториала числа. Факториал числа N - это произведение всех целых чисел от 1 до N. Например ,факториал числа 3 равен 1 х 2 х 3, т.е. 6. Ниже показано, как вычислить факториал, используя рекурсивный метод. Читать

Вложенные интерфейсы в языке Java

Вложенные интерфейсы в языке Java

Интерфейс может бьrгь объявлен членом класса или другого интерфейса. Такой интерфейс называется иитерфейсом-членом или вложенным иитерфейсом.

Вложенный интерфейс может быть объявлен как public, private или protected. Этим он от­личается от интерфейса верхнего уровня, который должен бьrгь объявлен как pub­lic или использовать уровень доступа по умолчанию.

Когда вложенный интерфейс используется за пределами объемлющей его области дей­ствия, его имя должно быть дополнительно уточнено именем класса или интерфей­са, членом которого он является. Читать

Обзор класса FileInputStream в Java

Обзор класса FileInputStream в Java

В классе FileInputStream создается объект типа InputStream, который можно использовать для чтения байтов из файла.

Ниже приведены наиболее часто употребляемые конструкторы этого класса. Читать

Литералы с плавающей точкой в Java

Литералы с плавающей точкой в JavaЧисла с плавающей точкой представляют десятичные значения с дробной ча­стью. Они могут быть выражены в стандартной или экспоненциальной ( или на­учной) форме записи.

Число в стандартной форме записи состоит из целого числа с последующей десятичной точкой и дробной частью.

Например, значения 4.0, 3.14159 и 0.8869 представляют допустимые числа с плавающей точкой в стан­дартной записи. В экспоненциальной форме записи используется стандартная форма записи чисел с плавающей точкой, дополненная суффиксом, обозначающим сте­пень числа 10 , на которую следует умножить данное число. Читать

Статический импорт в языке Java

Статический импорт в языке Java

В Java имеется языковое средство, расширяющее возможности ключевого сло­ва import и называемое статическим импортом.

Оператор import, предваряемый ключевым словом static, можно применять для импорта статических членовькласса или интерфейса. Благодаря статическому импорту появляется возможность ссылаться на статические члены непосредственно по именам, не угочняя ихименем класса.

Это упрощает и сокращает синтаксис, требующийся для работы со статическими членами.

Чтобы стала понятнее польза от статического импорта, начнем с примера, в котором он не используется. В приведенной ниже программе вычисляется гипо­тенуза прямоугольного треугольника. С этой целью вызываются два статических метода из встроенного в java класса Math, входящего в пакет java.lang.

Читать

Применение оператора instanceof в Java

Применение оператора instanceof в Java

Иногда тип объекта полезно выяснить во время выполнения. Например, в од­ном потоке исполнения объекты разных типов моrут формироваться, а в другом потоке исполнения - использоваться.

В таком случае удобно выяснить тип каждо­го объекта, получаемого в обрабатывающем потоке исполнения. Тип объекта во время выполнения не менее важно выяснить и в том случае, когда требуется приведение типов.

В Java неправильное приведение типов влечет за собой появление ошибки во время выполнения.

Большинство ошибок приведения типов может быть выявлено на стадии компиляции. Но приведение типов в пределах иерархии классов может стать причиной ошибок, которые обнаруживаются только во вре­мя выполнения. Читать

Специальные символы в игровых автоматах онлайн-казино

Специальные символы в игровых автоматах онлайн-казино

Количество виртуальных игорных заведений постоянно увеличивается, что только подтверждает высокий спрос на предлагаемые ими услуги среди пользователей сети Интернет.

При этом большинство поклонников азартных развлечений в виртуальном пространстве предпочитают проводить время за игровыми автоматами. Читать

Класс StringTokenizer, примеры использования в Java

Класс StringTokenizer, примеры использования в Java

Обработка текста зачастую предполагает синтаксический анализ или разбор форматированной входной строки. Синтаксический анализ подразумевает разделе­ние текста на ряд отдельных частей, так называемых лексем, которые способны пе­редать в определенной последовательности некоторое семантическое значение.

Класс StringTokenizer обеспечивает первую стадию процесса синтаксического анализа, и поэтому его зачастую называют лексическuм анализатором или просто сканером. Этот класс реализует интерфейс Enumeration. Таким образом, задав вход­ную строку, средствами класса StringTokenizer можно перечислить содержащи­еся в ней отдельные лексемы.

Чтобы воспользоваться классом StringTokenizer, следует указать входную и символьную строку, содержащую разделители. Разделители это символы, раз­деляющие лексемы. Читать

Автоматическое закрытие файлов в Java

Автоматическое закрытие файлов в JavaВо многих Java программ, для закрытия фай­лов, которые больше не нужны, метод close() вызывается явным образом.

Такой способ закрытия файлов используется еще с тех пор, как вышла первая версия Java. Именно поэтому он часто встречается в существующих программах. Более того, он до сих пор остается вполне оправданным и полезным.

Однако в версию JDK 7 включено новое средство, предоставляющее другой, более рациональный способ управления ресурсами,в том числе и потоками файлового ввода-вывода, автоматизирующий процесс закрытия файлов.

Этот способ основывается на новой разновидности оператора try, называемой оператором try с ресурсами, а иногда еще - автоматическим управлением ресурсами. Читать

Переменное число аргументов методов языка Java

Переменное число аргументов методов языка JavaИногда оказываются полезными методы, способные принимать переменное чис­ло аргументов.

Например, методу, устанавливающему соединение с Интернетом, могут понадобиться имя и пароль пользователя, имя файла, протокол и другие параметры. Если при вызове метода некоторые из этих данных опущены, то должны использоваться значения по умолчанию.

В подобных ситуациях было бы удобнее передавать только те аргументы, для которых заданные по умолчанию значения неприменимы, а для этого требуется метод, который мог бы принимать аргументы, количество которых заранее неизвестно.

До версии J2SE5 для поддержки списков аргументов переменной длины применя­лись два способа, ни один из которых не был особенно удобен. Читать