Java 调用方法对integer无效
为什么下面的代码输出6而不是20Java 调用方法对integer无效,java,Java,为什么下面的代码输出6而不是20 public class ClassA { public static void main (String [] args ) { int k = 5; doub ( k ); doub ( k ); if ( k <= 19) { k ++; } System. out . println ( k ); } pu
public class ClassA {
public static void main (String [] args ) {
int k = 5;
doub ( k );
doub ( k );
if ( k <= 19) {
k ++;
}
System. out . println ( k );
}
public static void doub (int x ) {
x *= 2;
}
}
提前感谢。因为方法中的对象与原始K是不同的对象,所以需要获取double以返回结果并将K设置为该结果 公共静态int-doubint x{return x*2} K=doubk试试看
public class ClassA {
public static void main (String [] args ) {
int k = 5;
k = doub ( k );
k = doub ( k );
if ( k <= 19) {
k ++;
}
System. out . println ( k );
}
public static int doub (int x ) {
return x *= 2;
}
}
为什么你期望20个?这可能是一个更好的方法:我建议结束这个问题,因为它显然与Java通过引用传递或通过值传递有关抱歉,编辑,因为我缺少第二个函数,方法中有一个原语,而不是一个对象。。。例如,如果它是一个可变对象,那么它实际上可以使用AtomicInteger。。。。