简单问题-在java中更改位

简单问题-在java中更改位,java,Java,我有一个简单的问题-我需要为我的程序编写一个函数来更改给定字节的第3位 我写了这样几句话: public byte turnOn(Byte value) { int flag = 8; value = (byte) (value | flag); return value; } 我不确定这样做是否正确,因为我也看到了这种方式(我不熟悉这种方式) value=(byte)(value |)(14(或111(1(1请注意,或用8设置值(如开启所做的)设置从右边开始的第四位;

我有一个简单的问题-我需要为我的程序编写一个函数来更改给定字节的第3位

我写了这样几句话:

public byte turnOn(Byte value)
{
    int flag = 8;
    value = (byte) (value | flag);
    return value;
}
我不确定这样做是否正确,因为我也看到了这种方式(我不熟悉这种方式)


value=(byte)(value |)(14(或1
1
1
(1
(1请注意,或用8设置值(如
开启
所做的)设置从右边开始的第四位;或用
设置(谢谢,你是对的,值=4更好:)注意,或用8设置值(如
开启
所做的)设置从右侧开始的第四位;或使用
进行“ing”(谢谢,您是对的,值=4更好:)是的,这也是一个很好的解释,很抱歉我不能投票,因为我是新来的,但是谢谢!是的,这也是一个很好的解释,很抱歉我不能投票,因为我是新来的,但是谢谢!谢谢!因为我是新来的,所以我现在不能投票,但是谢谢!谢谢!因为我是新来的,所以我现在不能投票,但是谢谢!
value = (byte) (value | (1 << 2) );
00000100
00000001 original value
00000010 after shifting left once
00000100 after shifting left again
final int bitsToSet = (1 << 2) + (1 << 5);