老师上课说了java逻辑和c不同,c是非0就为真,而java不是的,给了个代码,我怎么做不出来

图片说明

你老师这句话的意思是在C中,你可以int a=1;if(a){}这种写法,就是直接整型能做条件判断。而在java中,这种写法不行,必须是boolean类型才可以。其他都不能单独作为条件

你要做出什么?这么写不能编译
你得写
if ((Boolean)b)

数据类型要是bolean

数据类型要是bolean

if里面需要的是一个Boolean类型

在C中允许int到bool的隐式转换
在Java中不允许int到boolean的转换,因此if(c)会报错,但是你可以使用if((boolean)c)的形式