当前位置: 首页 > 知识库问答 >
问题:

java中的后递减(Y--)值

墨财
2023-03-14

这个问题来自SCJP

int x = 0; 
int y = 10; 

do {
    y--;        
    ++x; 
} while (x < 5); 

System.out.print(x + "," + y);

结果如何?

B.5、5

D.6,6

答案是B

但我想知道为什么不是A,因为我们知道,在后减量(y--)之后,值与减量之前相同,即6。请提供理由

共有1个答案

祁和通
2023-03-14

Post和pre-decrement实际上都是在执行该行之后减小变量的值。假设我们有这个:

int x = 10, y = 10;
x++; //After this line, x = 11
++y; //After this line, y = 11

System.out.println("x = " + x + " y = " + y);

这样,我们将得到x=11y=11作为输出。区别:
后减量和前减量之间的区别是,使用一个,后减量,实际减量发生在变量求值之后。所以如果我们有以下几点:

int x = 10;
System.out.println("x = " + x--);

我们将输出x=10。使用预减量,实际减量发生在变量求值之前。所以如果我们有以下几点:

int x = 10;
System.out.println("x = " + --x);

我们将输出x=9

 类似资料:
  • 问题内容: 从下面或此处的程序中,为什么最后一次调用要打印该值7? 问题答案: 这将打印出“ 6”,因为它将i加1并返回值。5 + 1 = 6;这是前缀,在操作中使用该编号之前会添加该编号。 这将打印出“ 6”,因为它需要i,存储副本,加1并返回副本。因此,你获得了我当时的价值,但同时又增加了它。因此,你可以打印出旧值,但是它会增加。后缀增量的好处。 然后,当你打印出i时,它会显示i的实际值,因为

  • 我有以下问题: 编写一个递归静态方法isSubstring,签名如下- 获取两个字符串-s1、s2,如果s2是s1的子字符串,则返回true。 该方法应该是递归的,完全不使用迭代。也可以使用您编写的任何其他方法(如果您编写的话)。 正确的答案不会改变方法类型签名/注释(即使通过重载也不会)。 您只能在解决方案中使用以下方法: 公共字符字符(int i) 公共int长度() 公共字符串子字符串(in

  • 问题内容: 之间有什么区别: 至: ? 我会更喜欢使用带式号码?还是我必须始终将shell与method 一起使用? 问题答案: 是Java(以及许多其他语言)中按位异或(XOR)运算符。它不用于求幂。为此,您必须使用。

  • 问题内容: 我试图弄清楚如何将数组中的一组字母值向下移动一个步骤。例如,我的数组包含值(“ d”,“ e”,“ f”,“ g”,“ h”),而我想将其更改为(“ c”,“ d”,“ e”,“ f” “, “G”)。这是我正在使用的代码: 当我使用正值时,字母会改变;但是,负数似乎根本不起作用。 问题答案: PHP已超载了字符串;并非如此。你可以做同样的事情更清洁的代码,以及: 这是一个演示。请注意

  • 本文向大家介绍关于Java中递增和递减运算符的有趣事实,包括了关于Java中递增和递减运算符的有趣事实的使用技巧和注意事项,需要的朋友参考一下 关于Java中的递增和递减运算符,有许多有趣的事实。我们将通过示例讨论其中的一些- 增量和减量运算符不能与'final'变量一起使用。这是由于与'final'关键字相关联的变量无法更改的事实- 示例 输出结果 无法嵌套'++'和'--'运算符。 示例 输出

  • 我知道这些模式在其他处理器上是如何工作的,但我不明白的是,80386为什么不需要后增量和预减量寻址模式? 另外,这些寻址模式与< code>push和< code>pop指令之间有什么关系?