class Test
{
public static boolean getTrue()
{
System.
out.
println("returning true"); return true;
}
public static boolean getFalse()
{
System.
out.
println("returning false"); return false;
}
public static void main
(String[]args
) {
System.
out.
println( "Doing bitwise or"); System.
out.
println( getFalse
() | getFalse
() ); System.
out.
println( getFalse
() | getTrue
() ); System.
out.
println( getTrue
() | getFalse
() ); System.
out.
println( getTrue
() | getTrue
() );
System.
out.
println( "Doing conditional (short-circuiting) or"); System.
out.
println( getFalse
() || getFalse
() ); System.
out.
println( getFalse
() || getTrue
() ); System.
out.
println( getTrue
() || getFalse
() ); // won't evaluate right side System.
out.
println( getTrue
() || getTrue
() ); // won't evaluate right side
System.
out.
println( "Doing bitwise and"); System.
out.
println( getFalse
() & getFalse
() ); System.
out.
println( getFalse
() & getTrue
() ); System.
out.
println( getTrue
() & getFalse
() ); System.
out.
println( getTrue
() & getTrue
() );
System.
out.
println( "Doing conditional (short-circuiting) and"); System.
out.
println( getFalse
() && getFalse
() ); // won't evaluate right side System.
out.
println( getFalse
() && getTrue
() ); // won't evaluate right side System.
out.
println( getTrue
() && getFalse
() ); System.
out.
println( getTrue
() && getTrue
() ); }
}
Y2xhc3MgVGVzdAp7CiAgcHVibGljIHN0YXRpYyBib29sZWFuIGdldFRydWUoKQogIHsKICAgIFN5c3RlbS5vdXQucHJpbnRsbigicmV0dXJuaW5nIHRydWUiKTsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgcHVibGljIHN0YXRpYyBib29sZWFuIGdldEZhbHNlKCkKICB7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oInJldHVybmluZyBmYWxzZSIpOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW11hcmdzKQogIHsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggIkRvaW5nIGJpdHdpc2Ugb3IiKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0RmFsc2UoKSB8IGdldEZhbHNlKCkgKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0RmFsc2UoKSB8IGdldFRydWUoKSAgKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0VHJ1ZSgpICB8IGdldEZhbHNlKCkgKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0VHJ1ZSgpICB8IGdldFRydWUoKSAgKTsKCiAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJEb2luZyBjb25kaXRpb25hbCAoc2hvcnQtY2lyY3VpdGluZykgb3IiKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0RmFsc2UoKSB8fCBnZXRGYWxzZSgpICk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIGdldEZhbHNlKCkgfHwgZ2V0VHJ1ZSgpICApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRUcnVlKCkgIHx8IGdldEZhbHNlKCkgKTsgLy8gd29uJ3QgZXZhbHVhdGUgcmlnaHQgc2lkZQogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRUcnVlKCkgIHx8IGdldFRydWUoKSAgKTsgIC8vIHdvbid0IGV2YWx1YXRlIHJpZ2h0IHNpZGUKCiAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJEb2luZyBiaXR3aXNlIGFuZCIpOwogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRGYWxzZSgpICYgZ2V0RmFsc2UoKSApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRGYWxzZSgpICYgZ2V0VHJ1ZSgpICApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRUcnVlKCkgICYgZ2V0RmFsc2UoKSApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRUcnVlKCkgICYgZ2V0VHJ1ZSgpICApOwoKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggIkRvaW5nIGNvbmRpdGlvbmFsIChzaG9ydC1jaXJjdWl0aW5nKSBhbmQiKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0RmFsc2UoKSAmJiBnZXRGYWxzZSgpICk7IC8vIHdvbid0IGV2YWx1YXRlIHJpZ2h0IHNpZGUKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggZ2V0RmFsc2UoKSAmJiBnZXRUcnVlKCkgICk7ICAvLyB3b24ndCBldmFsdWF0ZSByaWdodCBzaWRlCiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIGdldFRydWUoKSAgJiYgZ2V0RmFsc2UoKSApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCBnZXRUcnVlKCkgICYmIGdldFRydWUoKSAgKTsKICB9Cn0=