Java规范说(§4.2.5):
«整数或浮点表达式x可以转换为布尔值, 按照C语言约定,任何非零值都为真,由 表达式x!= 0。»
可能有人知道,他们的意思是什么转换方式?
答案 0 :(得分:1)
这适用于那些使用C知识来到Java的人,它允许你编写这样的代码:
int x = ...
if (x) {
... // Do something
}
在上面,整数x
用于期望逻辑表达式的上下文中。 C通过将x
与零进行比较隐式地将int x = ...
if (x != 0) {
... // Do something
}
转换为布尔值。等效的Java代码必须明确地进行比较:
Found possible branch point: https://svn.host.ru/repo/trunk => https://svn.host.ru/repo/branches/branch_name, 13439
Found branch parent: (refs/remotes/origin/branch_name) a081660107eb24a999957a6874bdf4dd53568436
Following parent with do_switch
Successfully followed parent
fatal: update_ref failed for ref 'refs/remotes/origin/branch_name': refusing to update ref with bad name refs/remotes/origin/branch_name
update-ref -m r13440 refs/remotes/origin/branch_name 5858b0838db06456ae1de9395a46d1d3fe3c2017: command returned error: 128
答案 1 :(得分:0)
在纯C中,它可以作为布尔值解析编译时。 也就是说它可以用作布尔值。
int a = 1
int b = 0
if a:
...
//This will run as it's true.
if b:
...
//This won't run as it's false