Tag: 运算符

“int style = SWT.APPLICATION_MODAL |中的”|“是什么? SWT.OK;“做(以及如何谷歌)?

我无法搜索| 在谷歌。 如果你在一个你试图解释的软件源代码中找到它,你不知道它做了什么,你不能向其他人寻求帮助,你怎么知道它的作用?

按位运算符和单个&符号

可能重复: 为什么我们通常使用|| 不是| , 有什么不同? 我可以使用单个&符号而不是像&&那样的按位运算符吗? 可能会出现什么样的差异,是否有一个明确说明这个问题的具体例子?

Java枚举是否有增量运算符++?

是否可以为枚举实现++运算符? 我用枚举处理状态机的当前状态,能够使用++运算符会很好。

在Java中的if块中使用逻辑运算符或按位运算符之间有区别吗?

应执行以下两个if块的内容: if( booleanFunction() || otherBooleanFunction() ) {…} if( booleanFunction() | otherBooleanFunction() ) {…} 那么使用|之间的区别是什么 或使用|| ? 注意:我调查了这个并找到了我自己的答案,我在下面提到了答案。 请随时纠正我或给自己的看法。 肯定还有改进的余地!

如何在Java中使用generics语言运算符和扩展Number的generics类

我想对两个扩展Number的相同类型的generics参数执行操作。 可能吗? 我总是习惯在generics参数上调用方法,但似乎使用运算符存在一些问题(对于参数类型T,T,运算符+未定义)。 public static T sum(T a, T b){ return a+ b; } 我究竟做错了什么? 编辑:我试着改善我的问题。 我知道运营商没有为Number类型定义。 这件事有点让人伤心,因为在不引入@Victor Sorokin建议的新界面的情况下执行这样的操作会很不错。 但是我仍然不明白一件事:如果运算符没有在Number类中实现,那么至少在Double类中应该实现,因为我可以使用+运算符和double。 这些代码行都不会编译: public static T sum(T a, T b){ T c = a +b; } 为什么?

java.lang.Number不实现“+”或任何其他运算符?

我正在创建一个类,它应该能够与任何类型的数组(float,int等)一起使用,所以这里有一个方法: // T extends Number public synchronized T[] average() { Number[] ret = new Number[queue[0].length]; for (int i = 0; i < ret.length; ++i) { for (int j = 0; j < size; ++j) { ret[i] += queue[j][i]; // WTF ERROR?! } ret[i] /= size; // WTF ERROR?! } return (T[])ret; } 除非这不会编译,因为“Number”没有实现“+ =”或“/ =”运算符。 […]

按位操作 – 如何更改现有颜色?

我已经阅读了按位运算符(&| ^),我理解如果我这样做: alpha = 0xFF000000 >> 24 ; blue = 0xFF0000FF & 0x000000FF; red = 0xFFFF0000>>16 & 0x000000FF; green = 0xFF00FF00>>8 & 0x000000FF; 然后,我可以掩盖其他颜色,只有红色或蓝色(等…)组件,如果我这样做 int color = alpha | blue | red | green; 然后我再次重新构建颜色可以这么说。 我很好奇的是如果我想在Java中用两种颜色之间创建双线性插值。 我该怎么做呢? 我想从标准绿色(0xFF00FF00)开始,以黑色(0xFF000000)结束,中间的颜色将从绿色变为深绿色,直到最终变为黑色。 我认为我必须做一些事情,我创建一个bufferedImage,从顶部开始绿色,然后可能创建一个for循环,它将读取前一个像素的颜色,然后移动一些东西,直到以前的颜色的新版本是创建等等。 不幸的是,我不确定如何实现这一点,因为我理解按位运算和理论上的转变,但我不确定如何将它们用于此目的。 任何帮助将不胜感激! 先感谢您!

在Java中,post增量运算符如何在return语句中起作用?

给定以下代码,ixAdd会执行您期望的操作,即在增量之前返回ix的值,但在离开函数之前增加类成员吗? class myCounter { private int _ix = 1; public int ixAdd() { return _ix++; } } 当程序离开函数的堆栈帧(或Java中的任何内容)时,我不太确定post / pre增量的通常规则是否也适用于return语句。

条件OR运算符的短路行为(||)

两个条件运算符&&和|| 按照短路进行短路 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html ,这意味着有时不需要评估第二个操作数。 有人可以提供一个示例,其中条件OR(||)运算符将被短路? 使用条件AND(&&)运算符时,短路行为非常简单: 如果(false &&(1> 0))则第二个操作数:(1> 0)不需要被评估,但似乎无法找到/想到条件OR的示例。

检查整数内是否只设置了一个位(无论其位置如何)

我使用64位整数内的位存储标志。 我想知道是否有一个位设置无论64位整数内的位置(ei我不关心任何特定位的位置)。 boolean isOneSingleBitSet (long integer64) { return ….; } 我可以使用Bit Twiddling Hacks (Sean Eron Anderson)计算位数,但我想知道检测单个位是否设置的最有效方法是什么… 我发现了一些其他相关的问题: (8051)检查是否设置了一个位 检测整数内的单个一位流 以及一些维基百科页面: 找到第一个 位操作 汉明重量 注意:我的应用程序是在java中,但我很好奇使用其他语言的优化… 编辑 : LưuVĩnhPhúc指出我的问题中的第一个链接已经得到了答案:请参阅确定一个整数是否在Bit Twiddling Hacks (Sean Eron Anderson)中的2的幂 。 我没有意识到单个位 与2的幂相同。