Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回t==null-1:t.身高;你怎么办?你的意思是什么?_Java_Conditional Statements - Fatal编程技术网

Java 返回t==null-1:t.身高;你怎么办?你的意思是什么?

Java 返回t==null-1:t.身高;你怎么办?你的意思是什么?,java,conditional-statements,Java,Conditional Statements,我在计算AVL树节点的高度时遇到了以下代码: private int height (AvlNode<T> t) { return t == null ? -1 : t.height; } 这是什么意思?和:平均值?这是一个三元运算符。一般语法为: cond ? ifTrue : ifFalse 其中cond是返回布尔值的表达式。当cond为true时,整个表达式的整体计算结果为ifTrue,否则计算结果为ifFalse。当然,ifTrue和ifFalse必须是兼容的类型。

我在计算AVL树节点的高度时遇到了以下代码:

private int height (AvlNode<T> t) {
  return t == null ? -1 : t.height; 
}

这是什么意思?和:平均值?

这是一个三元运算符。一般语法为:

cond ? ifTrue : ifFalse
其中cond是返回布尔值的表达式。当cond为true时,整个表达式的整体计算结果为ifTrue,否则计算结果为ifFalse。当然,ifTrue和ifFalse必须是兼容的类型。请注意,对象可以为null

实际上,上述规范与以下规范完全相同:

if (t == null)
    return -1;
return t.height;

这是在许多语言中发现的一个非常经典的运算符。一种没有这个操作符的语言是Python。

这是一个三元操作符。一般语法为:

cond ? ifTrue : ifFalse
其中cond是返回布尔值的表达式。当cond为true时,整个表达式的整体计算结果为ifTrue,否则计算结果为ifFalse。当然,ifTrue和ifFalse必须是兼容的类型。请注意,对象可以为null

实际上,上述规范与以下规范完全相同:

if (t == null)
    return -1;
return t.height;

这是在许多语言中发现的一个非常经典的运算符。Python是一种没有此运算符的语言。

如果t为null,它将返回-1,否则它将返回t.hight。这是一种更干净的方法来实现空检查,而不是

if(t==null)
   return -1
else
   return t.hight

但是它看起来可能比if方法更神秘,如果t为null,它将返回-1,否则它将返回t.hight。这是一种更干净的方法来实现空检查,而不是

if(t==null)
   return -1
else
   return t.hight
(a > b) ? a : b; 
但它可能比if方法看起来更神秘

(a > b) ? a : b; 
是一个表达式,返回两个值中的一个,即

或者b。测试条件a>b。如果这是真的,第一个 返回值a。如果为false,则第二个值b为 返回。返回的值取决于条件 测试,a>b。条件可以是返回 布尔值

是一个表达式,返回两个值中的一个,即

或者b。测试条件a>b。如果这是真的,第一个 返回值a。如果为false,则第二个值b为 返回。返回的值取决于条件 测试,a>b。条件可以是返回 布尔值

这就像一个if测试

您的示例与以下代码类似:

if (t == null) return -1;
else return t.height;
这就像一个if测试

您的示例与以下代码类似:

if (t == null) return -1;
else return t.height;
这相当于:

if (t==null)
    return -1;
else
    return t.height;
条件运算符?: 用于根据第一个表达式的值返回任一表达式的结果

它的工作原理是计算布尔表达式,然后决定计算哪个表达式。

它等效于:

if (t==null)
    return -1;
else
    return t.height;
条件运算符?: 用于根据第一个表达式的值返回任一表达式的结果


它的工作原理是计算布尔表达式,然后决定要计算哪个表达式。

python有类似的ifTrue if cond elseifFalse@furas是的,但不是sepython的这个操作符,如果条件是其他的,它也有类似的东西ifFalse@furas是的,但不是这个操作员本身