Примеры Java-программ для начинающих с решением

Обновлено: 05.07.2024

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

Что такое Java?

Java – это объектно-ориентированный язык программирования на основе классов, предназначенный для создания веб-приложений и приложений для настольных компьютеров. Это самый популярный язык программирования и предпочтительный язык программирования для Android.

Учебный курс по Java

Первые шаги по основам Java

👉 Урок 1 Что такое Java? — Введение, определение и особенности платформ Java
👉 Урок 2 JVM — что такое виртуальная машина Java и ее архитектура
👉 Урок 3 Установка JDK 8 — Как загрузить и установить Java JDK 8 в Windows
👉 Урок 4< /td> Установка Eclipse — Как загрузить и установить Eclipse для запуска Java
👉 Урок 5 Установка Java в Linux — Как загрузить & Установка Java в Linux (Ubuntu)
👉 Урок 6 Первая программа на Java — Hello World: Как создать свою первую программу на Java

Основные концепции объектно-ориентированного программирования (ООП)

👉 Урок 1 Концепции ООП в Java — изучите основы ООП на примерах
👉 Урок 2 Абстракция в ООП — что такое абстрактный класс и метод Java
👉 Урок 3 Инкапсуляция в ООП Java — обучение с примером

Конструкции языка основ Java

👉 Урок 1 Переменные Java — что такое и типы данных с примером
👉 Урок 2 Класс и объект в Java OOPS — Учитесь на примере
👉 Урок 3 Учебное пособие по массивам Java — Объявление, создание , Инициализация с примером
👉 Урок 4 Массив объектов — как создать массив объектов в Java
👉 Урок 5 ArrayList в Java — как использовать, методы и примеры

Учебное пособие по работе со строками в Java

👉 Урок 1 Строка Java — Манипулирование строкой Java: функции и методы
👉 Урок 2 Метод String Length() в Java — изучите пример
👉 Урок 3 Метод String indexOf() в Java — изучение на примере
👉 Урок 4 Строковый метод charAt() в Java — изучение на примере
👉 Урок 5 Метод String compareTo() в Java — как использовать с примерами
👉 Урок 6 Метод String contains() в Java — проверка подстроки на примере
👉 Урок 7 Метод String endsWith() в Java — изучение на примере
👉 Урок 8 Метод J ava String replace() — Учимся на примере
👉 Урок 9 Методы toLowercase() и toUpperCase() для работы с строкой в ​​Java — узнайте на примере
👉 Урок 10 Преобразование строки Java в int — Как конвертировать & Ex достаточно
👉 Урок 11 HashMap в Java — что такое Hashmap? Возможности и пример

Самые непонятые темы!

👉 Урок 1 Аргументы командной строки Java — изучите примеры
👉 Урок 2 ключевое слово this в Java — что такое и как использовать с примером

Управление памятью Java

< td >👉 Урок 2
👉 Урок 1 Сборка мусора в Java — что это такое, как это работает, пример
Статические переменные Java — статический метод Java, переменная и блок
👉 Урок 3 Распределение памяти в Java — выделение памяти в стеке и куче Java

Абстрактный класс и интерфейс в Java

👉 Урок 1 Наследование в Java — Наследование в ООП Java с примером
👉 Урок 2 Полиморфизм в Java — полиморфизм в ООП Java с примером
👉 Урок 3 Абстракция в Java — что такое, Абстрактный класс и метод
👉 Урок 4 Интерфейс в Java — что такое интерфейс в Java с примером
👉 Урок 5 Интерфейс против абстрактного класса — знайте разницу

Лучше поздно, чем никогда

< /tbody>
👉 Урок 1 Конструктор в Java — что такое конструктор в Java?Примеры программ
👉 Урок 2 Пакеты в Java — что это такое, как создать/импортировать пакет в Java

Обработка исключений в Java

👉 Урок 1 Попробуйте Catch в Java — что такое Exception в Java? Примеры
👉 Урок 2 Пользовательское исключение — Как создать пользовательское исключение в Java
👉 Урок 3 Java Throws Keyword — бросает ключевое слово в Java с примером

Условные циклы в Java

< td >👉 Урок 2
👉 Урок 1 Цикл for-each в Java — улучшенный цикл for для итерации массива Java
Операторы Switch в Java — изучите оператор Switch-Case в Java на примере

Развитие Java!

td> < тд> Пружина Т Учебное пособие — Что такое Spring Framework и как его установить < /tr>
👉 Урок 1 Математика с Java — Java Math Abs() Round() Ceil() Floor() Min() Методы
👉 Урок 2 Генерация случайных чисел — как генерировать случайные числа в Java
👉 Урок 3< /td> Дата и время Java — формат SimpleDateFormat, текущая дата и сравнение
👉 Урок 4 Многопоточность в Java — изучение примеров
👉 Урок 5 Учебное пособие по Java Swing — Как создать графический интерфейс на Java с примерами
👉 Урок 6 Строковый метод Split() в Java — Как разбить строку на примере
👉 Урок 7 Класс Java BufferedReader — Как читать файл в Java с примером
👉 Урок 8 Отражение в Java — Учебное пособие по Java Reflection API с примером
👉 Урок 9 Учебное пособие по Groovy — Шаг за шагом изучите скрипт Groovy для начинающих
👉 Урок 10
👉 Урок 11 Учебное пособие по Apache ANT — Что такое инструмент сборки Apache Ant?
👉 Урок 12 Учебное пособие по JasperReports — что такое, как установить, пример отчета

Программы Java

< td >👉 Урок 2 < tr>
👉 Урок 1 Программа простых чисел на Java — проверка, является ли число простым
Преобразование JSON в XML — преобразование с использованием Gson и JAXB: пример JAVA
👉 Урок 3 Prime Число от 1 до 100 — Как отображать простые числа с помощью Java
👉 Урок 4 Преобразование символа в строку — Как преобразовать символ в строку в Java (Примеры)
👉 Урок 5 Ряд Фибоначчи на Java — Программа ряда Фибоначчи на Java с использованием циклов и рекурсии
👉 Урок 6 Число Армстронга в Java — Java-программа для проверки числа Армстронга
👉 Урок 7 Перевернуть строку в Java — Как перевернуть строку в Java с помощью рекурсии
👉 Урок 8 Программа-палиндром в Java — Проверить, является ли число палиндромом или нет
👉 Урок 9 Программа пузырьковой сортировки на Java — алгоритм сортировки E xample
👉 Урок 10 Сортировка вставками — Алгоритм сортировки вставками в программе Java с примером
👉 Урок 11 Сортировка выбором — Java-программа для сортировки выбором с примером

Различия Java

👉 Урок 1 Вопросы для собеседования по Java — 100 лучших вопросов и ответов для собеседования по Java
👉 Урок 2 Интервью по Java Collections Вопросы и ответы — 80 наиболее часто задаваемых вопросов
👉 Урок 3 Интервью по Java Design Patterns Вопросы и ответы — 22 наиболее часто задаваемых вопроса
👉 Урок 4 Вопросы и ответы на собеседовании по JMS — 25 наиболее часто задаваемых вопросов
👉 Урок 5 Groovy Interview Вопросы и ответы — 22 наиболее часто задаваемых вопроса
👉 Урок 6 Лучшие инструменты Java — Список 20 лучших инструментов Java для разработчиков
👉 Урок 7 ЛУЧШАЯ Java IDE — Список 15 лучших Java IDE
👉 Урок 8 Книги по программированию на Java — 15 лучших книг по программированию на Java для начинающих
👉 Урок 9 Учебник по Java в формате PDF — Загрузить Учебник по программированию на Java для начинающих в формате PDF

Что вы узнаете из этого руководства по Java для начинающих?

В этом учебном пособии по Java для начинающих вы изучите основы программирования на Java, такие как что такое платформа Java, JVM, как установить Java, концепции OOPS, переменные, класс, объект, массивы, строки, аргументы командной строки, сборка мусора, наследование, полиморфизм, интерфейс, конструктор, пакеты и т.д.В этом руководстве по основам Java для начинающих вы также изучите дополнительные понятия, такие как регистр переключателей, функции, многопоточность, свинг, файлы, API, Java Spring и т. д.

Предпосылки для изучения Java Tutorial?

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

Зачем изучать программирование на Java?

Вот причины, по которым вам следует изучать Java:

  • Java очень легко изучить.
  • Java-разработчики пользуются спросом, и найти работу Java-программиста несложно.
  • Он содержит хорошую коллекцию библиотек с открытым исходным кодом.
  • Java бесплатна.

Каковы преимущества Java?

Вот преимущества Java:

  • Java является объектно-ориентированным.
  • Он не зависит от платформы.
  • Вы можете легко писать, компилировать и отлаживать программы по сравнению с другими языками программирования.

Применения программирования на Java

Ниже приведены основные приложения языка программирования Java:

  • Мобильные приложения
  • Веб-приложения
  • Веб-серверы и серверы приложений
  • Корпоративные приложения
  • Встроенные приложения
  • Настольные приложения с графическим интерфейсом

Какие существуют типы программ Java?

Вот типы Java-программ:

  • Отдельные приложения.
  • Веб-приложения, использующие JSP, Servlet, Spring, Hibernate, JSF и т. д.
  • Мобильные приложения
  • Корпоративные приложения

Как получить доступ к Java в режиме реального времени?

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

Программы Java: основные программы Java с примерами и выводами. Здесь мы рассмотрели список из более чем 500 простых программ Java для начинающих, чтобы они могли продвинуться, попрактиковаться и понять, как работает программирование Java. Вы можете взять PDF-файл каждой программы вместе с исходным кодом и выходными данными.

Если вы ищете программы C, вы можете перейти по этой ссылке.

Мы рассмотрели основные программы Java от простых до базовых, а также примеры решений для каждого метода. Если вам нужна какая-либо специальная программа, вы можете связаться с нами.

Все наши примеры программ на Java с выходными данными в формате pdf написаны опытными авторами, хорошо разбирающимися в программировании на Java. Даже наши учебные пособия по Java содержат большое количество подробных материалов, чтобы новички могли легко их понять.

<р>1. ВЫПОЛНЕНИЕ ПРОГРАММЫ JAVA

Статическая загрузка: блок кода загружается в ОЗУ до его выполнения (т. е. после загрузки в ОЗУ он может выполняться или не выполняться)

Динамическая загрузка: блок кода загружается в оперативную память только тогда, когда это требуется для выполнения.

Примечание. Статическая загрузка имела место при выполнении структурированных языков программирования. ПРИМЕР: c- язык

Java использует динамическую загрузку

– JVM не будет одновременно преобразовывать все операторы файла класса в свой исполняемый код.

– После того, как элемент управления выйдет из метода, он удаляется из оперативной памяти и по мере необходимости будет загружаться другой метод типа exe.

– Как только управление выходит из основного ( ), основной ( ) метод также будет удален из ОЗУ. Вот почему мы не можем просмотреть содержимое exe файла класса.

Простая программа Hello Word

Из более чем 500 простых и базовых программ Java: Hello world — это первая программа, которую мы опубликовали на нашем сайте. Конечно, каждый программист на Java или C начнет с «Hello World Program». За ними следуют остальные программы в разных категориях.

Основные Java-программы — полный список здесь

Расширенные примеры простого программирования с примерами выходных данных

Программы строк, массивов

Сортировка программ

Программы конверсии:

Программы шаблонов звезд и чисел

Функции JVM:

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

Мы знаем, что JVM преобразует файл класса в его эквивалентный исполняемый код. Теперь, если JVM находится в исполняемом коде среды Windows, который понимается только средой Windows.

Аналогично, то же самое в случае с UNIX или другим, или, таким образом, зависит от платформы JVM ID.

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

Теперь пользователи могут загрузить 100 лучших примеров программирования на языке Basic Java в формате PDF для практики.

Но зависимость JVM от платформы не учитывается, когда говорится, что Java независима от платформы, поскольку JVM бесплатно предоставляется через Интернет компанией Sun Microsystems.

Независимость от платформы:

Скомпилированный код программы должен выполняться в любой операционной системе, независимо от того, в какой ОС он был сгенерирован. Эта концепция известна как независимость от платформы.

  • Рождение концепции oops произошло с инкапсуляцией.
  • Любая программа состоит из двух частей.
  • Часть даты и логическая часть
  • Среди данных и логики наивысший приоритет мы отдали данным.
  • Но в языке структурированного программирования уровень незащищенности данных высок.
  • Таким образом, в процессе защиты данных в структурированных прог. яз. появилась концепция инкапсуляции.

Примечание. В программах на языке структурированного программирования глобальная переменная играет жизненно важную роль.

Но из-за этих глобальных переменных существует небезопасность данных в программах на языке структурированного программирования. то есть функции, которые не связаны с некоторыми переменными, будут иметь доступ к этим переменным, и, таким образом, данные могут быть повреждены. Таким образом, данные не защищены.

"Это то, что люди обычно говорят о незащищенности данных. Но это не настоящая причина. Фактическая концепция выглядит следующим образом».

Предположим, что у нас есть программа на языке C с сотней функций. Предположим, что это проект. Теперь, если требуется какое-либо обновление, то клиент, т.е. пользователь этой программы (s/w), приходит в свою компанию и просит программистов обновить ее в соответствии с его требованием.

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

Автоматическое изучение занимает много времени. Сам проект до его обновления. Неудивительно, что время, необходимое для написания кода для обновления проекта, может быть намного меньше времени, необходимого для изучения проекта.

Таким образом, обслуживание становится проблемой.

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

  • Чтобы решить эту проблему, программисты разработали концепцию инкапсуляции.
  • Например, у нас есть файл struc.prog.lang. программа с десятью глобальными переменными и двадцатью функциями.
  • Конечно, все двадцать функций не будут использовать все глобальные переменные.

Три глобальные переменные могут использоваться только двумя функциями. Но в структурированной проге. В языке C невозможно ограничить доступ к глобальным переменным некоторым ограниченным числом функций.

Каждая функция будет иметь доступ ко всем глобальным переменным.

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

Теперь переменные внутри блока нельзя вызывать как локальные переменные, потому что их нельзя вызывать как глобальные переменные, поскольку они ограничены блоком, а не глобальными.

Если вы только начали изучать основы языка программирования Java или знакомы с программированием на C или C++, то эти вопросы и упражнения по программированию на Java для вас. Он не фокусируется на какой-то конкретной части Java, но эти упражнения по программированию переведут вас в режим программирования. Это также отличные способы освоить базовые конструкции программирования, такие как if-else, циклы for и while, прерывание и продолжение цикла, операторы Java, например, арифметические и логические операторы, рекурсию, методы или функции, а также стандартный API Java. Вы также можете найти эти вопросы по программированию на Java в большинстве курсов Java, преподаваемых в школах, колледжах и на различных учебных курсах по Java.

Даже я начал изучать Java, выполняя эти упражнения несколько раз разными способами. Они интересны, дают чувство выполненного долга, если вы их выполняете. Эти Java-программы выглядят простыми, но они по-прежнему сложны для начинающих Java-программистов.

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


И если вам нужно освежить свои навыки работы со структурой данных и алгоритмами, чтобы решить эти вопросы по программированию и выполнить упражнения, ознакомьтесь с курсом «Структуры данных и алгоритмы: глубокое погружение с использованием Java» на Udemy.Это отличный курс, чтобы освежить в памяти основные структуры данных, такие как массив, связанный список, двоичное дерево, хеш-таблица, стек, очередь, а также основные методы, такие как рекурсия, динамическое программирование, жадные алгоритмы и т. д.

Упражнения на вопросы по программированию на Java для начинающих и начинающих

Вот мой список из 10 вопросов по программированию на Java или программ на Java, которые могут помочь любому новичку начать работу в мире программирования. Это классика, популярная и очень эффективная. Вы можете использовать блокнот или любую Java IDE, такую ​​как Eclipse или Netbeans, для кодирования. См. ссылки для решений и подсказок.

<р>1. Напишите программу на Java, чтобы проверить, является ли число четным или нечетным в Java? (вход 2 выводит true, ввод 3: выводит false)

Число называется четным, если оно полностью делится на два, и нечетным, если оно не делится полностью на два. Например, число 4 — четное число, потому что когда вы делаете 4/2, остаток равен 0, что означает, что 4 полностью делится на 2. С другой стороны, 5 — нечетное число, потому что 5/2 приведет к остаток как 1. См. здесь, чтобы узнать, как проверить четные и нечетные числа в Java.


<р>2. Напишите программу на Java, чтобы узнать, является ли число простым в Java? (ввод 7: вывод истина, ввод 9: вывод ложь)

Число называется простым, если оно делится либо само на себя, либо на 1. Существует множество алгоритмов для нахождения простых чисел, например, вместо деления до числа может быть достаточно деления до квадратного корня числа. Начните с самого простого, а затем попробуйте решить эту проблему несколькими способами. Вот один из способов проверки простых чисел в Java

<р>3. Напишите программу Java, чтобы проверить, является ли число палиндромом в Java? (121 – палиндром, 321 – нет)

Число называется палиндромом, если оно равно обратной стороне числа, например, 121 является палиндромом, потому что обратная сторона числа 121 равна самому числу 121. С другой стороны, 321 не является палиндромом, потому что обратным числом 321 является 123, что не равно 321. См. здесь решение для проверки того, является ли число палиндромом или нет в Java.


Практические вопросы и упражнения для начинающих Java

Это еще одно интересное упражнение по программированию на Java. Эту программу можно решить разными способами, например, с помощью арифметических операторов или с помощью оператора сдвига битов.


Сортировочные вопросы — одна из неотъемлемых частей вопросов по программированию. Существует множество алгоритмов сортировки для сортировки массива в Java, например. Пузырьковая сортировка, сортировка вставками, сортировка выбором или быстрая сортировка. Реализация алгоритма сортировки сама по себе является хорошим упражнением в программировании на Java. Кстати, вот один из способов сортировки целочисленного массива с помощью алгоритма пузырьковой сортировки в Java.


<р>6. Напишите программу на Java, чтобы проверить, является ли число числом Армстронга или нет? (ввод 153 вывод истина, 123 вывод ложь)

Число Армстронга из трех цифр – это число, для которого сумма куба его цифр равна числу, например, 371 является числом Армстронга, потому что 3*3*3 + 7*7*7 + 1*1 *1 = 371). См. здесь пример программы на Java, чтобы проверить, является ли число числом Армстронга или нет.


Это еще один классический вопрос по программированию на Java. Вы можете по-разному реверсировать String в Java, но для этого используются два метода программирования, например. Итерация и рекурсия. Попробуйте решить эту проблему с помощью итерации, сначала используя арифметический оператор Java, а затем попытайтесь реализовать рекурсивное решение. Вот один из способов инвертировать строку в Java без использования StringBuffer.


Вопросы и упражнения по практике программирования для программистов Java

<р>8. Написать программу на Java для печати ряда Фибоначчи до заданного числа? Пишите как итеративные, так и рекурсивные версии.

Ряд Фибоначчи — это популярный числовой ряд и очень популярный вопрос программирования на Java, в котором число равно сумме двух предыдущих чисел, начиная с третьего. Ряд Фибоначчи также является хорошим упражнением на рекурсию, и его также часто спрашивают в интервью.

Попробуйте выполнить это упражнение, используя как итерации, такие как циклы, так и рекурсию. Для справки см. Как напечатать ряд Фибоначчи в Java с помощью рекурсии.

И, если вы хотите освоить шаблоны того, как решить проблему с помощью рекурсии и т. д., я предлагаю вам проверить Grokking the Coding Interview: Patterns for Coding Questions курс на Educative, это отличный курс для также повышайте уровень своих навыков кодирования.


вопросы и упражнения по программированию для начинающих

<р>9. Написать программу Java для вычисления факториала целого числа? Как итеративные, так и рекурсивные решения.

Вычисление факториала также является классическим упражнением на рекурсию в программировании. Поскольку факториал является рекурсивной функцией, рекурсия становится естественным выбором для решения этой проблемы. Нужно просто запомнить формулу расчета факториала, которая для n! это n*(n-1)*…1. Вот один из способов вычисления факториала в Java с использованием рекурсии.

Эта программа является хорошим упражнением для освоения циклов, например. цикл for и цикл while в Java. Это также научит вас, как использовать операторы break и continue с циклами в Java. Кстати, вы можете напечатать любой символ и использовать System.out.print() и System.out.println() )

Вопросы и упражнения по программированию для программистов Java

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

  • Как удалить элемент из массива без использования сторонней библиотеки (см. здесь)
  • 10 бесплатных курсов по изучению структуры данных и алгоритмов (курсы)
  • 30+ практических вопросов по работе с массивами для Java-программистов (вопросы)
  • Как найти наибольшее и наименьшее число в массиве в Java (читайте здесь)
  • 30+ практических вопросов для Java-программистов на основе связанных списков (вопросы)
  • Разница между массивом и ArrayList в Java (см. здесь)
  • Более 40 практических задач для программистов на языке Java (вопросы)
  • Как выполнить цикл по массиву в Java (читайте здесь)
  • 50+ практических упражнений по структуре данных для программистов Java (вопросы)
  • 4 способа сортировки массива в Java (см. здесь)
  • Более 100 проблем со структурой данных и алгоритмами (решено)
  • Как преобразовать массив в строку в Java (читайте здесь)
  • Как распечатать массив в Java с примерами (читайте здесь)
  • Как объявить и инициализировать многомерный массив в Java (см. здесь)
  • Как сравнить два массива в Java (см. здесь)
  • 10 книг для изучения структуры данных и алгоритмов (книги)
  • Как найти два максимальных числа в массиве целых чисел в Java (см. здесь)
  • 10 лучших курсов для изучения структуры данных и алгоритмов в Java (курсы)

Спасибо, что прочитали эту статью. Если вам нравятся эти вопросы и упражнения по программированию для Java-программистов, поделитесь ими со своими друзьями и коллегами. Если у вас есть какие-либо сомнения или отзывы, напишите об этом.


П. С. — Если вы ищете бесплатные курсы по алгоритмам, чтобы улучшить свое понимание структуры данных и алгоритмов, вам также следует проверить бесплатный курс «Структура данных в Java» на Udemy. Это совершенно бесплатно, и все, что вам нужно сделать, это создать бесплатную учетную запись Udemy, чтобы записаться на этот курс.

Программирование – неотъемлемая часть любого собеседования при приеме на работу в программисты, и собеседование по разработке Java – не исключение. Я бы даже посоветовал вам никогда не нанимать никого, не проверив его навыки кодирования, кодирование — это тоже искусство, и чаще всего хороший код — это еще и отличный разработчик. Если вы посмотрите на таких технологических гигантов, как Amazon, Facebook и Google, они тщательно проверяют навыки кодирования любого разработчика, которого они нанимают, особенно Amazon, который сначала рассылает онлайн-упражнения по кодированию, чтобы отфильтровать Java-программистов, которые могут кодировать. В этом онлайн-тесте обычно выдвигаются требования и предлагается написать программу за ограниченное время, обычно от 2 до 3 часов. Приложение должно соответствовать выходным данным самого упражнения. Такие задачи очень сложно решить, если у вас нет отличных навыков программирования.

Кстати, самый важный вопрос заключается в том, как вы в первую очередь развиваете такие навыки кодирования?Ну, все всегда начинается с малого, и если вы обратите внимание, есть много собеседований по Java, на которых вас просят написать небольшие программы.

Они просты, но дают хорошее представление о навыках программирования потенциальных кандидатов. Многие компании предпочитают их, потому что на написание решения и его обсуждение часто уходит от 10 до 20 минут.

В этом списке я поделюсь 50 такими небольшими программами из интервью по программированию на Java. Эти программы относятся к различным темам структуры данных и алгоритмов, таким как массив, строка, связанный список, двоичное дерево и т. д. Если у вас нет хороших знаний о структуре и алгоритме данных, я предлагаю вам сначала прочитать хорошую книгу о данных Структура и алгоритмы, такие как «Введение в алгоритмы» Томаса Х. Кормена.

Но если книга покажется вам сложной, вы также можете присоединиться к всеобъемлющему онлайн-курсу по структуре данных и алгоритмам, например «Структуры данных и алгоритмы: глубокое погружение с использованием Java» на Udemy, чтобы учиться лучше и удобнее.

50 лучших Java-программ по результатам интервью по кодированию

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

<р>1. Ряд Фибоначчи (решение)
Напишите простую программу на Java, которая будет печатать ряды Фибоначчи, например. 1 1 2 3 5 8 13 . . до заданного числа. Мы готовимся к перекрестным вопросам, таким как использование итерации вместо рекурсии и как оптимизировать решение с помощью кэширования и мемоизации.

<р>2. Простое число (решение)
Напишите программу на Java, чтобы проверить, является ли заданное число простым или нет. Помните, что простое число — это число, которое не делится ни на какое другое число, например. 3, 5, 7, 11, 13, 17 и т.д. Будьте готовы к пересечению, т.е. проверка до квадратного корня из числа и т. д.

<р>3. Палиндром строки (решение)
Вам нужно написать простую программу на Java, чтобы проверить, является ли данная строка палиндромом или нет. Палиндром — это строка, которая равна своей инверсии, например, «Боб» — это палиндром, потому что реверс «Боб» — это также «Боб». Хотя будьте готовы как к рекурсивному, так и к итеративному решению этой проблемы. Интервьюер может попросить вас решить без использования какого-либо библиотечного метода, например. indexOf() или subString(), так что будьте к этому готовы.

<р>
4. Целочисленный палиндром (решение)
Обычно это задают как продолжение или альтернативу предыдущей программе. На этот раз вам нужно проверить, является ли заданное целое число палиндромом или нет. Целое число называется палиндромом, если оно равно своему обратному значению, например. 1001 — это палиндром, а 1234 — нет, потому что обратным числом 1234 является 4321, что не равно 1234. Вы можете использовать деление на 10, чтобы уменьшить число, и модуль 10, чтобы получить последнюю цифру. Этот трюк используется для решения этой проблемы.

<р>5. Число Армстронга (решение)
Число называется числом Армстронга, если оно равно кубу каждой своей цифры. Например, 153 — это число Армстронга, потому что 153 = 1+125+27, что равно 1^3+5^3+3^3. Вам нужно написать программу, чтобы проверить, является ли данное число числом Армстронга или нет.


6. Как избежать взаимоблокировок в Java (решение)
Это одна из интересных программ из Java Interviews, которую в основном задают опытным программистам с опытом работы от 2 до 3 лет. Интервьюер просто попросил вас написать код, в котором к ресурсу обращаются несколько потоков. Вам нужно написать код таким образом, чтобы не возникало взаимоблокировок. Хитрость в решении этой проблемы заключается в том, чтобы собирать ресурсы по порядку и высвобождать их в обратном порядке, например. сначала приобретите ресурс R1 и только в том случае, если у вас есть R1, чтобы перейти на R2. Таким образом, вы можете избежать взаимоблокировки.


7. Факториал (решение)
Это одна из самых простых программ, которые вы можете ожидать на собеседованиях. Обычно спрашивают, умеете ли вы программировать или нет. Иногда интервьюер также может спросить об изменении рекурсивного решения на итеративное или наоборот.

<р>8. Перевернуть строку (решение)
Эта задача похожа на задачу палиндрома строк, которую мы обсуждали выше. Если вы можете решить эту проблему, вы можете решить и эту. Вы можете использовать indexOf() или substring() для обращения строки или, в качестве альтернативы, преобразовать проблему в обращение массива, работая с массивом символов вместо строки. Если вы хотите освежить свои навыки работы со структурами данных, вы также можете пройти курс Data Structures and Algorithms: Deep Dive Using Java на Udemy, прежде чем решать этот вопрос.

<р>
9. Удаление дубликатов из массива (решение)
Напишите программу для удаления дубликатов из массива на Java без использования Java Collection API. Массив может быть массивом строк, целых чисел или символов, ваше решение не должно зависеть от типа массива.Если вы хотите попрактиковаться в вопросах, основанных на массивах, посмотрите этот список из 30 лучших вопросов для собеседований по массивам из интервью по Java.

<р>10. Печать шаблонов (решений)

<р>11. Распечатать повторяющиеся символы строки? (решение)

<р>12. НОД двух чисел (решение)

<р>13. Квадратный корень числа (решение)
Вам нужно написать программу для вычисления квадратного корня числа без использования функции Math.sqrt() из JDK. Вам нужно написать свою логику и метод для вычисления квадратного корня. Однако вы можете использовать популярный алгоритм, например метод Ньютона.

<р>14. Обратный массив на месте (решение)

<р>15. Обратные слова предложения (решение)

<р>17. Бинарный поиск (решение)

<р>18. Строковая анаграмма (решение)
Напишите программу, которая проверяет, являются ли две заданные строки анаграммами друг друга. Ваша функция должна возвращать true, если две строки являются анаграммами, иначе false. Строка называется анаграммой, если она содержит одинаковые символы и одинаковую длину, но в другом порядке, например. армия и Мария - анаграммы. Вы можете игнорировать случаи для этой проблемы, но вы должны уточнить это из своего интервью.

<р>19. Разработка торгового автомата (решение)
Это один из популярных вопросов OOAD (объектно-ориентированный анализ и проектирование) из Java Interviews. Вам будет дано 3 часа на разработку и программирование торгового автомата, удовлетворяющего некоторым бизнес-требованиям. Вам также необходимо написать модульные тесты, чтобы доказать, что ваш код удовлетворяет этим требованиям. Дополнительные вопросы по объектно-ориентированному анализу см. в этой статье.

<р>20. Перевернуть число (решение)

21. Первый неповторяющийся символ строки (решение)

22. Поиск среднего элемента связанного списка за один проход (решение)

23. Обход предварительного заказа (решение)

24. Предварительный обход без рекурсии (решение)

25. В порядке обхода (решение)

26. Для обхода без рекурсии (решение)

27. Обход после заказа (решение)

28. Обход в обратном порядке без рекурсии (решение)

29. Вывести все листья бинарного дерева (решение)


30. Сортировка массива с помощью быстрой сортировки (решение)
Вам нужно написать программу на Java для сортировки массива целых чисел с использованием алгоритма быстрой сортировки. Вы не можете использовать какой-либо библиотечный метод, например. JDK или сторонней библиотеки, что означает, что вам нужно сначала реализовать алгоритм быстрой сортировки, а затем отсортировать массив.


31. Сортировка вставками (решение)
Напишите программу для реализации алгоритма сортировки вставками на языке Java. Программа должна взять несортированный массив и отсортировать его с помощью алгоритма сортировки вставками. Также объяснить наилучшую и наихудшую временную и пространственную сложность алгоритма сортировки вставками.

32. Пузырьковая сортировка (решение)
Напишите программу для реализации алгоритма пузырьковой сортировки на Java. Вы можете использовать основные операторы и функции, но функции сортировки из Java API не разрешены.

33. Транспонировать матрицу (решение)

34. Вывести все перестановки строки (решение)
Напишите программу на Java для вывода всех перестановок заданной строки. Например, если заданная строка — «БОГ», ваша программа должна напечатать все 6 перестановок этой строки, например. "БОГ", "ОГД", "СОС", "ГДО", "ОДГ" и "ДГО".

Вопросы для собеседования по программированию на Java от 2 до 3 лет

35. Перевернуть строку на месте (решение)

36. Добавление двух матриц в Java (решение)

37. Умножение матриц (решение)

38. Удаление всех пробелов из строки (решение)

39. Реверс связанного списка (решение)
Напишите программу для реверсирования односвязного списка на Java. Вы можете использовать итерацию и рекурсию, чтобы решить эту проблему, но вы должны перевернуть связанный список на месте.

Вопросы для интервью по программированию на Java для опытных

40. Найти длину связанного списка (решение)
Просто напишите программу на Java, чтобы найти длину односвязного списка за один проход, то есть всего за одну итерацию односвязного списка.


41. Проверка наличия цикла в связанном списке (решение)
Напишите программу для проверки наличия цикла в данном связанном списке. Иногда связанный список повреждается, и два узла указывают на один и тот же узел, что образует петлю или цикл в связанном списке.

42. Найти начало цикла в связанном списке (решение)

43. Найти средний элемент связанного списка (решение)

44. Поиск 3-го элемента в конце связанного списка (решение)
Вам нужно написать программу для поиска 3-го элемента в конце односвязного списка.Вам нужно решить эту проблему, не повторяя дважды. Если вам нужны дополнительные вопросы, связанные со связанными списками, ознакомьтесь со статьей о часто задаваемых вопросах на собеседованиях со связанными списками.

Вопросы для собеседования по программированию на Java


44. Преобразование связанного списка в двоичное дерево (решение)
Можно преобразовать двусвязный список в двоичное дерево, вам нужно написать программу на Java, которая принимает двусвязный список и возвращает двоичное дерево.< /p>


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


46. Итеративная быстрая сортировка (решение)
Вам необходимо написать программу на Java для реализации алгоритма быстрой сортировки без рекурсии. Вы можете использовать основные классы JDK и программные конструкции, но рекурсия запрещена.


46. Bucket sort (solution)
Эта программа становится все более популярной на собеседованиях по Java, потому что она сортирует заданный массив за линейное время. Хотя есть много предпосылок, например. вы должны знать максимальное значение, присутствующее в массиве, это очень интересная проблема с точки зрения интервью. Вам нужно написать программу для реализации алгоритма сортировки ведер на Java. Если вы не знакомы с сортировкой Bucket или любым другим алгоритмом линейной сортировки, я предлагаю вам сначала прочитать об алгоритмах, например. Введение в алгоритмы Томаса Х. Кормена.

50 лучших программ на Java по результатам интервью по программированию


47. Сортировка подсчетом (решение)
Это еще одна задача, похожая на предыдущую, поскольку сортировка подсчетом также является алгоритмом линейной сортировки. Просто помните, что сортировка по сегменту и сортировка по подсчету — это разные алгоритмы, поэтому также полезно указать, чем они отличаются.


48. Проверьте, вращаются ли две строки друг относительно друга
Напишите программу, которая принимает две заданные строки и проверяет, являются ли они поворотом каждой из них. Если они затем возвращают true, в противном случае возвращают false. Говорят, что строка является вращением другой строки, если они содержат одинаковые символы, и последовательность вращается по любому символу, например. «dabc» — это вращение «abcd», а «dbac» — нет. Если вы хотите попрактиковаться в вопросах, основанных на строках, вы также можете посмотреть мой список из 20 вопросов по алгоритмам на основе строк из интервью по Java.


49. Кэш LRU в Java (решение)
Напишите программу для реализации кэша LRU в Java. Кэш LRU означает наименее недавно использовавшийся кэш, который удаляет наименее использовавшийся элемент, если кеш заполнен. Вы можете использовать LinkedHashMap для реализации кэша LRU в Java.

Вопросы для интервью по программированию на Java


50. Сортировка слиянием
Реализовать алгоритм сортировки слиянием в Java. Вы можете написать рекурсивное или итеративное решение, как вам нравится. Вам также необходимо объяснить временную и пространственную сложность для лучшего, худшего и среднего случая.

Программы Java из интервью по программированию

Это все о 50 лучших программах из интервью по Java. Вы можете практиковать эти Java-программы, даже если вы не готовитесь к собеседованию. Они не только помогут вам успешно пройти собеседование при приеме на работу по программированию, но и помогут вам научиться кодировать и развить свои навыки программирования и понимание кода.

Эти небольшие программы затрагивают несколько важных областей, например. популярные структуры данных, такие как массив, связанный список, двоичное дерево, двоичное дерево поиска, строка и т. д., популярные алгоритмы, например. решето алгоритма Эратосфена для генерации простых чисел, алгоритм Евклида для вычисления LCM и GCF, последовательность Фибоначчи, печать шаблонов и так далее.

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

П. С. - Вы готовы к интервью? Пройдите тест TripleByte и сразу же приступайте к финальному этапу собеседований с ведущими технологическими компаниями, такими как Coursera, Adobe, Dropbox, Grammarly, Uber, Quora, Evernote, Twitch и многими другими.

Читайте также: