Спасибо всем, кто пишет отзывы на Степике! ❤️❤️❤️
Стесняюсь их публиковать, но по законам жанра должна это делать! Реальные впечатления учеников помогут решить, подходит ли Вам такой формат обучения.
Основы языка Java
Объектно-ориентированное программирование на Java
Прокачай Java
Стесняюсь их публиковать, но по законам жанра должна это делать! Реальные впечатления учеников помогут решить, подходит ли Вам такой формат обучения.
Основы языка Java
Это лучший курс из всех, которые я проходил на Stepik. Автор курса очень коротко и лаконично, а самое главное, что предметно и без всякой воды объясняет материал. Теории действительно полностью хватает для выполнения всех практических заданий без необходимости лезть в интернет. Самым ценным для меня в этом курсе - это обилие практических заданий на закрепление теории. Гораздо интереснее решать самому задачи, чем слушать рассуждения о том, как их можно сделать. Также не могу не отметить отзывчивость и скорость ответа автора на возникающие в процессе прохождения курса вопросы. Для меня это ценнейшая находка на платформе, 5 из 5.
Kirill
Объектно-ориентированное программирование на Java
Отличный курс, хорошо помог разобраться в ООП за счет большого количества практических задач
Сунцов Степан
Прокачай Java
The Best! Идеально соблюдается классический подход к организации учебного процесса: изложение -> повторение -> закрепление. Курсы по Java этого преподавателя лучшие. Четкие, короткие уроки, ни одного лишнего слова, много примеров кода, много заданий для закрепления теории. Конспекты повторяют видео, очень удобно, что не уловил, можно прочитать. Очень рекомендую. Оксана Ивановна, огромное Вам спасибо! Жду продолжения по Java.
SVETLANA MAZHAYKINA
Stepik: online education
Основы языка Java
Откройте дверь в мир возможностей Java! С этим курсом Вы создадите фундамент своих знаний: научитесь писать простые программы, разберетесь с типами данных, алгоритмическими конструкциями, массивами и строками, поймете принципы создания статических методов…
🔥19👍9❤4
Какая строка инициализации приведет к ошибке?
Anonymous Quiz
44%
1
6%
2
13%
3
25%
4
13%
Ошибки не будет
👍3
🎁 Подарок, который меняет будущее! 🚀
Не знаете, что подарить близкому человеку? Новый гаджет, парфюм или книгу – это здорово, но как насчёт действительно ценной вещи?
Подарите курс по программированию на Java! 💻🔥
✔️ Перспективная профессия
✔️ Высокие зарплаты
✔️ Возможность работать удалённо
✔️ Развитие логики и креативности
Это не просто подарок, а инвестиция в будущее! Кто знает, может, именно благодаря вам кто-то станет крутым разработчиком? 😎
Выбирайте осмысленные подарки! 🎯
Не знаете, что подарить близкому человеку? Новый гаджет, парфюм или книгу – это здорово, но как насчёт действительно ценной вещи?
Подарите курс по программированию на Java! 💻🔥
✔️ Перспективная профессия
✔️ Высокие зарплаты
✔️ Возможность работать удалённо
✔️ Развитие логики и креативности
Это не просто подарок, а инвестиция в будущее! Кто знает, может, именно благодаря вам кто-то станет крутым разработчиком? 😎
Выбирайте осмысленные подарки! 🎯
Stepik: online education
Java Core: программа курсов
Программа из трех курсов. Изучаем Java с нуля: синтаксис языка, основы ООП, основные библиотеки вплоть до Java 8. Все, что нужно знать для прохождения собеседования по Java SE. Последовательно, просто, кратко. На интересных, не типовых задачах.
🔥18
Что будет результатом фрагмента кода?
Anonymous Quiz
16%
Ошибка компиляции
19%
3
9%
null
6%
Программа завершится без вывода
50%
IndexOutOfBoundsException
👍2
Итак, весна все-таки пришла! Как неожиданно... 🌱
С первыми теплыми днями хочется что-то изменить: навести порядок, начать заниматься спортом или освоить что-то новое. Весна будто даёт дополнительную энергию, замечали? Так почему бы не направить её в полезное русло?
Если ты давно хотел(-а) попробовать себя в программировании, сейчас отличный момент. Начать можно с курсов “Основы программирования на C/C++. Полная версия” или “Основы языка Java”. Оба этих курса рассчитаны на полных новичков. Оба курса содержат множество задач с автоматической проверкой, которые позволят “прокачать скиллы”. И на оба - весенняя скидка 15%!
Главное — сделать первый шаг. Весна — это про новые старты. Возможно, именно сейчас ты заложишь основу для будущих перемен, а к лету выйдешь на новый уровень... Попробуешь? 😉
С первыми теплыми днями хочется что-то изменить: навести порядок, начать заниматься спортом или освоить что-то новое. Весна будто даёт дополнительную энергию, замечали? Так почему бы не направить её в полезное русло?
Если ты давно хотел(-а) попробовать себя в программировании, сейчас отличный момент. Начать можно с курсов “Основы программирования на C/C++. Полная версия” или “Основы языка Java”. Оба этих курса рассчитаны на полных новичков. Оба курса содержат множество задач с автоматической проверкой, которые позволят “прокачать скиллы”. И на оба - весенняя скидка 15%!
Главное — сделать первый шаг. Весна — это про новые старты. Возможно, именно сейчас ты заложишь основу для будущих перемен, а к лету выйдешь на новый уровень... Попробуешь? 😉
❤21🔥1
Какой порядок инициализации верный?
Anonymous Quiz
6%
Нестатические блоки -> статические блоки -> конструктор
32%
Статические блоки -> конструктор -> нестатические блоки
7%
Блоки и конструктор выполняются в порядке их расположения в классе
12%
Порядок инициализации зависит от JVM и может меняться
43%
Статические блоки при первом обращении к классу -> нестатические блоки -> конструктуктор
Что будет выведено на экран?
Anonymous Quiz
12%
Ошибка компиляции
66%
Child
8%
Parent
10%
Parent Child
4%
Runtime Exception
Вам знакомо чувство, когда ты безнадёжно тупишь?
Когда смотришь на задачу и хочется просто плюнуть и забыть про неё?
Я отлично помню это ощущение. В институте нам задали написать программу для работы с деком на языке PL-1.
Да, в те времена был такой язык. А вот интернета и Степика не было. Если преподаватель объяснял плохо, оставался только один вариант — искать книги и разбираться самой.
Это было трудно. Это было больно. Особенно тяжело – не понимать написанного. Но в этом процессе я научилась «докапываться до сути» и сделала важный вывод:
👉 Всё, что создано людьми (например, язык программирования), может понять любой человек. Главное — не считать себя тупым, а искать объяснения, подходящие именно для твоего уровня.
Позже оказалось, что это умение разбираться и объяснять сложные вещи (сначала самой себе, а потом и другим) оказалось полезным не только мне, но и многим людям.
💡 Если вам тоже хоть раз хотелось бросить программирование к ядрене-фене – ставьте лайк! Мы все через это проходили. 😅
Когда смотришь на задачу и хочется просто плюнуть и забыть про неё?
Я отлично помню это ощущение. В институте нам задали написать программу для работы с деком на языке PL-1.
Да, в те времена был такой язык. А вот интернета и Степика не было. Если преподаватель объяснял плохо, оставался только один вариант — искать книги и разбираться самой.
Это было трудно. Это было больно. Особенно тяжело – не понимать написанного. Но в этом процессе я научилась «докапываться до сути» и сделала важный вывод:
👉 Всё, что создано людьми (например, язык программирования), может понять любой человек. Главное — не считать себя тупым, а искать объяснения, подходящие именно для твоего уровня.
Позже оказалось, что это умение разбираться и объяснять сложные вещи (сначала самой себе, а потом и другим) оказалось полезным не только мне, но и многим людям.
💡 Если вам тоже хоть раз хотелось бросить программирование к ядрене-фене – ставьте лайк! Мы все через это проходили. 😅
❤41👍12🔥6😢2
Как отсортировать подарки по весу?
Anonymous Quiz
9%
gifts.sort(Comparator.reverseOrder());
20%
gifts.sort((g1,g2) -> g2.getWeight() - g1.getWeight());
34%
Collections.sort(gifts, Comparator.comparingDouble(Gift::getWeight));
37%
Collections.sort(gifts, (g1,g2) -> g1.getWeight().compareTo(g2.getWeight()));
В какой последовательности изучать возможности Java?
Это очень важный вопрос. Ведь правильная последовательность изложения материала даст Вам не просто шаблон решения той или иной задачи – она даст Вам понимание языка в целом!
Давайте проиллюстрируем это на примере о сортировке подарков из последнего теста.
Ученики курса “Объектно-ориентированное программирование на Java” решили бы эту задачу так:
Т.е. здесь второй параметр метода
Ученики курса “Прокачай Java” заменили бы переопределение метода более коротким лямбда-выражением:
А когда бы познакомились с новыми статическими методами, добавленными в интерфейс
И этот код уже гораздо короче. Но понятным до конца он становится только тогда, когда сам пройдешь эту эволюцию от создания безымянного класса до использования статических методов компаратора! А то, что понятно – запоминается надолго…
Именно поэтому рекомендую изучать Java Core в той последовательности, которую нам задает "Java Core: Программа курсов". К тому же это и значительно дешевле, особенно со скидкой 10% для подписчиков Телеграмм-канала.
Это очень важный вопрос. Ведь правильная последовательность изложения материала даст Вам не просто шаблон решения той или иной задачи – она даст Вам понимание языка в целом!
Давайте проиллюстрируем это на примере о сортировке подарков из последнего теста.
Ученики курса “Объектно-ориентированное программирование на Java” решили бы эту задачу так:
Collections.sort(gifts, new Comparator<Gift>() {
@Override
public int compare(Gift o1, Gift o2) {
if(o1.getWeight()>o2.getWeight()) return 1;
if(o1.getWeight() < o2.getWeight()) return -1;
return 0;
}
});
Т.е. здесь второй параметр метода
Collection.sort() – это безымянный класс, который реализует интерфейс Comparator. И метод compare() этого класса переопределяется прямо тут, в описании вызова метода sort(). Правильно, но громоздко, не так ли?Ученики курса “Прокачай Java” заменили бы переопределение метода более коротким лямбда-выражением:
Collections.sort(gifts, (o1, o2) -> {
if (o1.getWeight() > o2.getWeight()) return 1;
if (o1.getWeight() < o2.getWeight()) return -1;
return 0;
});
А когда бы познакомились с новыми статическими методами, добавленными в интерфейс
Comparator в Java 8, заменили бы это лямбда - выражение вызовом статического метода comparingDouble() с использованием ссылки на метод Gift::getWeight:Collections.sort(gifts, Comparator.comparingDouble(Gift::getWeight));
И этот код уже гораздо короче. Но понятным до конца он становится только тогда, когда сам пройдешь эту эволюцию от создания безымянного класса до использования статических методов компаратора! А то, что понятно – запоминается надолго…
Именно поэтому рекомендую изучать Java Core в той последовательности, которую нам задает "Java Core: Программа курсов". К тому же это и значительно дешевле, особенно со скидкой 10% для подписчиков Телеграмм-канала.
Stepik: online education
Объектно-ориентированное программирование на Java
Окунитесь в мир объектно-ориентированного программирования! Научитесь создавать и использовать классы, разберитесь с принципами ООП и их реализацией в Java, изучите паттерны проектирования приложений.
Если Вы новичок в ООП и к тому же изучаете Java – этот…
Если Вы новичок в ООП и к тому же изучаете Java – этот…
👍6🔥4⚡1🙏1
Какое утверждение о конструкторе является истинным?
Anonymous Quiz
6%
Конструктор может быть объявлен с возвращаемым типом void
29%
Конструктор может быть унаследован от родительского класса
28%
Если в классе не определен конструктор, компилятор создат приватный конструктор по умолчанию
24%
Конструктор можно перегрузить
13%
Конструктор может быть вызван напрямую по имени, как обычный метод
👍9❤1
Что нужно знать о конструкторах?
1) Конструкторы не наследуются! Это значит, что в наследнике нужно обязательно прописывать свой конструктор. Но при этом первое, что выполняется в конструкторе наследника – это вызов конструктора суперкласса. Т.е. всегда сначала отрабатывает конструктор суперкласса, а потом – конструктор подкласса.
2) Если в классе не определен конструктор, то по умолчанию создается конструктор без параметров. Но он публичный, а не приватный!
3) Если в классе мы объявим хоть один конструктор с параметром, этот конструктор по умолчанию становится недействительным. И мы должны его явно описать, если намерены использовать. Как в примере мы описали конструктор
4) Конструктор не может быть вызван напрямую, как обычный метод. Нужно использовать операцию new. Например,
1) Конструкторы не наследуются! Это значит, что в наследнике нужно обязательно прописывать свой конструктор. Но при этом первое, что выполняется в конструкторе наследника – это вызов конструктора суперкласса. Т.е. всегда сначала отрабатывает конструктор суперкласса, а потом – конструктор подкласса.
class Father {
private int number = 0;
public Father(int number) {
this.number = number;
}
public Father() {
}
}
class Child extends Father {
public Child(int number) {
super(number); //вызов конструктора Father и передача ему параметра
}
public Child() {
//здесь тоже неявно вызывается конструктора Father без параметров
}
}
2) Если в классе не определен конструктор, то по умолчанию создается конструктор без параметров. Но он публичный, а не приватный!
3) Если в классе мы объявим хоть один конструктор с параметром, этот конструктор по умолчанию становится недействительным. И мы должны его явно описать, если намерены использовать. Как в примере мы описали конструктор
public Father() {}
4) Конструктор не может быть вызван напрямую, как обычный метод. Нужно использовать операцию new. Например,
Child c = new Child(7);
👍6❤4
🚀 Срочные новости из мира C++ и Java! 🚀
🔹 Oracle и Bjarne Stroustrup анонсировали Java++ – язык, сочетающий мощь C++ и удобство Java! Теперь вместо
🔹 В Java++ убрали
🔹 Самая главная фича: исключения теперь автоматически исправляют код, вместо выбрасывания ошибки! Если делишь на ноль, компилятор просто меняет 0 на 1 – потому что кто вообще делит на ноль специально?
P.S. Подробности завтра... если компилятор нас не скомпилит раньше! 🤡🔥
🔹 Oracle и Bjarne Stroustrup анонсировали Java++ – язык, сочетающий мощь C++ и удобство Java! Теперь вместо
Garbage Collector – "Garbage Pointer", который случайным образом удаляет объекты в памяти, чтобы не было утечек!🔹 В Java++ убрали
null, потому что программисты всё равно его ненавидят. Теперь вместо него – Schrödinger’s reference, что означает, что неизвестно, есть объект или он отсутствует. Компилятор сам решит, что с этим делать!🔹 Самая главная фича: исключения теперь автоматически исправляют код, вместо выбрасывания ошибки! Если делишь на ноль, компилятор просто меняет 0 на 1 – потому что кто вообще делит на ноль специально?
P.S. Подробности завтра... если компилятор нас не скомпилит раньше! 🤡🔥
🤡16🔥10😁9👏2
Что будет результатом кода?
Anonymous Quiz
50%
5
39%
10
9%
Ошибка компиляции
0%
null
2%
UnsupportedOperationException