gpt4 book ai didi

java - 需要帮助理解 Java 程序流程

转载 作者:行者123 更新时间:2023-11-29 10:02:29 24 4
gpt4 key购买 nike

代码:

public static char f( char c ){

System.out.print( c++ );
return c--;
}

public static void main(String[] args)
{
if( f('j') == 'k' || f('f') == 'f'){
System.out.println( f('d') );
}
}

有人可以向我解释为什么打印“jde”吗?直觉上,我认为它会打印“kged”。

最佳答案

表达式 c++ 的值是 c 在递增之前的值。表达式 c-- 的值是它递减之前的值。

因此,在您的示例中第一次调用 f 时,c'j' 开始。然后 System.out.println(c++); 行打印 'j' 并递增 c,所以它现在是 k。在下一行,它返回 c 的新值,即 'k'

由于 if 条件的前半部分为真,因此不评估后半部分。我们直接跳入 if 的主体。但这与以前的工作方式相同 - 它打印 'd' 并返回 'e'。然后打印 'e'

关于java - 需要帮助理解 Java 程序流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19923746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com