你说的太专业了
,,,,
首先,你第一个
写的没错,这里的flag
只是
自己起的一个名字而已,它有个属性就是
boolean类型(这个类型就会判断
对错
)所以
你在
main
方法里
构造类对象时(实例化)第一
t
给了他一个
true
这时在
t里面的
flag
就有了
true
这个值
run()方法
判断完就返回给你
对了
你又构建了一个
t1
然后同上
所以
显示
false
但是
你第二个写的就乱了
,还是
基本的概念不清晰
你先声明了一个
flag
它有个属性,你在
构造
Test
里
传入了
同样类型的
x
你让构造时
x
=
flag
你这样写就不对
你想
把
传入的
x
的值
给
flag
吧,
你应该这样写
Test(boolean
x
){
thisflag=
x;
}
void
run
(){
if(flag){
Systemoutprintln("对了");
}else{
Systemoutprintln("错");
}
}java 中 &属于逻辑运算符 &表示 在左右两边都为真时结果为真 有一边为假时结果为假, 1 & 12这个真心没什么意义 另外 & 不管 两边为真为假 两边都会运算 && 只有左边为真时 才会运算右边 左边为假时 会直接返回 假if
(flag
==
TRUE)
if
(flag
==
1
)
if
(flag
==
FALSE)
if
(flag
==
0)
flag
==
TRUE
这个还要进行一次比较 *** 作,
if
(
flag
)就直接进行了判断
而且
有==
这个一般是和int型的作比较,
比如
if(i==3)
如果是bool型的话,容易混淆
所以比较统一的写法是
:
if
(
flag
)
if
(
!flag
)
补充一下:
如果是指针型,就这样比较
if(p==NULL)
if(p!=NULL)
整型
if(i==3)
if(i!=3)
bool型
if(b)
if(!b)
就这个意思,
0是FALSE 1是TRUE。
boolean的默认值是false,也就是0,简单理解就是初始状态下是什么都没有的,所以是0。
扩展资料:
boolean 数据类型 boolean 变量存储为 8 位(1 个字节)的数值形式,但只能是 True 或是 False。
当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。
如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且最终返回这个值。
参考资料:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)