Несколько слов по поводу “goto”.
Несколько слов по поводу “goto”.
В ЯП Java оператора перехода «goto» нет. И возникает вопрос. Ну хорошо, в принципе в других ЯП, где оператор перехода goto есть, нам тоже всегда говорят, что это плохой оператор, плохой стиль и всегда добавляют, но правда есть одна конструкция, где goto выглядит разумно. Это когда у вас есть цикл, который вкложен в другой цикл на 2 или 3 раза. И вам нужно из внутреннего цикла выйти куда-то во вне. Представте, что у вас три раза вложен цикл, и вы должны сразу выйти из трех циклов. Так вот в ЯП Java goto нет. Вместо этого они что сделали? Они использовали break. break является стандартным оператором. break завершает охватывающий цикл. Это нормально – это и в Java, и в C, и где только угодно. Он в switch или в цикле может быть использован.
В Java предложели следующее решение. Они сказали: «Мы сделаем break с меткой». А метка, как у всех. Любой идентификатор, ставится двоеточие и метка. Вы можете написать метку (хотите перед первым циклом, хотите перед вторым и т. д. ) и когда срабатывает «break имя_метки», то соответственно завершается его внутренний цикл. Поэтому вы завершить в Java любой вложенный цикл одной командой break с указанием метки, того цикла, который вам нужно завершить.
goto в ЯП Java нет. - Вместо этого используют break с меткой. There is no “goto” statements in Java, instead we have labeling.
Может быть, сходу понять будет сложно, но проблема goto заключалась в том, что мы просто говорили «Иди туда». И вот этими «Иди туда» можно очень серьезно программу запутать. Можно отправить туда, куда ему нельзя переходить на самом деле. А здесь в break, он не говорит «Иди туда», а говорит «Заверши код помеченной меткой». Т. е. куда переходить и так понятно. Мы не говорим «Иди сюда», а говорим «Заверши блок отмеченной меткой a». И после этого кода, команда начинает выполняться, т. е. мы завершаем отмеченный кусок кода. Это решение более разумно и безопасно.
Вопрос: Что у нас еще есть в плане управления программой, кроме break, который завершает? Ответ: У нас есть еще return. Мы его уже видели и использовали. Он завершает метод.
И есть еще один такой странный оператор, который очень редко используется, но он есть. Поэтому когда вы его увидите, то не должны пугаться. Он называется continue. Он используется в циклах, но он завершает не цикл, как break, а совершает текущую итерацию.
т. е. здесь я не буду складывать единицы.
Если брать языковые конструкции, то мы прошли весь язык, кроме объектно-ориентированной части. Создание и использование массивов Java – (3 академ. часов) Наша задача сейчас разобраться с массивами. Очень важно понимать плавность нашего перехода. Дело в том, что мы сейчас будем смотреть массивы, а потом очень часто используемый тип данных – строки. Это уже ссылочные типы данных. Т. е. мы сейчас не просто смотрим массивы, но и начинаем учиться работать с сслочными типами. А уже дальше, когда мы будем писать свои классы – это будут свои ссылочные типы – эта информация нам пригодится.
Ну а массивы я не буду рассказывать зачем они нужны. Они используются везде, потому что для расчетов это очень удобно, а главное с массивами, что приятно? Это часть языка. Есть готовый специальный синтаксис, который позволяет вам создать массив. Важно понимать некоторые особенности массивов, которые приведены ниже.
Массивы, к сожалению, чаще всего реализуются как статические. Это означает, что число элементов массива определено и, в момент выделения памяти, не меняется. И это нормально. А о динамических массивах давайте скажем так. Готовых динамических массивов нет. Т. е. вы можете сами своими руками воплотить их в жизнь, своим кодом. Вы создали массив на 100 элементов и вдруг оказалось, что этого мало. И вот вы видите, мне бы еще 50 добавить. НЕЛЬЗЯ! Массив – это фиксированный размер памяти. Если вы еще хотите, то создай новый массив и туда перекопируй. Это нормально? Нет, конечно. А если взять Vector или ArrayList? Простите, но это просто коллекции, которые могут быть вам полезны. Любая коллекция, в отличие от массива является динамической. Что это означает? Это значит, что число элементов в ней любое. Можно удалять, добавлять, удалять, добавлять. Она может вам и работу динамического массива воспроизвести, но вы не получите той проиводительности, которую дает сам массив. Вот и все. Поэтому будем считать так. Сами массивы, как они реализованы в языке, - они статические, а все остальное – это наш код или коллекции.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|