avatar
关于运算符的问题# Java - 爪哇娇娃
m*l
1
我看到有人这样写程序
private final int A=2;
private final int B=4;
int a;
if(condition)
a|=A;
else a=A|B;
请问这是什么意思?
还有就是,如果写if(a&A) 。。。
那是不是就相当于 a>0&&A>0呢,但我的A已经声明成final int了
这样有什么意义呢
avatar
c*t
2
better get a Java book and read about java operators.

【在 m******l 的大作中提到】
: 我看到有人这样写程序
: private final int A=2;
: private final int B=4;
: int a;
: if(condition)
: a|=A;
: else a=A|B;
: 请问这是什么意思?
: 还有就是,如果写if(a&A) 。。。
: 那是不是就相当于 a>0&&A>0呢,但我的A已经声明成final int了

avatar
m*l
3

#define A 16
int a
if(a&A) ...
我实在是不明白,这种运算符啥意思
难道真的是if(a>0&&A>0),我从来没碰到过这么烦躁的代码,从没见过这么奇怪的用法
还请高手不吝赐教,不然我真的没办法啦

【在 c*****t 的大作中提到】
: better get a Java book and read about java operators.
avatar
m*l
4
还有一个问题
#define A 10
#define B 12
这本身都是很平常的宏定义
但竟然可以这样写
int a;
a=A|B;
在if中这样用 if(a&A)...
这到底是什么意思,我从来没见过这种写法,真是愁死我了

【在 m******l 的大作中提到】
:
: #define A 16
: int a
: if(a&A) ...
: 我实在是不明白,这种运算符啥意思
: 难道真的是if(a>0&&A>0),我从来没碰到过这么烦躁的代码,从没见过这么奇怪的用法
: 还请高手不吝赐教,不然我真的没办法啦

avatar
g*g
5
I don't think Java has macro. In C, well, you'd better consult
a C book about bit And/Or operators.



【在 m******l 的大作中提到】
: 还有一个问题
: #define A 10
: #define B 12
: 这本身都是很平常的宏定义
: 但竟然可以这样写
: int a;
: a=A|B;
: 在if中这样用 if(a&A)...
: 这到底是什么意思,我从来没见过这种写法,真是愁死我了

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。