这段逻辑是怎么回事? Java,括号

时间:2015-12-28 22:46:39

标签: java logic

private int hour;
private int minute;
private int second;

public void setTime(int h, int m, int s){
hour = ((h>=0 && h < 24) ? h : 0);
}

来自这个mrbostons java教程:

https://www.thenewboston.com/videos.php?cat=31&video=18001

虽然您可以(?)使用if语句编写相同的代码,但我想知道此代码中发生了什么以及我如何在其他地方使用它

2 个答案:

答案 0 :(得分:3)

这相当于

hour = ((h>=0 && h < 24) ? h : 0);

if/else s:

if(h>=0 && h < 24) 
    hour = h;
else
    hour = 0;

第一种表示法是使用三元运算符

答案 1 :(得分:1)

hour = ((h>=0 && h < 24) ? h : 0);

如果h大于或等于零且小于24,则将hour设置为h的值,否则将小时设置为零。