Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 4

Чем отличается "i++" от "i + 1"

18.03.2013, 11:45. Показов 4722. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему если в коде поменять "k < i+1;" на "k < i++;" программа уходит в бесконечный цикл ?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 public class LoopForFive
{
    public static void main(String[] arg) {
        int count = 10;
         // Внешний цикл
        for(int i=0; i < count; i++) {
            // Внутренний цикл для печати одной строки
            // Обратите внимание на выражение k < i+1
            // В нем вся хитрость треугольника
            for(int k=0; k < i+1; k++) {
                System.out.print("*");
            }
            // Переход на следующую строку
            System.out.println();
        }
     }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2013, 11:45
Ответы с готовыми решениями:

Чем отличается equals от ==
Что они сравнивают: for(a.equals(f) и for(a == f) Что сравнивается в первом случае и что во втором (ссылки на объекты...

Head First Java , чем отличается первое издание от второго?
мб глупый вопрос , но быстро его загуглить не получилось. второе изданием как продолжение первой книги или просто по другому написанное...

Чем собственно отличается J2SE от J2ME?
Приветствую всех! После активного изучения java у меня появилось три вопроса. Представлю их в виде небольшого списочка и надеюсь вы...

9
 Аватар для dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
18.03.2013, 11:53
Выражение i++ изменяет значение самой переменной - увеличивает ее на единицу, таким образом в цикле хоть переменная k и будет увеличиваться, но будет все равно меньше i
0
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 4
18.03.2013, 11:56  [ТС]
Но разве i + 1 не увеличивает значение переменной ?
0
 Аватар для dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
18.03.2013, 11:59
если только сделать так: i=i+1
1
8 / 8 / 0
Регистрация: 28.01.2013
Сообщений: 58
18.03.2013, 12:46
А ++i в Java не работает?

Извиняюсь, не в тему

Нет i+1 не увеличивает значение переменной. i+1 это способ получить значение, которое больше на единицу чем значение переменной
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
18.03.2013, 14:21
вот вам вся разница в 3 примерах
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Increment {
    public static void main(String[] args) {
        int i = 0;
 
        System.out.println("i+1");
        print(i + 1);
        print(i);
 
        System.out.println("i++");
        print(i++);
        print(i);
 
        System.out.println("++i");
        print(++i);
        print(i);
 
    }
 
    static void print(Object o) {
        System.out.println("i=" + o);
    }
 
}
1
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 4
04.04.2013, 17:36  [ТС]
Спасибо
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
05.04.2013, 13:12
Цитата Сообщение от Жрун Посмотреть сообщение
i+1
Возникает вопрос: где здесь увеличение переменной?
Если i содержит число 2, то получим в итоге 2 + 1.
Java не поддерживает перегрузку оператор(хотя есть оператор + для строк). В С++/С# перегрузив оператор вы бы поняли, как они работают.
0
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 4
06.04.2013, 09:32  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
Java
1
2
3
    static void print(Object o) {
        System.out.println("i=" + o);
}
Что делает эта часть кода ?
И почему нельзя было бы сразу написать
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Increment {
    public static void main(String[] args) {
        int i = 0;
 
        System.out.println("i+1");
        System.out.println(i + 1);
        System.out.println(i);
 
        System.out.println("i++");
        System.out.println(i++);
        System.out.println(i);
 
        System.out.println("++i");
        System.out.println(++i);
        System.out.println(i);
 
    }
}
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
06.04.2013, 09:42
Цитата Сообщение от Жрун Посмотреть сообщение
Что делает эта часть кода ?
И почему нельзя было бы сразу написать
Чтобы тонны кода не отвлекали внимание от темы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.04.2013, 09:42
Помогаю со студенческими работами здесь

Чем принципиально отличается SWT от AWT?
вопрос на засыпку : чем принципиально отличается SWT от AWT?

Чем абстрактный класс отличается от полиморфизма
Начал изучать Java, но так не смог разобраться чем отличается в плане функционала. Буду признателен если объясните

Чем отличается простой проект на Java от апплета
Чем отличается простой проект на Java от апплета?И как сделать апплет? Знаю,что апплет можно как-то подгружать в html страницу.Как это...

Чем отличается объявление переменной без и с оператором new?
Только начал изучать java и сразу не понял, чем отличаются такие объявления переменных и их дальнейшее использование public static...

Чем отличается =- от -=
Только подробно опишите пожалуйста,у меня из-за этого программа в циклах не правильно считает


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru