Greetings.
LOL, I see. That's good. I mean, you have the inquisitiveness to explore although you know of a way which would work.
Well, "==" differs from "=" as in:-
-> "=" is used for evaluating an expression (arithmetic).
-> "==" would always evaluate to a Boolean value, either True or False.
So, I would make it easy that, "==" is used in determining the Truth of an expression. You want to test whether something is equal to something. I.e. Is 'a' equal to 5? If yes, do something.
if (a==5)
// do something
I hope you get what I mean.

Not really good at explaining things.
And, about the "&&" operator, yeah, it's true.
If the left hand side is false, it will never evaluate the right hand side because due to the nature of AND operator, one false, all false right? So, if there is one expression that you would deem important and must be evaluated, put it on the left hand side.
However, I kinda remember something from my Programming Language Concept class some time back that, this differs in some programming languages.