Всем привет! Недавно начал учить Java и немного застрял на теме "Создание блоков кода" с операторами if и for. Попробовал найти информацию на YouTube, но там приводились только сложные примеры. Кто-нибудь может пожалуйста объяснить простыми словами где и как они применяются (желательно с примером из кода)? Буду очень благодарен!
Alex
0 уровень
Блоки кода
Комментарии (16)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
22 октября 2020, 19:18
Везде они применяются.
Джава программы и есть по сути набор блоков кода.
Блок кода это структурная единица компьютерной программы, в частности джава.
По синтаксису джава, блок кода оформляется фигурными скобками.
это блок кода принадлежит классу Cat
блок кода также может быть у методов, операторов IF, FOR и тд:
метод:
оператор if
оператор for
то есть, открываются фигурные скобки - блок кода - закрываются фигурные скобки
блок кода это содержимое фигурных скобок - набор строк с кодом внутри них.
Ну еще важная штука, область видимости, переменная, которая объявлена в рамках одного блока кода, не видна за его пределами, за исключением полей класса с модификаторами public, protected, default package +2
Alex
22 октября 2020, 19:35
Спасибо за ответ, но мне хочется более углубленно понять их применение. Вы можете привести пример простой программы со смыслом, в которой есть блок кода с операторами if или for?
0
Justinian Judge в Mega City One Master
22 октября 2020, 20:03
кусок программы со смыслом, ну вот класс Кот.
У кота есть имя. Он мяукает определенное количество раз.
В этом примере 7 блоков кода. Их можно посчитать по количеству пар фигурных скобок.
+1
Alex
22 октября 2020, 20:20
Пытаюсь скомпилировать Ваш код, но javac выдает ошибку...:
0
Justinian Judge в Mega City One Master
22 октября 2020, 20:37
установи intellij Idea ulimate.
С кодом нужно работать в соответствующих программах, какой javac.
Мой код в таком виде и не должен был скомпилироваться, класс должен быть публичным, эксепшен тоже где-то должен быть объявлен.
А как ты джава изучаешь? По каким материалам и где?
0
Alex
22 октября 2020, 20:39
Изучаю сам по книге Герберта Шилдта "Руководство для начинающих". Пока не использую среды, так как хочу научиться писать проги сначала так. А этот код сложно будет под javac подогнать?
0
Стас Пасинков Software Developer в Zipy Master
22 октября 2020, 21:00
извините, конечно, за офтоп...
а вы когда подкуриваете (если вы вдруг курите) - тоже палками трете друг об дружку пока огонь не добудете? чтобы научиться и потом зажигалкой "лучше" огонь зажигать? :)
+3
Стас Пасинков Software Developer в Zipy Master
22 октября 2020, 21:05
вот пример программы с циклом и с ифом, с блоками кода в них. которые вы сможете запустить у себя, если замените метод main() из ваших прошлых попыток тем, что напишу я
вопрос для самоконтроля: сколько в данном примере блоков кода? +2
Justinian Judge в Mega City One Master
22 октября 2020, 21:21
от разведения огня без спичек и то больше толку имхо ))
Эти книги 25 летней давности с их консолями...тогда же даже банально среды разработки нормальных не было, вот и изголялись как могли, да и что ожидать от дядек, которые по 10 языков программирования знают, включая фортраны/алголы, для них консолька это все.
Понять их можно, но новичков путает конкретно.
+1
Стас Пасинков Software Developer в Zipy Master
22 октября 2020, 22:12
да, мне тоже кажется, что более эффективное обучение, более простое и быстрое будет - это если начинать с простого, и со временем все больше и больше углубляться.
то, как компилируется джава-программа вы знать должны, но научиться уметь это делать можно и позже, когда у вас будет чуть меньше вопросов что это такое и как, и будете более свободно и спокойно себя в этом всем чувствовать.
просто есть категория людей, которые считают, что код писать надо в блокноте (или даже в vim), компилировать все, собирать и запускать вручную. будто бы только тогда они будут считать (чувствовать) себя (и, соответственно, других) труъ-программистами.
в мире ежедневно разрабатываются все новые и новые инструменты, которые должны облегчить разработку, тратятся большие человеческие ресурсы на это... а некоторые люди продолжают компилировать вручную :)
их выбор, конечно :)
0
Alex
24 октября 2020, 05:20
Книга 2-ух летней давности. Что ж, посмотрим, к чему приведет мой подход к изучению). Не знаю, насколько я прав, но логика у меня следующая - научившись писать код в консоли, гораздо проще потом переучиться на IDE, чем наоборот. (И да, я знаю, что консолью сейчас мало где пользуются, но мне хочется вникнуть в Java, где он изначально задумывался - просто я так хочу и все)
0
Alex
24 октября 2020, 05:48
Стас, я вас прекрасно понимаю. Вы сторонник идти по жизни по пути наименьшего сопротивления. Мне понятно, что большинству людей, желающих освоить программирование, не хочется сильно заморачиваться и "войти в IT" как можно быстрее, не вникая в консоль, а начав сразу с IDE.
Я же, напротив, другой человек. Мне нравится подходить ко всему основательно, а не поверхностно. Если кто то хочет "облегчить" себе разработку, то пусть облегчает ее дальше сколько захочет, мне пока "облегчать" нечего).
И кста, со статьей, написанной на вашем же сайте предлагаю ознакомиться...: https://javarush.com/groups/posts/2318-kompiljacija-v-java
0
Justinian Judge в Mega City One Master
24 октября 2020, 11:04
То есть я делаю утверждение, что фильму Унесенные ветром к примеру 80 лет, ты говоришь "нет, Унесенные ветром 2020 года, поскольку именно цифра 2020 стоит на моем блюрее".
Ну ок, чем не позиция.
Но для информации, русские переводы в среднем на два года опаздывают после ПУБЛИКАЦИИ книги на западе, при этом сама публикация книги в среднем через год после ОКОНЧАНИЯ написания книги. И при этом, если ты откроешь книгу то увидишь волшебное слово "переиздание", то есть берется оригинальный текст, надо еще подумать 1996 года или 2002, добавляется новая глава в конце или пару абзацев куда-то, и у тебя уже книга 2018 года.
Вот так это и работает.
ох, сколько раз я такое слышал на этом этапе, но эта логика ошибочная.
Например боксеры часто боксируют чемпионские бои с повреждениями, а то и переломами.
По твоей логике, нужно каждому ребенку на секции, на первом занятии сломать руку, и чтобы он привыкал боксировать со сломанной рукой. Ведь гораздо проще потом боксировать с здоровыми руками...
Консоль от программиста никуда не уйдет.
Джава программист будет писать код исключительно в ИДЕ.
Но пользоваться будет и консолью, и никакой проблемы с ее использованием не возникает.
Ты просто перепутал причину и следствие. То что многие программисты на ты с консолькой это не значит, что с этого нужно начинать.
Ты базируешь свою логику на предположениях о опыте, которого у тебя нету.
вот честно, мое уважение, без всяких ироний, я люблю открытые и честные позиции.
Это аргумент и против него не поспоришь.
Тем более, что ничего зазорного особо нету, ну потратишь время не так эффективно, но если время не поджимает, почему и нет собственно?
0
Ksenia MarioMaster
24 октября 2020, 14:07
ех, люблю советы от глубоко знающих людей )
будете разбирать как ручками писать байт код, позовете, там интересней.
+3
Стас Пасинков Software Developer в Zipy Master
24 октября 2020, 20:04
с чего вы взяли про наименьшее сопротивление? вы так хорошо меня знаете, чтобы разглагольствовать что я за человек?
если бы я был таким человеком - я бы дальше 0го уровня на джавараше и не продвинулся бы. при первой же неудавшейся задаче сказал бы, что это не мое и забил бы на программирование.
просто когда я сам начинал изучать это все - я тоже встречал такое мнение, как и у вас. что ИДЕ - не тру, а вот в компилировать в консоли - это для настоящих мужиков. и я прислушался к нему, и это меня просто затормозило сильно, пока я со всем этим делом разобрался. тоже компилировал вручную, тоже ловил "Could not find or load main class".
более того, я эту же ошибку повторил и когда освоился с идеей, и мне пора было уже переходить на ентерпрайз версию идеи, но я продолжал делать вещи, которые делал - в комьюнити версии. тоже билдил все вручную, деплоил, запускал...
я же написал, что да, это все надо уметь делать. но не сейчас, вы позже еще столкнетесь с этим и не раз.
я просто поделился своим опытом, чтобы вы учились не на своих ошибках, а на моих.
и почему вы считаете, что мне стоит ознакомиться с той статьей?
ЗЫ: сайт - не мой. я здесь такой же пользователь, как и другие
+3
Владислав Backend Developer
25 октября 2020, 03:55
по пути наименьшего сопротивления
Когда у тебя будет хотя бы с пяток импортов из разных пакетов в одном классе, то будет просто здравым смыслом делать это в среде разработки.
Ты лучше дурью не занимайся, а возьми подписку и учись нормально со всеми. И книжки свои на полку поставь)
0