😭Я задачку решил, но я ее решил больше интуитивно чем понимая (начитавшись всего)..на самом деле раза с 20-го я ее сделал, но так и не понял ряд моментов....объясните мне тупому гуманитарию)))
Кусок решения вот что бы было понятно что я делал...
public class Solution {
public static int min(int a, int b, int c, int d) {
int minAB=min(a,b);
int minCD=min(c,d);
if (minAB<=minCD)
{return minAB;}
else
{return minCD;}
Собственно вопросы:
1.) Я могу вызвать какой то ранее описанный метод(доступный/публичный) из любого места программы просто написав его название? То есть вот эта строчка int minAB=min(a,b); вызывает метод?Но название метода другое min(int a, int b), как java понимает что я от нее хочу?
2. Как работает строчка int minCD=min(c,d);? то есть java сама понимает что ей надо для c d использовать тот же код что и для а b? А когда кончится это понимание? Или я могу взять еще любые 2 буквы (х н) и это будет работать и для них? Когда метод прекратит работу?
3. Когда нужно ставить ; когда нет? Тоесть если это команда которую надо выполнить - то ставим если это некое условие типа if else не ставим? Не понимаю почему надо писать круглые скобки в return? Это какой то отдельный блок команд?😭 Я не проходимо туп?😭
Владимирё
2 уровень
Обясните некоторые моменты плиззз..не понимаю...
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
31 июля 2020, 13:33полезный
1. да, ты можешь вызвать метод, передать в него аргументы, если он соответствуют типу параметров в методе.
как java понимает что ты хочешь от нее?
это называется Перегрузка метода.
можно написать несколько методов и в зависимости от твоего набора аргументов в вызове метода , программа сама видит их, и если есть метод подходящий, будет использовать именно его.
2. ты объявил переменную int minCD и в нее пытаешься присвоить результат выполнения метода min(c,d) с переменными c,d .
таким образом вначале выполнится метод, потом его результат запишется в переменную.
внутри метода переменные можно указать какие хочешь, это для того, чтобы ты с ними работал внутри метода (локальные переменные). в вызове же метода, ты указываешь непосредственно те переменные, с которыми тебе надо работать в общем блоке команд.
метод работает ровно с того момента когда ты его вызвал, и когда он отработает команды внутри себя.
3. после каждой команды надо ставить ;, фигурными скобками обрамляется блок команд. тогда после фигурной скобки ; не надо! единственное исключение, я встречал это анонимные классы, но они дальше будут гораздо
всякие if() , while(), for и тд, они являются управляющими конструкциями (насколько я помню) после них всегда начинается блок команда с фигурной скобки, и в конце заканчивается фигурной скобкой.
+1
Владимирё
31 июля 2020, 15:05
Спасибо!!!
0
Денис Латыпов
31 июля 2020, 12:15
Вкратце имхо:
2.Метод прекратит работу, когда выполнится какое либо условие, либо выражение, заканчивается метод обычно фигурной скобкой }
public int имя_метода(параметр){
тело метода;
}
1.Вызвать можешт где хочет, метод пишется со скобками()
Потомучто ты метод присвоил переменной.
переменная присвоение = метод();
; ставится после выражения, либо присвоение переменной, либо обьявления переменной.
3.
if(условие){
тело условия;
}
Насчет тупой - я почти каждый день, открывая условие думаю какой же я днище))))
+2
Владимирё
31 июля 2020, 12:30
Спасибо за ответ)) И за поддержку спасибо тоже))
+1