我被分配了一项任务,我必须在进口手机上计算税款。它分为两个部分,在这两个部分中,如果对两个条件分别使用,则使用else。因此,我想问的是,如果第一个条件结束了,如果条件消失或忽略它,它会转到第二个条件吗?
这是我写的一些代码:
if (priceindollars >= 1 && priceindollars < 61)
regulatoryduty = 250;
else if (priceindollars >= 61 && priceindollars < 131)
regulatoryduty = ((differentcurrency* 10) / 100);
else
regulatoryduty = ((differentcurrency* 20) / 100);
第一部分在这里
第二部分开始
if (differentcurrency >= 10000 && differentcurrency <= 40000)
mobilelevy = 1000;
else if (differentcurrency >= 10000 && differentcurrency <= 40000)
mobilelevy = 3000;
else
mobilelevy = 5000;
我已经在纸上手动计算了一些输入的输出,但是它们与我的编译器显示的内容不同
答案 0 :(得分:0)
因此,首先:ByteBuffer.allocate(4).order(ByteOrder.nativeOrder()).putInt(yourInt).array();
可以无限地链接。为了简单起见,我们来看下面的示例:
else if
其中if(a)
doA();
else if(b)
doB();
else if(c)
doC();
else if(d)
doD();
else
doE();
,a
,b
和c
代表一些布尔表达式(例如您的代码中的d
)。
在此代码中,恰好是一个 priceindollars >= 1 && priceindollars < 61
。
doX()
,则执行else分支并检查下一个条件。 false
,则执行if分支,并且不检查其他条件。 (因为它们仅位于else分支中)代码等效于以下内容:
true
以长格式编写时,更容易理解为什么执行恰好一个 if (a)
{
doA();
}
else
{
if (b)
{
doB();
}
else
{
if (c)
{
doC();
}
else
{
if (d)
{
doD();
}
else
{
doE();
}
}
}
}
。所以我想,您必须将代码的两个块分开保存。如果将它们与doX()
结合使用,则只有一个变量将被分配一个值。
我希望我能正确理解您的问题,并且可以回答。