Уроки 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

Комментарии • 121

  • @L0n1m
    @L0n1m Год назад +157

    Забавно наблюдать как под каждым последующем видео уроком падает количество просмотров, не все выдерживают таких трудностей😂. Спасибо за уроки!

    • @azazsee
      @azazsee Год назад +3

      дело не только в этом, я, например, пересматриваю предыдущие уроки.

    • @Upiter-hv4il
      @Upiter-hv4il Год назад +2

      @@azazsee а почему этот нет?

    • @louislink6605
      @louislink6605 Год назад +2

      Только об этом подумал, решил написать, а тут ты)

    • @L0n1m
      @L0n1m Год назад +3

      @@louislink6605 Ахахах, я уже давно в их числе :D Надеюсь хоть ты дойдёшь до конца!

    • @louislink6605
      @louislink6605 Год назад

      @@L0n1m спасибо. А что ты так?

  • @Anatoli-bq1pe
    @Anatoli-bq1pe 2 года назад +45

    Сложноватая тема, нужно время что бы переварить, а так в общем все понятно) Благодарю за урок)

  • @BlackSkorpion123
    @BlackSkorpion123 2 года назад +29

    Чтобы понимать как работает функция, можете запустить режим debug. Нажимаете на номер строки с которой хотите понять, как работает программа. Потом нажимаете Shift+f9(или же значок жучка возле кнопки Run сверху). Далее при нажатии кнопки f8 вы будете перескакивать поэтапно вниз по строкам и видеть как выполняется ваш код. Когда вы дошли до строки вызова функции нажмите кнопку f7, таким образом вы как бы зайдете в вашу функцию, посмотрите ее поэтапное выполнение. И таким образом можно продебажить полностью программу и посмотреть как она выполняется. Вообще это очень полезная фишка для разработчика, в большом и сложном коде бывает сложно разобраться и дебаг очень хорошо помогает. Для более ясного понимания можете в ютубе найти ролике про дебаг. Просто напишите как дебажить в intellij idea

    • @user-in5tf1ol5d
      @user-in5tf1ol5d 2 года назад +2

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

    • @saluteismyname
      @saluteismyname Год назад

      Где ты раньше был)

  • @user-ji2il6sh2b
    @user-ji2il6sh2b Год назад +6

    Просто подробнейшее объяснение. И по epam учил и Маршала смотрел, но вот именно по языку java ты просто бог раскладки по полочкам. "От души душевно в душу". Большое спасибо за такой труд!

  • @artemlobanchikov2270
    @artemlobanchikov2270 3 месяца назад +2

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

  • @akihikoizamu5101
    @akihikoizamu5101 2 года назад +8

    Спасибо за бесплатные уроки!

  • @regdas7350
    @regdas7350 2 года назад +4

    Спасибо за обучение! =)

  • @jeyhunaze7628
    @jeyhunaze7628 Год назад

    Отличный курс. Спасибо!

  • @xolodnaya9586
    @xolodnaya9586 Год назад +4

    Сложно, но возможно! Спасибо за возможность изучать сложные темы легко! Нууу, почти легко)))

  • @denisbatrakov2582
    @denisbatrakov2582 2 года назад

    Это прекрасно!)

  • @foksden071182
    @foksden071182 2 года назад +7

    благодарим Гошан!!!!!!!!!!!!!!!

  • @Blitzfanger
    @Blitzfanger Год назад

    Все же четко и понятно обьясняет что сложного он классные ролики выпустил респект автору не ленился

  • @user-vu5gu6kw1n
    @user-vu5gu6kw1n Год назад +3

    В своё время играл в онлайн - игру Ultima online. Так вот, для прокачки чара использовались скрипты, которые мы писали сами. Даже не знаю, какой то был язык программирования, но теперь изучать джаву немного легче ☺️

  • @alexalexov1649
    @alexalexov1649 Год назад

    Очень хорошая подача. Понимаю тех кто не может въехать, те кто практически не понимает что такое программирование. Но при переучивании с одного языка на другой намного легче. Единственное нужно привыкнуть к такой строгости типов данных после php

  • @Alex-fuflik
    @Alex-fuflik 8 дней назад

    Действительно интересная тема

  • @bellair8495
    @bellair8495 Год назад +6

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

    • @user-ip2db9qg3y
      @user-ip2db9qg3y Год назад +1

      Тоже такое чувство, понятно как пользоваться, но не понятно для чего. Просмотрю сначало полностью все уроки а потом начну заново для восприятия, зачем и для чего....

  • @romanbush5164
    @romanbush5164 Год назад +2

    аналогично плюсам)

  • @How2P
    @How2P Год назад +3

    Очень сложный для понимания но интересный урок!

  • @chefartykbaev2796
    @chefartykbaev2796 2 года назад +1

    Спасибо спасибо спасибо

  • @TheWorld902
    @TheWorld902 11 месяцев назад +1

    спасибо большое за видео) я изучал последний год язык python, выучил его на отличном уровне.
    Но понял что для реализации моих идей больше подойдёт java , java script и kotlin
    Вы отлично объясняете.
    Желаю вам удачи!

    • @idk_who_i
      @idk_who_i 10 месяцев назад

      Такая же фигня

  • @virus8727
    @virus8727 Месяц назад

    после питона, все кажется таким запутаным:) но за видео просто респект тебе! только решил перепрофилироваться. но ни как питон из головы не вылезет)))

  • @dashaplay1265
    @dashaplay1265 9 месяцев назад

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

    • @faunus2470
      @faunus2470 7 месяцев назад

      я учу это впервые, мозг у меня поправился пока только от этого урока😂

  • @scxaadjaksjdxmnwsmfdkfjkd
    @scxaadjaksjdxmnwsmfdkfjkd 8 месяцев назад

    Красавчик, послу alisheva закрепить самое то

  • @kaverzeq5828
    @kaverzeq5828 2 месяца назад

    можно еще сказать что когда вы изменяете тип в меньший размер, как в случае с int к byte, вам нужно явно указать компилятору, что вы осознанно принимаете возможные изменения значения. return (byte) summ;

  • @user-rj6qf1vc4l
    @user-rj6qf1vc4l 8 месяцев назад

    А существуют ли функции высшего порядка в java?(Те которые принимают функцию в качестве аргумента или возвращают другую функцию)

  • @db160plus
    @db160plus 2 года назад +15

    Я один заметил на 13й минуте ошибку? Там при сложении двух переменных (8 + 4) функция в консоль вывела значение 11

    • @TheVolgaTV
      @TheVolgaTV 2 года назад +7

      Назначить то, назначили, но не использовали: num2 =8, а использовали в summa((short) 4, NUM), а num=7. Проверил, всё так.)))

    • @Egor_Phyl
      @Egor_Phyl Год назад +1

      тоже заметил

    • @user-jd1wd6rp6s
      @user-jd1wd6rp6s Год назад +1

      из-за этой штуки втыкаю 30 минут и пытаюсь понять что не так

    • @user-yv7wq3gi6j
      @user-yv7wq3gi6j 6 месяцев назад

      Как еще больше не понятней стало
      @@TheVolgaTV

    • @zetochka9952
      @zetochka9952 6 месяцев назад

      @@user-yv7wq3gi6jчто именно не понятно? просто задали num2 значение которого 8, но забыли поменять дальше в коде, и там осталось num1 значение которого 7

  • @user-yl1oh1xi8j
    @user-yl1oh1xi8j 2 года назад +9

    с 18 минуты перестал что либо понимать.....возвращаем res а она становится resul1 и result2........куда, что мы возвращаем.....почему имена переменных не совпадают??? как происходит ассоциация что result1 и result2 это возвращенный res

    • @fantomchik1183
      @fantomchik1183 Год назад

      простыми словами мы возвращаем переменную res, и заносим её в другую (уже созданную нами переменную , в функции main)

    • @user-ws4nr5or7b
      @user-ws4nr5or7b Год назад +3

      @@fantomchik1183 а зачем

  • @xusniddingafurov3301
    @xusniddingafurov3301 2 года назад +3

    Спасибо из Узбекистана

  • @user-pl1ek5iq4n
    @user-pl1ek5iq4n Год назад +1

    Всем добрый вечер! Забавная ситуация, Вы ввели случайный массив в nums2. Я сделал тоже самое, а получилась одна и та же сумма - 36))))) пхаахахха

  • @arparket
    @arparket 20 дней назад

    И тут моя голова взорвалась! Видимо автор что-то сокращает в объяснениях... Нормально было вроде все в начале, и как обычно в конце началось недопонимание! Где мой третий бокал? ) Слышь, братуха, ты меня уважаешь? Будь любезен разъяснить все по подробнее! Нормально вроде общались )))

  • @mixapilm
    @mixapilm Год назад +1

    Совет. Приводи пожалуйста примеры из жизни. То есть где , то что ты объяснил, пригодится или где это применяется. Совершенно не понятно, что мы учим. Ну возвращает функция, ну не возвращает, не понятно где это применить, да ещё и цифры одинаковые в примере 12 и 12, это для чего было сделано?

    • @user-ri4sm5bd8y
      @user-ri4sm5bd8y 10 месяцев назад

      Он выпустил это видео объяснить,что и как работает в джаве,где это применят ты должен узнать сам,а он просто дает тебе основу,по которой дальше ты сам будешь учиться

  • @botiktry7965
    @botiktry7965 4 месяца назад +2

    почему когда программа сложила 8 и 4 вышел результат 11

    • @timurm24
      @timurm24 Месяц назад

      Потому что она сложила 7 и 4 😅

  • @user-zd8wm7vs8b
    @user-zd8wm7vs8b 2 года назад

    Как по мне, для перевода числового значения в значение String вместо info (String.valueOf()) проще прописать info (" " + result1), тот же самый результат, и еще короче код. Или такое не везде сработает?

    • @itproger
      @itproger  2 года назад +1

      Да, но гораздо приятнее прочитать в коде конвертацию данных, а не сложение числа и строки

  • @jenya31071995
    @jenya31071995 Месяц назад

    Точь в точь такой код ввожу, он выводит ошибку "exception in thread main java.lang:index 3 out of bounds for length 3.
    В чём причина?

  • @user-rj6qf1vc4l
    @user-rj6qf1vc4l 8 месяцев назад

    А откуда именно вызывается функция main? Зачем указывать в качестве параметров массив строк? Почему если не указать данные параметры функция не будет вызвана и возникнет ошибка? С первого урока всё это вызывает негодование) Мне как фронтендеру очень интересно. Изучаю java для общего развития)

    • @rKvinty
      @rKvinty 6 месяцев назад

      кто вызывает функцию main... наверное windows 😅
      А в параметрах массив строк, это уже требование к всем программам. Все программы при запуске должны иметь место куда можно написать параметры (даже если они не нужны)

    • @rKvinty
      @rKvinty 6 месяцев назад

      изучи как пользоваться ffmpeg. Тогда точно поймëшь что за String[]

  • @BlackSkorpion123
    @BlackSkorpion123 2 года назад +8

    Какая-то сложная тема для меня оказалась, хотя все предыдущие налегке схватывал, запутался в функциях этих) Что одну функцию в другую функцию вставляешь, не хватило более конкретных пояснений

    • @MihMain
      @MihMain 2 года назад

      а как по мне легко

    • @orexendye
      @orexendye 3 месяца назад

      Полностью согласен!!!! В ChatGPT залазил пару раз, ролик по сто раз пересматривал, но прошлые темы вообще на легке были. Успехов, надеюсь, ты не сдался.

    • @orexendye
      @orexendye 3 месяца назад

      и то еле еле косучками понял что то

  • @user-sy4gz2sp6f
    @user-sy4gz2sp6f Год назад

    То чувство когда смотришь это в 5 часов утра не ложившись спать

    • @user-mq5fn1zc6d
      @user-mq5fn1zc6d Год назад +1

      То чувство, когда смотришь это не в 5 часов утра, но понимаешь чувство человека, который смотрит это в 5 утра.
      return;

  • @darkorb9910
    @darkorb9910 2 года назад +3

    NICE

  • @user-lx8gg8bu5q
    @user-lx8gg8bu5q Год назад

    подскажите пожалуйста) с помощью какой проги это всё запустилось? ни атом ведь

    • @Bakation
      @Bakation Год назад

      Это IntelliJ IDEA, автор рассказывал про эту среду разработки в начальных уроках.

  • @user-oq7bw8yz4r
    @user-oq7bw8yz4r 4 месяца назад

    не совсем пойму что подразумевается под "возвращением функции"

  • @wardenll_
    @wardenll_ Год назад +3

    А я сижу, думаю, как 8+4 будет 11

    • @user-nv6gc4cd5v
      @user-nv6gc4cd5v Год назад +1

      short num2=8;
      summa ((short) 4, num);
      а num как был 7 так и остался. 4+7=11. если бы туда num2 вписать то было бы 12

  • @xaptmah5354
    @xaptmah5354 8 месяцев назад

    Я приверженец теории что все методы возвращают и метод void тоже.

    • @rKvinty
      @rKvinty 6 месяцев назад

      только пустоту.
      В python это так и есть.
      А вот в C# и (вероятно) в Java нет.

  • @user-uh1mp5sp4b
    @user-uh1mp5sp4b Год назад +1

    сложно быстро и не понятно( в прошлых уроках попроще было а щас меньше объяснений(

  • @flody4915
    @flody4915 2 года назад

    16:40 а что если к result установить public то есть вместо int result, написать public static void result;

  • @GorN_Rebel
    @GorN_Rebel Год назад +1

    В этом уроке немного непонятно объяснил ты как именно возвращаются данные. Я в конце-концов понял так, что вызов метода с передачей параметров методу - одновременно принимает данные от вызываемого метода, если вызов приравнивается к какой либо переменной.
    Или на бытовом, чтобы было понятнее: Петя вызывает Васю и даёт ему разные продукты(числа). Вася варит суп (перемножает эти числа) и результат передаёт Пете. Так как Петя передавал продукты (вызывал) Васе одновременно с тарелкой (объявлением переменной "Результат"), то суп (результат) переданный Васей к Пете заносится именно в эту тарелку (переменную).
    Поправьте меня, если я не прав

    • @Upiter-hv4il
      @Upiter-hv4il Год назад

      Данные возвращаются на место вызова

  • @amg6.365
    @amg6.365 10 месяцев назад

    Public static ето индификатор доступа?

    • @rKvinty
      @rKvinty 6 месяцев назад

      public - модификатор доступа.
      static это вообще другое

  • @bekeriron1982
    @bekeriron1982 3 месяца назад

    функции в java называют МЕТОД , для информации сказал

  • @Shkolnik-qv5cz
    @Shkolnik-qv5cz 3 месяца назад

    попробовал написать свой код, работает но ничего не вЬІводит, попробовал переписать код точно как на видео, все равно ничего не вЬІводит

  • @user-pm4fr2fk2d
    @user-pm4fr2fk2d Год назад +1

    я не понял только что возвращать т надо и для чего,,,, ибо по посмотренному ничего не вернулась и ничего не изменилось ,,, если шарит кто напишите

    • @recordinginprogress7355
      @recordinginprogress7355 Год назад

      Грубо говоря мы значение функции помещаем в какую-то переменную. Например у тебя есть переменная int a, значение которой тебе нужно посчитать по какой-то формуле. Тогда тебе нужно создать функцию типа int (например public static int f()), которая будет высчитывать это самое число, и самое главное - возвращать его: то есть мы можем написать int a = f(), и теперь в нашей переменной а хранится нужное нам число.

  • @user-it5tg9tm5p
    @user-it5tg9tm5p Год назад

    Да .это был сложный урок. 5 раз пересмотрел. Наверно так и надо

  • @user-rn9kn7ft2f
    @user-rn9kn7ft2f Год назад

    Кто мне скажет почему я пишу тот же код и у меня получается не 19 а 119, откуда у меня еще 100 прилетает, это ужас какой то

  • @Golosovtalks
    @Golosovtalks Год назад +4

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

    • @Upiter-hv4il
      @Upiter-hv4il Год назад

      Создаёшь функцию, подставляешь в нее данные возвращаешь, причем тут вообще цикл?

    • @Golosovtalks
      @Golosovtalks Год назад

      @@Upiter-hv4il я уж и не помню. Что то в видео видать промелькнуло такое)

    • @user-ji2il6sh2b
      @user-ji2il6sh2b Год назад

      И это будет самое правильное решение!)

  • @spacekraken67
    @spacekraken67 Год назад +1

    Функции чучуть схожи с Джаваскриптом

  • @user-yb5bx2ki4q
    @user-yb5bx2ki4q 2 месяца назад

    Забавно думать что по вот этим урокам можно научиться программировать на Java

  • @Ruslan-ps9rz
    @Ruslan-ps9rz 2 года назад

    а вызывать другие методы нужно только, обязательно, в мейн?

    • @user-yl1oh1xi8j
      @user-yl1oh1xi8j 2 года назад +2

      мейн это главный метод. он вызывается всегда. а так вызвать метод можно вызвать и из другого.

  • @zener_blitz
    @zener_blitz Год назад +2

    Ну всё, прощай System.out.println()
    Отныне ты теперь println()

  • @mezdumirec
    @mezdumirec Год назад

    18:45

  • @mrrubix3942
    @mrrubix3942 Год назад

    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))
    Все работает

  • @user-in7nt8wr8q
    @user-in7nt8wr8q 2 года назад +2

    после 20 минуты я полностью запутался

  • @saluteismyname
    @saluteismyname Год назад

    Объясните мне кто-нибудь, пожалуйста, зачем мы вообще возаращаем что-то?

    • @user-mc5rv8ec7m
      @user-mc5rv8ec7m Год назад +1

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

  • @user-cm1om1oo3p
    @user-cm1om1oo3p Год назад

    Автор старается, но ничего не понятно. Надо будет потом ещё раз посмотреть.

    • @user-mc5rv8ec7m
      @user-mc5rv8ec7m Год назад +1

      Лайфхак, смотришь видео, потом открываешь чат gpt пишешь там например, обьясни мне что такое методы(функции) в джава и он тебе обьясняет, с примерами и т.д. Если не понятно то напиши я ниче не понял обьясни по другому

    • @user-cm1om1oo3p
      @user-cm1om1oo3p Год назад

      @@user-mc5rv8ec7m спасибо. Надо попробовать.

    • @alexalexov1649
      @alexalexov1649 Год назад +2

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

  • @XXX24225
    @XXX24225 Год назад

    Сейчас все уроки пересмотрю, потом придётся опять смотреть... Ужас

  • @pavvelsss
    @pavvelsss 25 дней назад +1

    Определение функции не верное. Информация не правильная.

  • @beautyisinternal6953
    @beautyisinternal6953 Год назад +1

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

    • @Upiter-hv4il
      @Upiter-hv4il Год назад +1

      А чего не понятно то?

    • @beautyisinternal6953
      @beautyisinternal6953 Год назад

      @@Upiter-hv4il я вроде написала что не понятно где и как применять) а вообще уроки супер, обожаю этот канал, и очень сильно благодарна за его качественный контент))

    • @Upiter-hv4il
      @Upiter-hv4il Год назад

      @@beautyisinternal6953 чтоб изменять переменные можно было, а функцию для того чтобы один раз написать и постоянно на неё ссылаться, а не копипастить десятки раз

  • @user-tj2eb8yk3l
    @user-tj2eb8yk3l 2 года назад +2

    За уроки спасибо, но клипать везде переменные!!!! Это уже не тема про функции, а: "ой! тут мы ввалим переменную, ой и тут, а тут пусть будет еще одна и так мы возвращаем эту переменную, ну а тут преобразуем тип данных, а тут напишем переменную и приравняем ее к нулю.... ну а че нам кабанам.

    • @aaaaaarw
      @aaaaaarw 2 года назад +3

      А в чем проблема?

  • @Tioplaya
    @Tioplaya Год назад

    Я один заметил, что с каждым последующим видео число лайков и комментов уменьшается чуть ли не в два раза?

  • @meay_1
    @meay_1 Год назад

    слишком замудрил , для новичков это будет не понятно

  • @infantshield9845
    @infantshield9845 8 месяцев назад

    3 минуты про функцию, зачем, если ее нет? Такое предложение - есть классы и есть методы, и все, далее не разбивать мозги на части и не плести извилины. Нам / вам же легче будет. Но при всем при том, спасибо.