📅  最后修改于: 2020-10-13 05:26:32             🧑  作者: Mango
Java在Java 7中添加了新功能Binary 字面量 。我允许您在二进制数字系统中表示整数类型(字节,短型,整型和长型)。要指定二进制字面量,请将前缀0b或0B添加到整数值。
在下面的示例中,我们从整数值创建二进制字面量。
public class BinaryLiteralsExample {
public static void main(String[] args) {
// Binary literal in byte type
byte b1 = 0b101;// Using b0, The b can be lower or upper case
byte b2 = 0B101;// Using B0
System.out.println("----------Binary Literal in Byte----------------");
System.out.println("b1 = "+b1);
System.out.println("b2 = "+b2);
// Binary literal in short type
short s1 = 0b101;// Using b0, The b can be lower or upper case
short s2 = 0B101;// Using B0
System.out.println("----------Binary Literal in Short----------------");
System.out.println("s1 = "+s1);
System.out.println("s2 = "+s2);
// Binary literal in int type
int i1 = 0b101;// Using b0, The b can be lower or upper case
int i2 = 0B101;// Using B0
System.out.println("----------Binary Literal in Integer----------------");
System.out.println("i1 = "+i1);
System.out.println("i2 = "+i2);
// Binary literal in long type
long l1 = 0b0000011111100001;// Using b0, The b can be lower or upper case
long l2 = 0B0000011111100001;// Using B0
System.out.println("----------Binary Literal in Long----------------");
System.out.println("l1 = "+l1);
System.out.println("l2 = "+l2);
}
}
输出:
----------Binary Literal in Byte----------------
b1 = 5
b2 = 5
----------Binary Literal in Short----------------
s1 = 5
s2 = 5
----------Binary Literal in Integer----------------
i1 = 5
i2 = 5
----------Binary Literal in Long----------------
l1 = 2017
l2 = 2017
在此示例中,我们使用二进制字面量的下划线并进行操作来创建负二进制。
public class BinaryLiteralsExample {
public static void main(String[] args) {
byte b1 = 5; // a decimal value
// Using binary of 5
byte b2 = 0b101;// using b0, The b can be lower or upper case
// Declaring negative binary
byte b3 = -0b101;
// Using underscore in binary literal
byte b4 = 0b101_0;
System.out.println("b1 = "+b1);
System.out.println("b2 = "+b2);
System.out.println("b3 = "+b3);
System.out.println("b4 = "+b4);
// Check whether binary and decimal are equal
System.out.println("is b1 and b2 equal: "+(b1==b2));
// Perform operation on binary value
System.out.println("b2 + 1 = "+(b2+1));
// Perform operation on negative binary value
System.out.println("b3 + 1 = "+(b3+1));
System.out.println("b4 x 2 = "+(b4*2));
}
}
输出:
b1 = 5
b2 = 5
b3 = -5
b4 = 10
is b1 and b2 equal: true
b2 + 1 = 6
b3 + 1 = -4
b4 x 2 = 20