当前位置: 首页 > 面试题库 >

a = a ++如何在Java中工作

慕容嘉熙
2023-03-14
问题内容

最近,我遇到了这段Java代码

int a=0;
for(int i=0;i<100;i++)
{
    a=a++;
}
System.out.println(a);

为“ a”打印的值为0。但是在C的情况下,“ a”的值为100。

我不明白为什么在Java情况下该值为0。


问题答案:

a = a++;

从递增开始a,然后返回a到旧值,a++返回未递增的值。

简而言之,它在Java中什么也不做。如果要增加,请仅使用postfix运算符,如下所示:

a++;


 类似资料:
  • 问题内容: 我在该网站上遇到了这个问题,并在Eclipse中进行了尝试,但无法理解如何对其进行精确评估。 根据网站上的评论,x + = x * x * x ++解析为x = x +((x + 2)(x + 1) x),这是事实。我想我缺少有关此运算符优先级的信息。 问题答案: Java根据表达式的优先级从左到右计算表达式。 后缀递增运算符仅在使用/返回变量后递增该变量。一切似乎都是正确的。 这是后

  • 主要内容:数据采样,置信区间可以使用统计信息和分析来监控访问者的操作,以确定产生更高转换率的版本。 A/B测试结果通常以精美的数学和统计术语给出,但数字背后的含义其实很简单。 有两种重要的方法可以通过它们检查A/B测试的转换率 - 数据采样 置信区间 下面详细讨论这两种方法。 数据采样 样本数量取决于执行的测试次数。 转化率的计数称为样本,收集这些样本的过程称为采样。 示例 假设您有两种产品A和产品B,想要根据市场需求收集样

  • 问题内容: public void push(E element) { if (size == elements.length) { resize(); // doubel of size } elements[size++] = element; } Java中的a 和 a或a–和–a有什么区别 谢谢 问题答案: 或是后缀运算符,表示a的值将在对表达式求值后更改。 或是前缀运算,表示a的值将在对

  • 问题内容: a和b的值交换在内部如何工作?它绝对不使用临时变量。 问题答案: Python将右侧表达式与左侧赋值分开。首先评估右侧,并将结果存储在堆栈中,然后使用再次从堆栈中获取值的操作码分配左侧名称。 对于具有2或3个项目的元组分配,Python只是直接使用堆栈: 在两个操作码(将一个变量中的值推入堆栈)之后,堆栈顶部保持。该ROT_TWO操作码交换顶部的堆栈上的两个位置,使堆积现在有在顶部。然

  • 问题描述 (Problem Description) 如何使用Java在PDF中创建表。 解决方案 (Solution) 以下是使用Java在PDF中创建表的程序。 import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Do

  • 问题内容: 使用和in 之间有什么性能差异? 如果是这样,哪个更好,为什么?您能简要解释一下以了解这一点吗? 问题答案: 查看生成的字节码: 产生(使用) 因此使用(jdk1.6.0_18): 创造 而 全部导致 但是,在笔记本电脑上进行粗略的性能测试后,两者的运行时间几乎没有差异(有时++ x更快,有时x = x + 1更快),因此我不必担心性能影响。