001package java7; 002 003import com.sandwich.koan.Koan; 004 005import static com.sandwich.koan.constant.KoanConstants.__; 006import static com.sandwich.util.Assert.assertEquals; 007 008public class AboutJava7LiteralsEnhancements { 009 010 @Koan 011 public void binaryLiterals() { 012 //binary literals are marked with 0b prefix 013 short binaryLiteral = 0b1111; 014 assertEquals(binaryLiteral, __); 015 } 016 017 @Koan 018 public void binaryLiteralsWithUnderscores() { 019 //literals can use underscores for improved readability 020 short binaryLiteral = 0b1111_1111; 021 assertEquals(binaryLiteral, __); 022 } 023 024 @Koan 025 public void numericLiteralsWithUnderscores() { 026 long literal = 111_111_111L; 027 //notice capital "B" - a valid binary literal prefix 028 short multiplier = 0B1_000; 029 assertEquals(literal * multiplier, __); 030 } 031 032 @Koan 033 public void negativeBinaryLiteral() { 034 int negativeBinaryLiteral = 0b1111_1111_1111_1111_1111_1111_1111_1100 / 4; 035 assertEquals(negativeBinaryLiteral, __); 036 } 037 038 @Koan 039 public void binaryLiteralsWithBitwiseOperator() { 040 int binaryLiteral = ~0b1111_1111; 041 assertEquals(binaryLiteral, __); 042 } 043 044}