Java 操作员可根据条件进行选择

Java 操作员可根据条件进行选择,java,Java,我有一个表,它在数据库status中包含两列,diff_idstatus列可能包含这些值 DFG_SGG_RGRG NULL EF_SFEG_FTT IFEF_RGG abc\u id可能包含这些值 null 43546 45346 45746 53465 现在我在一个对象t中得到这些值,所以我必须做一个条件,status列为null,abc_id应该有值43545666l,所以我宁愿写一个if,如下所示,请告知它是否正确,因为我混淆了&&operator | | operator if (

我有一个表,它在数据库
status
中包含两列,
diff_id
status列可能包含这些值

DFG_SGG_RGRG
NULL
EF_SFEG_FTT
IFEF_RGG
abc\u id
可能包含这些值

null
43546
45346
45746
53465
现在我在一个对象t中得到这些值,所以我必须做一个条件,
status
列为null,
abc_id
应该有值43545666l,所以我宁愿写一个if,如下所示,请告知它是否正确,因为我混淆了&&operator | | operator

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

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

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

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

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

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
使用

使用

如果你说:

  • 和-使用
    &
  • 或-使用
    |
如果你说:

& = "and" 
&& = "and, but only if preceding condition was true" 
| = "or" 
|| = "or, but only if preceding condition was false"
  • 和-使用
    &
  • 或-使用
    |

请记住,
&
优先于
|

请注意,
&
|
也是。当给定数字作为输入时,它们计算为数字(例如,
if(1和2)
不编译,但
if(true和false)
编译)。我发现它们在实践中的作用非常有限,
&&
|
通常是首选。如果我还不知道,我可能不会理解
,但前提是前面的条件为真“
&
也一样吗?)。当给定数字作为输入时,它们计算为数字(例如,
if(1和2)
不编译,但
if(true和false)
编译)。我发现它们在实践中的作用非常有限,
&&
|
通常是首选。如果我还不知道,我可能不会理解
,但前提是前面的条件为真“
& = "and" 
&& = "and, but only if preceding condition was true" 
| = "or" 
|| = "or, but only if preceding condition was false"