Уроки Java с нуля / #10 - Функции в языке Джава
HTML-код
- Опубликовано: 11 май 2024
- Функции выполняют роль небольших подпрограмм, что могут содержать повторяющийся код из проекта. В языке Джава можно использовать встроенные функции и создавать свои собственные. За урок мы научимся разрабатывать свои функции (методы) в языке Джава.
✅ Полезные ссылки:
- Урок на сайте itProger: itproger.com/course/java/10
⏰ Тайм коды:
00:00 - Начало
00:17 - Что такое функции?
03:13 - Создание простого метода
07:45 - Функция с параметром
10:33 - Функция для подсчета суммы
15:30 - Возвращение данных
20:16 - Практическое применение
24:50 - Заключительная часть
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Инстаграм itProger: / itproger_official
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #itProger 👨🏼💻
- Все уроки по хештегу #itprogerLessons
Забавно наблюдать как под каждым последующем видео уроком падает количество просмотров, не все выдерживают таких трудностей😂. Спасибо за уроки!
дело не только в этом, я, например, пересматриваю предыдущие уроки.
@@azazsee а почему этот нет?
Только об этом подумал, решил написать, а тут ты)
@@louislink6605 Ахахах, я уже давно в их числе :D Надеюсь хоть ты дойдёшь до конца!
@@L0n1m спасибо. А что ты так?
Сложноватая тема, нужно время что бы переварить, а так в общем все понятно) Благодарю за урок)
Чтобы понимать как работает функция, можете запустить режим debug. Нажимаете на номер строки с которой хотите понять, как работает программа. Потом нажимаете Shift+f9(или же значок жучка возле кнопки Run сверху). Далее при нажатии кнопки f8 вы будете перескакивать поэтапно вниз по строкам и видеть как выполняется ваш код. Когда вы дошли до строки вызова функции нажмите кнопку f7, таким образом вы как бы зайдете в вашу функцию, посмотрите ее поэтапное выполнение. И таким образом можно продебажить полностью программу и посмотреть как она выполняется. Вообще это очень полезная фишка для разработчика, в большом и сложном коде бывает сложно разобраться и дебаг очень хорошо помогает. Для более ясного понимания можете в ютубе найти ролике про дебаг. Просто напишите как дебажить в intellij idea
спасиб надо попробовать, пока чтот сложности с вызовами и возвратами вообще не пойму что это и куда чего возвращается
Где ты раньше был)
Просто подробнейшее объяснение. И по epam учил и Маршала смотрел, но вот именно по языку java ты просто бог раскладки по полочкам. "От души душевно в душу". Большое спасибо за такой труд!
какой же адекватный язык, все необходимое описываешь в начале объявления функции. Возвращаемое значение типизировано, аргументы тоже типизированы, кайф
Спасибо за бесплатные уроки!
Спасибо за обучение! =)
Отличный курс. Спасибо!
Сложно, но возможно! Спасибо за возможность изучать сложные темы легко! Нууу, почти легко)))
Это прекрасно!)
благодарим Гошан!!!!!!!!!!!!!!!
Все же четко и понятно обьясняет что сложного он классные ролики выпустил респект автору не ленился
В своё время играл в онлайн - игру Ultima online. Так вот, для прокачки чара использовались скрипты, которые мы писали сами. Даже не знаю, какой то был язык программирования, но теперь изучать джаву немного легче ☺️
Очень хорошая подача. Понимаю тех кто не может въехать, те кто практически не понимает что такое программирование. Но при переучивании с одного языка на другой намного легче. Единственное нужно привыкнуть к такой строгости типов данных после php
Действительно интересная тема
Спасибо за видео, все чётко и понятно, только было бы неплохо говорить вообще для чего это нужно, может я ошибаюсь и это везде используется, при написании кода, но моему мозгу трудно, если я не понимаю зачем это вообще надо делать (
Тоже такое чувство, понятно как пользоваться, но не понятно для чего. Просмотрю сначало полностью все уроки а потом начну заново для восприятия, зачем и для чего....
аналогично плюсам)
Очень сложный для понимания но интересный урок!
Спасибо спасибо спасибо
спасибо большое за видео) я изучал последний год язык python, выучил его на отличном уровне.
Но понял что для реализации моих идей больше подойдёт java , java script и kotlin
Вы отлично объясняете.
Желаю вам удачи!
Такая же фигня
после питона, все кажется таким запутаным:) но за видео просто респект тебе! только решил перепрофилироваться. но ни как питон из головы не вылезет)))
Уроки очень классные и подробные для людей ,которые уже сталкивались со всем этом в другом языке .Но скорее всего для тем ,кто это учит впервые темы разъяснены не очень подробно .Но всеравно ,спасибо за информацию 😊
я учу это впервые, мозг у меня поправился пока только от этого урока😂
Красавчик, послу alisheva закрепить самое то
можно еще сказать что когда вы изменяете тип в меньший размер, как в случае с int к byte, вам нужно явно указать компилятору, что вы осознанно принимаете возможные изменения значения. return (byte) summ;
А существуют ли функции высшего порядка в java?(Те которые принимают функцию в качестве аргумента или возвращают другую функцию)
Я один заметил на 13й минуте ошибку? Там при сложении двух переменных (8 + 4) функция в консоль вывела значение 11
Назначить то, назначили, но не использовали: num2 =8, а использовали в summa((short) 4, NUM), а num=7. Проверил, всё так.)))
тоже заметил
из-за этой штуки втыкаю 30 минут и пытаюсь понять что не так
Как еще больше не понятней стало
@@TheVolgaTV
@@user-yv7wq3gi6jчто именно не понятно? просто задали num2 значение которого 8, но забыли поменять дальше в коде, и там осталось num1 значение которого 7
с 18 минуты перестал что либо понимать.....возвращаем res а она становится resul1 и result2........куда, что мы возвращаем.....почему имена переменных не совпадают??? как происходит ассоциация что result1 и result2 это возвращенный res
простыми словами мы возвращаем переменную res, и заносим её в другую (уже созданную нами переменную , в функции main)
@@fantomchik1183 а зачем
Спасибо из Узбекистана
Всем добрый вечер! Забавная ситуация, Вы ввели случайный массив в nums2. Я сделал тоже самое, а получилась одна и та же сумма - 36))))) пхаахахха
И тут моя голова взорвалась! Видимо автор что-то сокращает в объяснениях... Нормально было вроде все в начале, и как обычно в конце началось недопонимание! Где мой третий бокал? ) Слышь, братуха, ты меня уважаешь? Будь любезен разъяснить все по подробнее! Нормально вроде общались )))
Совет. Приводи пожалуйста примеры из жизни. То есть где , то что ты объяснил, пригодится или где это применяется. Совершенно не понятно, что мы учим. Ну возвращает функция, ну не возвращает, не понятно где это применить, да ещё и цифры одинаковые в примере 12 и 12, это для чего было сделано?
Он выпустил это видео объяснить,что и как работает в джаве,где это применят ты должен узнать сам,а он просто дает тебе основу,по которой дальше ты сам будешь учиться
почему когда программа сложила 8 и 4 вышел результат 11
Потому что она сложила 7 и 4 😅
Как по мне, для перевода числового значения в значение String вместо info (String.valueOf()) проще прописать info (" " + result1), тот же самый результат, и еще короче код. Или такое не везде сработает?
Да, но гораздо приятнее прочитать в коде конвертацию данных, а не сложение числа и строки
Точь в точь такой код ввожу, он выводит ошибку "exception in thread main java.lang:index 3 out of bounds for length 3.
В чём причина?
А откуда именно вызывается функция main? Зачем указывать в качестве параметров массив строк? Почему если не указать данные параметры функция не будет вызвана и возникнет ошибка? С первого урока всё это вызывает негодование) Мне как фронтендеру очень интересно. Изучаю java для общего развития)
кто вызывает функцию main... наверное windows 😅
А в параметрах массив строк, это уже требование к всем программам. Все программы при запуске должны иметь место куда можно написать параметры (даже если они не нужны)
изучи как пользоваться ffmpeg. Тогда точно поймëшь что за String[]
Какая-то сложная тема для меня оказалась, хотя все предыдущие налегке схватывал, запутался в функциях этих) Что одну функцию в другую функцию вставляешь, не хватило более конкретных пояснений
а как по мне легко
Полностью согласен!!!! В ChatGPT залазил пару раз, ролик по сто раз пересматривал, но прошлые темы вообще на легке были. Успехов, надеюсь, ты не сдался.
и то еле еле косучками понял что то
То чувство когда смотришь это в 5 часов утра не ложившись спать
То чувство, когда смотришь это не в 5 часов утра, но понимаешь чувство человека, который смотрит это в 5 утра.
return;
NICE
подскажите пожалуйста) с помощью какой проги это всё запустилось? ни атом ведь
Это IntelliJ IDEA, автор рассказывал про эту среду разработки в начальных уроках.
не совсем пойму что подразумевается под "возвращением функции"
А я сижу, думаю, как 8+4 будет 11
short num2=8;
summa ((short) 4, num);
а num как был 7 так и остался. 4+7=11. если бы туда num2 вписать то было бы 12
Я приверженец теории что все методы возвращают и метод void тоже.
только пустоту.
В python это так и есть.
А вот в C# и (вероятно) в Java нет.
сложно быстро и не понятно( в прошлых уроках попроще было а щас меньше объяснений(
16:40 а что если к result установить public то есть вместо int result, написать public static void result;
В этом уроке немного непонятно объяснил ты как именно возвращаются данные. Я в конце-концов понял так, что вызов метода с передачей параметров методу - одновременно принимает данные от вызываемого метода, если вызов приравнивается к какой либо переменной.
Или на бытовом, чтобы было понятнее: Петя вызывает Васю и даёт ему разные продукты(числа). Вася варит суп (перемножает эти числа) и результат передаёт Пете. Так как Петя передавал продукты (вызывал) Васе одновременно с тарелкой (объявлением переменной "Результат"), то суп (результат) переданный Васей к Пете заносится именно в эту тарелку (переменную).
Поправьте меня, если я не прав
Данные возвращаются на место вызова
Public static ето индификатор доступа?
public - модификатор доступа.
static это вообще другое
функции в java называют МЕТОД , для информации сказал
попробовал написать свой код, работает но ничего не вЬІводит, попробовал переписать код точно как на видео, все равно ничего не вЬІводит
я не понял только что возвращать т надо и для чего,,,, ибо по посмотренному ничего не вернулась и ничего не изменилось ,,, если шарит кто напишите
Грубо говоря мы значение функции помещаем в какую-то переменную. Например у тебя есть переменная int a, значение которой тебе нужно посчитать по какой-то формуле. Тогда тебе нужно создать функцию типа int (например public static int f()), которая будет высчитывать это самое число, и самое главное - возвращать его: то есть мы можем написать int a = f(), и теперь в нашей переменной а хранится нужное нам число.
Да .это был сложный урок. 5 раз пересмотрел. Наверно так и надо
Кто мне скажет почему я пишу тот же код и у меня получается не 19 а 119, откуда у меня еще 100 прилетает, это ужас какой то
что то создаем, какой то метод, параметр на основе цикла... бред в какой то момент все превратилось)
спасибо за урок, конечно, но без лекций с пояснением того, как всё работает, кто к кому обращается, в какой момент, и немного терминологии, вообще не ясно ничего тому, кто опыта в программировании не имел) а кто имел, скорее всего, пойдет читать документацию на оф сайте или найдет своего индуса-программиста)
Создаёшь функцию, подставляешь в нее данные возвращаешь, причем тут вообще цикл?
@@Upiter-hv4il я уж и не помню. Что то в видео видать промелькнуло такое)
И это будет самое правильное решение!)
Функции чучуть схожи с Джаваскриптом
Забавно думать что по вот этим урокам можно научиться программировать на Java
а вызывать другие методы нужно только, обязательно, в мейн?
мейн это главный метод. он вызывается всегда. а так вызвать метод можно вызвать и из другого.
Ну всё, прощай System.out.println()
Отныне ты теперь println()
18:45
float[] arr = new float[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ,15, 16, 17};
public static float calcarr(float[] array) {
float gen = 0;
for(int i = 0; i < array.length;i++)
gen += array[i];
return gen;
}
Вызывать нужно System.out.println(calcarr(arr))
Все работает
после 20 минуты я полностью запутался
Объясните мне кто-нибудь, пожалуйста, зачем мы вообще возаращаем что-то?
Что бы это значение можно было присвоить куда то, например в переменную
Автор старается, но ничего не понятно. Надо будет потом ещё раз посмотреть.
Лайфхак, смотришь видео, потом открываешь чат gpt пишешь там например, обьясни мне что такое методы(функции) в джава и он тебе обьясняет, с примерами и т.д. Если не понятно то напиши я ниче не понял обьясни по другому
@@user-mc5rv8ec7m спасибо. Надо попробовать.
Если вы никогда не программировали, то скорее всего вы не понимаете суть программирования. Нужно начинать с более низких азов, чем начало данного курса
Сейчас все уроки пересмотрю, потом придётся опять смотреть... Ужас
Определение функции не верное. Информация не правильная.
Вообще не понятно для чего это все потом использовать. Потому как без объяснения и подставляя просто цифры переменные, задаёшься вопросом- а зачем придумывать такую сложную муть, если результат тот же, что и мы делали в простых операциях на начальных уроках😬
А чего не понятно то?
@@Upiter-hv4il я вроде написала что не понятно где и как применять) а вообще уроки супер, обожаю этот канал, и очень сильно благодарна за его качественный контент))
@@beautyisinternal6953 чтоб изменять переменные можно было, а функцию для того чтобы один раз написать и постоянно на неё ссылаться, а не копипастить десятки раз
За уроки спасибо, но клипать везде переменные!!!! Это уже не тема про функции, а: "ой! тут мы ввалим переменную, ой и тут, а тут пусть будет еще одна и так мы возвращаем эту переменную, ну а тут преобразуем тип данных, а тут напишем переменную и приравняем ее к нулю.... ну а че нам кабанам.
А в чем проблема?
Я один заметил, что с каждым последующим видео число лайков и комментов уменьшается чуть ли не в два раза?
слишком замудрил , для новичков это будет не понятно
3 минуты про функцию, зачем, если ее нет? Такое предложение - есть классы и есть методы, и все, далее не разбивать мозги на части и не плести извилины. Нам / вам же легче будет. Но при всем при том, спасибо.