Microclimate.su

IT Новости
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Задачи по java онлайн

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

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

  • Подборки , 23 февраля 2016 в 12:41
  • Пётр Соковых

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

Для начинающих

  • Отличная статья, в которой описано, как стоит подходить к изучению Java. После прочтения стоит заглянуть и в другие разделы сайта Skipy.ru, это уже будет полезно не только начинающим.
  • Study-Java — сайт, полностью состоящий из туториалов по Java, которые подскажут вам, в каком направлении стоит идти и какие навыки нужно вырабатывать в первую очередь.
  • Курс по основам языка Java.
  • Обширное руководство по многим темам с примерами кода.
  • Базовый курс по Java на ресурсе Stepik.
  • Более 350 вопросов с ответами для подготовки к интервью на позицию Junior Java Developer.
  • Наша подборка материалов для изучения языка Java.
  • Подборка полезных советов от Наньянского технологического университета — там есть аналогичные материалы и по другим темам.

Форумы, на которых вы можете задать возникшие вопросы:

Для продвинутых

  • Раздел Java на developer.com собрал в себе руководства как по целым пластам языка, вроде Enterprise Edition, так и разъяснения отдельных нюансов, вроде новомодных лямбда-выражений. Вот, например, статья, прочитав которую, вы разберётесь с тем, что такое аннотации, зачем они нужны и как правильно их использовать.
  • На сайте Tutorials Point есть раздел с исчерпывающим количеством туториалов по Java. Также там есть отдельный раздел для Java 8.
  • Java2S — коллекция примеров на все случаи жизни. Примечательно, что здесь есть не только чистая Java, но и работа с разными библиотеками, например JUnit. Хорошо описаны и нововведения Java 8 — Date-Time API, лямбды, потоки (streams).
  • Oskar Veerhoek — канал на YouTube, посвящённый OpenGL. Если вы собираетесь связать свою жизнь с программированием, маловероятно, что вам никогда не придётся работать с графикой. В течение курса из 41 видео автор расскажет вам, как работать с OpenGL в Java. Курс начинается с самых основ и написания 2D Minecraft’а, а заканчивается шейдерами, освещением и созданием 3D комнаты.

Для всех

  • Java-Tips — сборник готовых рецептов, шпаргалок, туториалов и полезных библиотек… Сайт будет незаменим для любого Java-программиста, особенно если вы только начинаете изучать язык. Отдельное спасибо стоит сказать тому, кто сортировал это всё — вам не составит труда найти здесь то, что вам нужно. Присутствуют материалы как по Java SE, так и по Enterprise и Micro версиям.
  • Регулярно обновляемый список вопросов и ответов.
  • Примеры решённых практических задач.
  • Структурированный справочник по языку.
  • Подробное руководство с примерами по каждой теме.
  • Обучающий материал от w3resource.
  • Подборка различных материалов для изучения языка.
  • Учебное пособие от Oracle, создателей языка.
  • Помните, что официальная документация — это источник самой достоверной и качественной информации.
  • Напоминаем, что на нашем сайте тоже есть порядочное количество статей по этому языку.

Практика

  • Бесплатные задачи, отсортированные по категориям на Codingbat;
  • Cписок задач от автора блога eax.me;
  • Олимпиадные задачи с ACMP;
  • Олимпиадные задачи с Codeforces;
  • Задачи с ответами на Codewars.

Полезные библиотеки

  • JUnit
    Любой код должен сопровождаться тестированием. Многие очень напрасно об этом забывают. Эта библиотека предназначена для автоматизации модульного тестирования. Еще несколько инструментов для тестирования в Java, вы найдете в нашей подборке.
  • HttpClient
    Библиотека для работы с HTTP ресурсами.
  • CommonsLang
    То, что «забыли» включить в JDK.
  • CommonsMath
    Отличное дополнение к java.math .
  • CommonsLogging
    Если вы используете для логирования System.out.println() , то вам стоит отрубить себе рук лучше воспользуйтесь этой библиотекой, так будет правильнее.
  • CommonsNet
    Логическое продолжение java.net , множество классов для работы с сетевыми протоколами.
  • CommonsVFS
    Библиотека, которая поможет вам абстрагироваться от способа хранения файлов — вы сможете достаточно обобщённо иметь к ним доступ по FTP, SFTP, WEBDAV, (G)ZIP и т.д.
  • CommonsIO
    С ней работать с вводом-выводом станет значительно проще.

Java 9

О том, какие изменения появились в Java 9, читайте в нашем обзоре с примерами.

Статьи

  • Подробный гайд по Java 9;
  • Знакомство с Project Jigsaw;
  • Java 9 Stream API: введение и материал по коллекторам;
  • Java 9 Process API;
  • Улучшения в Java Time (JSR-310);
  • Конкурентность;
  • Новое в Optional;
  • Разбираемся с Stack-Walking API;
  • Коллекции;
  • «Applying @Deprecated Enhancements»;
  • Используем sun.misc.Unsafe ;
  • Variable Handles;
  • Рефлексия vs Инкапсуляция;
  • Создание multi-release JAR-файлов при помощи Maven: о формате JAR, и о формате JAR с использованием Maven;
  • Ограничения памяти и Docker;
  • Введение в JShell.

Больше статей можно найти на этом сайте.

Блоги

  • Oracle (нет тега Java 9);
  • SitePoint;
  • Voxxed (выделим отличный цикл);
  • Baeldung;
  • Iteratr Learning (нет тега Java 9);
  • CodeFX;
  • Joda.

Книги и курсы

  • Курс «Java 9 Modularity: First Look»;
  • Книга «Java 9 Modularity»;
  • Книга «Mastering Java 9»;
  • Книга «Modular Programming in Java 9»;
  • Книга «Java 9 with JShell»;
  • Книга «Java 9 Module System».

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

Список задач по Java для начинающих

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

Условные операторы

1. Найти наибольшее значение из двух переменных, трех, четырех, описать общий принцип для большего числа

2. Если а – четное посчитать а*б , иначе а+б

3. Определить какой четверти принадлежит точка с координатами (х,у)

4. Найти суммы только положительных из трех чисел

5. Посчитать выражение макс(а*б*с, а+б+с)+3

6. Есть два конверта со сторонами (а,б) и (с,д) определить, можно ли один конверт вложить в другой

7. Отсортировать значения двух, трех, четырех переменных используя только условные операторы

8. Написать программу определения оценки студента по его рейтингу, на основе следующих правил:
рейтинг Оценка

0-19 F
20-39 E
40-59 D
60-74 C
75-89 B
90-100 A

9. Проанализируйте следующий фрагмент кода. Какой результат будет при a =2 и b= 4 ?

Путем минимальных изменений модифицируйте код таким образом, чтобы на экране было напечатано

134 (при a =2 и b= 4)
4 (при a =2 и b= 44)
14 (при a =2 и b= 4)
1 (при a =2 и b= 4)

Циклы

1. найти сумму четных чисел и их количество в диапазоне от 1 до 99

2. Проверить простое ли число? (число называется простым, если оно делится только само на себя и на 1)

3. Вывести на экран квадрат, со стороной а

4. Вывести шахматную доску с заданными размерами, по принципу:

5. Напишите программу, которая определяет, является ли введенное число палиндромом? (Палиндром – число или текст, которые одинаково читаются слева направо и справа налево)

6. Вывести все простые числа в диапазоне от 2 до n

7. Вывести все натуральные числа, квадрат которых больше меньше заданного числа n

8. Вывести все делители числа

9. Найти корень натурального числа с точностью до целого (рассмотреть переборный вариант, и метод бинарного поиска)

10. Теорема Пифагора: вывести все прямоугольные треугольники, стороны которых – натуральные числа меньше 1000, посчитать их количество(по теореме Пифагора у прямоугольного треугольника сумма квадратов катетов равна квадрату гипотенузы). Подсказка: использовать полный перебор с трижды вложенными циклами.

11. Вычислить факториал числа n. n! = 1*2*…*n-1*n;

12. Вычислить среднее значение чисел, не являющихся простыми, в диапазоне от 1 до n.

13. Посчитать сумму цифр заданного числа

14. Вывести число, которое является зеркальным отображением последовательности цифр заданного числа, например, задано число 123, вывести 321.

15. Вставить цифру в число не прибегая к строковым преобразованиям.

Одномерные массивы

  1. Найти минимальный элемент массива
  2. Найти индекс максимального элемента массива
  3. Посчитать сумму элементов массива с нечетными индексами
  4. Найти наиболее часто встречающееся значение
  5. Сделать реверс массива (массив в обратном направлении)
  6. Найти все элементы, которые меньше среднего значения
  7. Обработать массив таким образом, чтобы сначала были элементы меньше среднего, потом больше
  8. Проверить является ли массив палиндромом?
  9. Посчитать количество нечетных элементов массива
  10. Найти все элементы массива, для которых делителем является хотя бы один из элементов массива.
  11. Поменять местами первую и вторую половину массива, например, для массива 1 2 3 4, результат 3 4 1 2
  12. Вывести элементы массива в следующем порядке: первый, последний, второй, предпоследний и т.д. Какие особые случаи необходимо обработать?
  13. Вывести элементы массива в следующем порядке: первый, средний, второй, средний + 1 и т.д.
  14. Заполнить массив из 100 элементов числами по следующей формуле Ai = (Ai-1*d)%m (A0,d,m – произвольные константы
  15. Отсортировать массив (пузырьком, выбором, вставками)
  16. Заполнить массив из 3*n элементов числами от 1 до n. Создать массив из n элементов, каждый из которых будет содержать количество вхождений (частоту) чисел от 1 до n в исходном массиве.

Функции

  1. Написать функцию, которая будет возвращать номер четверти, в которой находится точка с координатами (x,y). (координаты – аргументы функции)
  2. Написать функцию, которая возвращает факториал числа N (аргумент функции)
  3. Написать функцию, которая возвращает строковое название дня недели по номеру дня.
  4. Написать программу, которая выведет число N (от 0 до 1000), написанное прописью.
  5. Написать функцию, которая находит расстояние между двумя точками в двумерном декартовом пространстве.
  6. Написать функцию, которая возвратит строковое представление числа N(dec) в двоичном, шестнадцатеричном форматах.
  7. Написать, функцию, которая вернет число по строке с записью числа в двоичной форме.

Рекурсия

  1. Написать функцию рекурсивного расчета факториала числа.

N! = N * (N-1)!
Написать рекурсивную функцию расчета чисел Фибоначчи. Числа Фибоначчи рассчитываются по формуле:

F(i) = F(i-1) + F(i-2), F(0) = 1, F(1) = 1.
Построить диаграмму вызовов функции F.

Написать рекурсивную функцию, которая вычисляет a^n , где a,n – целые числа. (Подсказка: a^2n = (a^n)^2

Задачи с решениями на JS

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

Задача на создание примитивного калькулятора на JS

Запросите у пользователя ввести два числа и верните ему сумму этих двух чисел. Для решения используйте функции: prompt и parseInt.

Решение задачи:

В переменные a и b запишутся, введенные пользователем числа в поля ввода модальных окон. Если пользователь введет строку или число с дробной частью, то функция parseInt преобразует их к целым числам. Команда alert выведет результат сложения двух чисел.

let a = prompt(«Введите первое число:»); // ввели число
a = parseInt(a); // преобразовали к целому числу
let b = prompt(«Введите второе число:»); // ввели число
b = parseInt(b); // преобразовали к целому числу
alert(a+b); // вывели результат сложения

Задача на ветвление (if-else) на JS

Реализуйте алгоритм: участнику викторины задается 2 вопроса. За каждый правильный ответ начисляется 1 балл. Подсчитать и вывести количество правильных ответов на экран.

Решение задачи:

Заведем две переменные для исходных данных: для счетчика баллов (point) и ответов от участника (answer). Пока в нашем счетчике лежит 0 баллов, а переменная для ответов — пустая. Функция prompt вызывает окно с вопросом и поле для ввода ответа. Введенный участником ответ попадаете в переменную answer. Программа сравнивает (==) правильный ответ с ответом участника. Если (if) ответ правильный, то программа пойдет по одной ветке: выведет окно с текстом ‘Верно’ и увеличит счетчик на единицу (0 + 1 = 1). В противном случае (else), если ответ неправильный, то программа пойдет по другой ветке и выведет окно с текстом ‘Неверно!’.

Точно так же программа обработает второй вопрос. В итоге в переменной point может оказаться от 0 до 2 баллов, это зависит от количества правильных ответов.

let point = 0;
let answer = «»;
answer = prompt(«Какую птицу называют лесным доктором?»);
if (answer == «дятел») <
alert(«Верно»);
point = point + 1; // сокращенная запись point++
>else <
alert(«Неверно!»);
>

answer = prompt(«Самое глубокое пресноводное озеро в мире?»);
if (answer == «Байкал») <
alert(«Верно»);
point = point + 1; // point++ >else <
alert(«Неверно!»);
>

alert(«Вы набрали: » + point + » баллов»);

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

Цикл — это набор команд, который может повторно выполняться пока заданное условие верно, возвращает истину.

Задача на циклы и массивы на JS

Напишите программу, которая будет задавать вопросы пользователю и затем выведет ответы на странице. Для решения используйте функцию prompt и цикл for.

Решение задачи:

Мы не будем помещать каждый вопрос в отдельную переменную, а создадим массив из вопросов и присвоим его одной переменной. Ещё создадим пустой массив для ответов.

В круглых скобках цикла for, мы настроим его работу:

  1. создадим переменную счетчик со значением 0.
  2. зададим условие, до каких пор будет работать цикл. Цикл работает, пока значение счетчика меньше длины массива.
  3. задаем шаг для счетчика, при каждом повторе, значение счетчика будет увеличиваться на 1. Когда условие, что i меньше длины массива, перестанет быть правдой, цикл закончит свою работу.

let answers = [];
questions = [
‘Как вас зовут?’,
‘Кто вы по профессии?’,
‘Где вы работаете?’
];

В фигурных скобках (теле цикла), указываются инструкции, которые должны выполнятся, при новом витке цикла. Мы говорим программе: При каждом проходе цикла, запрашивай у пользователя ответ на вопрос, и полученный ответ записывай в переменную answer. Когда вопросы закончатся, то цикл сам остановится и выведет на страницу все ответы. Правильно настроенный цикл, делает всю рутинную работу за программиста.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    Задачник JavaScript и jQuery от Трепачёва Дмитрия

    Учебник JavaScript

    Практика

    Работа с DOM

    Практика

    Некоторые продвинутые вещи

    Рекомендованное ES6

    Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.

    Регулярки

    • Урок №
      Введение, задач нет
    • Урок №
      Работа с регулярными
      выражениями. Глава 1.
    • Урок №
      Работа с регулярными
      выражениями. Глава 2.
    • Урок №
      Работа с регулярными
      выражениями. Глава 3.
    • Урок №
      Работа с регулярными
      выражениям. Глава 4.
    • Урок №
      Отличия
      от PHP версии

    Разное

    Работа с канвасом

    • Урок №
      Введение, задач нет
    • Урок №
      Основы
      работы с canvas
    • Урок №
      Продвинутая
      работа с canvas

    Практика

    • урок исключен (мало материала), по аяксу скоро будет отдельный учебник (много материала)

    Контекст

    • Урок №
      Введение, задач нет
    • Урок №
      Продвинутая
      работа с контекстом

    Drag-and-Drop

    • Урок №
      Введение, задач нет
    • Урок №
      Основы
      работы с ООП
    • Урок №
      Наследование
      классов в JavaScript
    • Урок №
      Применение
      ООП при работе с DOM
    • Урок №
      Практика
      по ООП в JavaScript
    • Тут скоро будут еще уроки
      по функциональному и прототипному
      стилю ООП.

    Практика по ООП

    Ваша задача: посмотрите, попробуйте повторить.

    Практика

    Promise ES6

    Библиотека jQuery

    Тк. jQuery устаревает, объявляю эти уроки не обязательными и выношу в конец учебника (так по уровню уроки середины учебника, если что). В перспективе переедет в отдельный учебник по jq.

    Данный раздел сайта содержит задачи по JavaScript+jQuery с начального уровня до продвинутого.

    Учебник JavaScript

    Практика

    Работа с DOM

    Практика

    Некоторые продвинутые вещи

    Рекомендованное ES6

    Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.

    Регулярки

    • Урок №
      Введение, задач нет
    • Урок №
      Работа с регулярными
      выражениями. Глава 1.
    • Урок №
      Работа с регулярными
      выражениями. Глава 2.
    • Урок №
      Работа с регулярными
      выражениями. Глава 3.
    • Урок №
      Работа с регулярными
      выражениям. Глава 4.
    • Урок №
      Отличия
      от PHP версии

    Разное

    Работа с канвасом

    • Урок №
      Введение, задач нет
    • Урок №
      Основы
      работы с canvas
    • Урок №
      Продвинутая
      работа с canvas

    Практика

    • урок исключен (мало материала), по аяксу скоро будет отдельный учебник (много материала)

    Контекст

    • Урок №
      Введение, задач нет
    • Урок №
      Продвинутая
      работа с контекстом

    Drag-and-Drop

    • Урок №
      Введение, задач нет
    • Урок №
      Основы
      работы с ООП
    • Урок №
      Наследование
      классов в JavaScript
    • Урок №
      Применение
      ООП при работе с DOM
    • Урок №
      Практика
      по ООП в JavaScript
    • Тут скоро будут еще уроки
      по функциональному и прототипному
      стилю ООП.

    Практика по ООП

    Ваша задача: посмотрите, попробуйте повторить.

    Читать еще:  Репетитор по английскому онлайн 5 класс
    Ссылка на основную публикацию
    ВсеИнструменты 220 Вольт
    Adblock
    detector