Java for command syntax

Java for command syntax

Почему-то не проходит «Программа должна выводить таблицу умножения 10х10.» это условие. public class Solution < public static void main(String[] args) < for(int i = 1; i <= 10; i++)< System.out.println(); for(int j = 1;j <= 10; j++)< System.out.print(i * j + " "); >> > > код выводит правильно. Выше прочитал, что добавляется еще пробел в конце каждой строчки, но не особо понял на этот счет.

Я могу ошибаться, но у while и for есть отличие, которое заключается в видимости переменной. У while переменная находится вне тела цикла (метода), а значит может быть переиспользована в других методах класса, в цикле for переменная заключена в сам метод и становится невидимой в других методах цикла.

Долго я допирал в этот раз как именно квадрат построить! Если будут вопросы, то обязательно задавайте, буду объяснять — ибо самый лучший способ полностью понять тему — надо ее объяснять!

Зачем сюда выкладывают готовые решения? Я теперь всегда боюсь читать чат, пока все задачи не решу. Так еще и + ставят под готовыми решениями ну или почти готовыми всегда по разному.

 for(int i = 1;i <=10;i++)< for(int a = 1;a<=10;a++)< System.out.print(a * i + " "); >System.out.println(); > 

Минут 20 думал, были сложные, кривые решения, остановился на этом. Да, оно, может, тоже кривое, но работает и выглядит аккуратно, на мой взгляд) Прикольная задача. P.S. После коммента посмотрел правильное решение, стало так тепло на душе😄

 int q; int w = 1; while (w <=10) < for (q = 1; q <= 10; q++) < System.out.print(q * w + " "); >w++; System.out.println(); > 
 for (boolean isExit = false; !isExit; )
 boolean isExit = false; while (!isExit)

JavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.

Читайте также:  Define file path in java

Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.

Источник

Цикл For в Java

Java-университет

Как используют цикл for в Java - 1

Говорят, что лучший программист — ленивый программист. Вместо того, чтобы совершать однотипные действия по нескольку раз, он придумает алгоритм, который сделает эту работу за него. А еще он сделает его хорошо, чтобы не нужно было переделывать. Примерно так, чтобы много раз не писать один и тот же код, придумали циклы. Представим, что нам нужно вывести в консоль числа от 0 до 99. Код без цикла:

 System.out.println(0); System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); // И так далее 

Что такое циклы for?

  1. Приготовить стакан.
  2. Открыть крышку.
  3. Получить 1 каплю.
  4. Получить 2 каплю. …
  5. Получить 30 каплю.
  6. Закрыть лекарство.
  7. Принять полученную порцию.
  1. Приготовить стакан.
  2. Открыть крышку капель.
  3. Получить 30 капель.
  4. Закрыть лекарство.
  5. Принять полученную порцию.

Принцип работы цикла for

 for(; ; ) < // Тело цикла >Пример перебора цифр от 0 до 5 и вывод каждой в консоль: for(int i = 0; i

Как используют цикл for в Java - 2

Если перевести данную запись на человеческий язык, получится следующее: “Создай переменную i с начальным значением 0, пока она не достигнет 5, прибавляй к ней по 1 и на каждом шаге записывай значение i в консоль.” В основе работы цикла for в Java лежат три стадии, их можно изобразить следующей схемой: Условие выхода из цикла — это булево выражение. Если оно ложно, цикл будет завершен. В примере выше переменная i увеличивается на 1. Если ее значение менее 5, цикл продолжается. Но как только i станет больше или равно 5, цикл прекратится. Оператор счетчика — выражение, которое выполняет преобразование переменной счетчика. В примере выше переменная i увеличивалась на 1. То есть цикл будет выполнен ровно 5 раз. Если оператор счетчика будет прибавлять по 2 к переменной i , результат будет иным:

Читайте также:  Пример веб-страницы

Также можно умножать переменную, делить, возводить в степень, в общем, делать все, что угодно. Главное, чтобы в результате преобразования получилось число. Тело цикла — любой код, который может быть выполнен. В примере выше в теле цикла был вывод значения переменной i в консоль, однако содержимое данного тела ограничено задачей и фантазией. Обобщая всю схему, принцип данного цикла — for — следующий: код, который находится в теле цикла, будет выполнен столько раз, сколько преобразований выполнит оператор счетчика до того, как будет достигнуто условие выхода из цикла. Если задать условие выхода из цикла как true :

 for(int i = 0; true; i++) < if(i % 1000000 == 0) System.out.println(i); >System.out.println("Loop ended"); 

То код после цикла будет помечен ошибкой unreachable statement , так как никогда не будет исполнен. Задача на смекалку: в результате запуска кода ниже будет ли выведено в консоль “ Loop ended ” или цикл будет выполняться бесконечно?

 for(int i = 0; i > -1; i++) < if(i % 1000000 == 0) System.out.println(i); >System.out.println("Loop ended"); 

Ответ: будет. Переменная i рано или поздно достигнет максимального значения, а дальнейшее увеличение превратит ее в максимальное отрицательное, в результате чего условие выхода будет выполнено (i < = -1).

Цикл forEach

При работе с циклами иногда приходится перебирать массивы или коллекции. Обычно массив можно перебрать с помощью цикла for:

 public void printAllElements(String[] stringArray) < for(int i = 0; i < stringArray.length; i++) < System.out.println(stringArray[i]); >> 

И это правильно. Однако, для перебора всех элементов массива по очереди придумали конструкцию forEach. Ее сигнатура следующая:

 public void printAllElements(String[] stringArray) < for(String s : stringArray) < System.out.println(s); >> 

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

Читайте также:  Php fopen echo file

Как используются циклы for

А теперь рассмотрим несколько примеров использование цикла for в Java для решения разнообразных задач.

Обратный цикл (от большего к меньшему)

Несколько переменных и увеличение счетчика в теле цикла

В цикле for можно использовать несколько переменных, например их можно преобразовывать в операторе счетчика:

 int a = 0; for(int i = 5; i > 0; i--, a++)
 Шаг: 0 Значение: 5 Шаг: 1 Значение: 4 Шаг: 2 Значение: 3 Шаг: 3 Значение: 2 Шаг: 4 Значение: 1 
 for(int i = 5, j = 11; i != j; i++, j--)
 i: 5 j: 11 i: 6 j: 10 i: 7 j: 9 

Вряд ли это действие имеет какую-либо ценность, но знать о такой возможности полезно. В цикле for также можно создавать внутренние циклы. В этом случае количество шагов цикла будет умножаться:

 for(int i = 0; i < 5; i++) < System.out.print(i + " | "); for(int j = 0; j < 5; j++) < System.out.print(j + " "); >System.out.print('\n'); > 
 0 | 0 1 2 3 4 1 | 0 1 2 3 4 2 | 0 1 2 3 4 3 | 0 1 2 3 4 4 | 0 1 2 3 4 

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

 int[][] array = < , , , >; for(int i = 0; i < array.length; i++) < for(int j = 0; j < array[i].length; j++) < System.out.print(array[i][j] + " "); >System.out.print('\n'); > 
 0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 

Досрочное завершение цикла

Если при обработке цикла нужно его прервать, используйте оператор break , который останавливает работу текущего тела цикла. Все последующие итерации также пропускаются:

 public void getFirstPosition(String[] stringArray, String element) < for (int i = 0; i < stringArray.length; i++) < if(stringArray[i].equals(element)) < System.out.println(i); break; >> > 
 String[] array = ; getFirstPosition(array, "two"); 

Бесконечный цикл

Еще один способ создать бесконечный цикл for — оставить пустой область объявления счетчика, условие выхода и оператор счетчика:

Как используют цикл for в Java - 3

Но учти, что в большинстве случаев бесконечный цикл — свидетельство логической ошибки. У такого цикла обязательно должно быть условие выхода.

Источник

Оцените статью