Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java字符增量_Java_Char_Post Increment - Fatal编程技术网

Java字符增量

Java字符增量,java,char,post-increment,Java,Char,Post Increment,我正在执行以下代码 class First { public static void main(String arg[]) { char x= 'A'; x = x++; System.out.println(x); } } 这里的输出是A。 我的问题是为什么在打印之前x没有增加 class First { public static void main(String arg[])

我正在执行以下代码

class First
{

 public static void main(String arg[])
        {
            char x= 'A';
            x = x++;
            System.out.println(x);
        }
}
这里的输出是A。 我的问题是为什么在打印之前x没有增加

class First
{

 public static void main(String arg[])
        {
            char x= 'A';
            x = x++;   // it is post increment as ++ sign is after x
            System.out.println(x);
        }
}
增量后(x++):首先执行语句,然后将值增加1

预增量(++x):首先将值增加1,然后执行语句

增量后(x++):首先执行语句,然后将值增加1


增量前(++x):首先将值增加1,然后执行语句。

您使用的增量后运算符不正确-不需要使用赋值。在这种情况下,它破坏了你的努力

对于上下文,请记住后增量运算符增加值,并返回旧值。也就是说,
x++
大致相当于:

int x_initial = x;
x = x + 1;
return x_initial;
希望现在您可以了解为什么代码无法更改
x
。如果展开它,它看起来像:

char x= 'A';
char y;
{
    y = x;
    x = x + 1;
}
x = y;
System.out.println(x);
作业的净效果是将
x
设置回原来的状态



要修复-只需调用
x++
。或者,如果您想清楚地表明发生了某种赋值,
x+=1
甚至仅仅
x=x+1
也会做同样的事情。

您使用的增量后运算符不正确-您不需要使用赋值。在这种情况下,它破坏了你的努力

对于上下文,请记住后增量运算符增加值,并返回旧值。也就是说,
x++
大致相当于:

int x_initial = x;
x = x + 1;
return x_initial;
希望现在您可以了解为什么代码无法更改
x
。如果展开它,它看起来像:

char x= 'A';
char y;
{
    y = x;
    x = x + 1;
}
x = y;
System.out.println(x);
作业的净效果是将
x
设置回原来的状态



要修复-只需调用
x++
。或者,如果你想说明发生了某种赋值,
x+=1
或者干脆
x=x+1
也会做同样的事情刚才说的
x++?然后发生了什么?是的。但是,在赋值之前它并没有递增刚才说的
x++?然后发生了什么?是的。不过,在分配之前,它并没有递增。