• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 217
  • Last Modified:

&& versus &

I am looking for Java code that explains the difference between && and &. Specifically that uses a && compound state  that evaluates  to true in such a way that substitution of & for && results in the compound statement evaluating to false... if you could comment out thoroughly I would appreciate that greatly...

Am a novice to Java programming, but trying to learn fast.

1 Solution
marcoullispAuthor Commented:
I need to be able to actually play around with the code you submit so please please make sure I can just cut and paste it into eclipse and run it so I can learn... i would prefer not to have to clean up code.


from http://java.sun.com/docs/books/tutorial/java/nutsandbolts/relational.html

&&        op1 && op2        Returns true  if op1 and op2 are both true; conditionally evaluates op2
&        op1 & op2        Returns true  if op1 and op2 are both boolean and both true; always evaluates op1 and op2; if both operands are numbers, performs bitwise AND operation

Don't think you can find a case where x && b is true, and x & y is false.
Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
& -> Bitwise And Operator.(Used to do bit wise anding opeartion)
&& -> logical AND Operation. (Used to logically anding two are more exprssions).

check out



Thank You.
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
marcoullispAuthor Commented:
don't really see what I am looking for in any of these links... pity...

will try here

&& checks the whole value -
so - a && b evaluates as a != 0 && b != 0
a & b returns a result after "anding" all bits
101 && 110 return 100

will take the exaple forward setting a = 2(binary 10) and b = 1 binary (01)
a && b evatuate a is true because it is non zero and b is true because it is also not equal to zero
and the result is true
on the other hand a & b return 00 (anding bits) which is false

hope this answers your question.

Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
I think that a goodexample Wings

And also note that && is use in combining the condition like

//do something.

and now the statements inside the if statement will be executed only if both the conditions (i.e a==10 and b==20)are satisfied.

Ok tell me some thing what kind of example are you looking for so that we can help.

Thank You.
marcoullispAuthor Commented:
I need a small program to understand how this would work... nothing fancy... Wings or Shiv could you do that or would it violate the EE rules?

Siva Prasanna KumarPrincipal Solutions ArchitectCommented:
       put this code in the main program and see
        int a=10;//0000 0000 0000 1010 in binary
        int b=23;//0000 0000 0001 0111 in binary
        int c = a&b;
        System.out.println(c); //will print 2 (0000 0000 0000 0010).

//where as
//        c=a&&b;    //error as && is not valid directly and more on when you use a && operator it returns a Boolean
//not an integer so this can be used to check various conditions.
//Like in case if a==10 and also b==23 do soemthig.

if(a==10&&b==23)   //this will be compiled as (if (true)) as the conditions staisfy.
//do some thing.
 System.out.println(a==10&&b==23);  //will print true.
System.out.println(a==10&&b==24); //will print false.
System.out.println(a==10&b==23);  //will print true as this will be evaluating true & true which is true.
System.out.println(a==10&b==24);  //will print true as this will be evaluating true & false which is false.

Thank you
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now