import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader fafa = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(fafa.readLine());
if (a<0)
System.out.print(a++);
//System.out.print(a+1);
Zubr
26 уровень
Почему не добавляется +1 если записать а++
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Whiskels
25 января 2020, 23:13решение
Рассмотрим следующий пример:
int a = 0;
int b =a++;
В таком случае при инициализации переменной b она приравнивается переменной а, а затем переменная а увеличивается на единицу. То же самое в случае вывода в консоль.
Если записать так:
int b = ++a;
То и b и a станут равны 1.
В случае первой записи - вызывается текущее значение переменной, после чего она увеличивается на единицу (при это в расчете используется вызванное изначально).
Во втором случае вызывается текущее значение и происходит увеличение этого значения.
Более подробно можно почитать поискав информацию о post increment и pre increment.
Еще пример:
int a = 0;
int b = a++ + a + ++a; //0 + 1 + 2
+4
Zubr
25 января 2020, 22:50
При записи
А при записи
Выдает
Почему в данном случае а++ не добавляет единицу?
Выдает
0
ГоффMaster
25 января 2020, 23:28
Добавляет, но ПОСЛЕ вывода на печать. Попробуй так:
a=0;
System.out.print(a++);
System.out.print(a);
Увидишь, что первый вывод будет 0, а второй - единица.
Если ты сделаешь так:
System.out.print(++a);
System.out.print(a);
То оба вывода будут единицами.
+3