0

我有一个表,其中包含数据库中的两列statusdiff_id 状态列可能包含这些值

DFG_SGG_RGRG
NULL
EF_SFEG_FTT
IFEF_RGG

abc_id可能包含这些值

null
43546
45346
45746
53465

现在我在对象 t 中获取这些值,因此我必须设置列为statusnull 并且abc_id值应为 435465666L 的条件,因此我更喜欢编写如下所示的 if 请告知它是否正确,因为我在 && 运算符之间感到困惑|| 操作员

if ( if f.getStatus()== null || abc_id() .longValue()==435465666L )
{
     //perform the logic
}

请告知-这是正确的方法吗?

4

4 回答 4

2
& = "and" 
&& = "and, but only if preceding condition was true" 
| = "or" 
|| = "or, but only if preceding condition was false"
于 2013-05-29T08:55:57.640 回答
1

如果你说:

  • 和 - 使用&&
  • 或 - 使用||

Remebmer 也&&优先于||.

于 2013-05-29T08:55:45.980 回答
0

如果两个条件都必须为真,则需要使用&&运算符。

if (f.getStatus()== null && abc_id().longValue()==435465666L )
{
//perform the logic
}

仅当两个条件都为真时,使用&&运算符才会使条件为真。例如:

System.out.println(true && false); //prints false
System.out.println(false && false);  //prints false
System.out.println(true && true);  //prints true
System.out.println(false && true); //prints false

如果||条件之一为真,则运算符使条件为真。

System.out.println(true || false);  //prints true
System.out.println(false || false); //prints false
System.out.println(true || true);  //prints true
System.out.println(false || true); //prints true
于 2013-05-29T08:54:10.753 回答
0

利用

if (f.getStatus()== null && abc_id().longValue() == 435465666L )
{
   //perform the logic
}
于 2013-05-29T08:55:23.530 回答