So I am hoping that this means “If Blah1 is equal to 1 and Blah2 is greater then 2 then do this code OR IF Blah 1 is equal to 1 and Blah2 is equal to 1 then do this code.” Is this what this means?
Binary operations are defined by precedence rules - the operator that has higher precedence is resolved first. && has a higher precedence than ||, so in your case:
x && y || z && w
is the same thing as:
(x && y) || (z && w)
This works the same way with addition and multiplication:
1 * 2 + 3 * 4
is the same thing as:
(1 * 2) + (3 * 4)
This means that your code is doing what you think it’s doing. On the other hand, though:
x || y && z || w
is the same thing as:
x || (y && z) || w
which is resolved left-to-right:
(x || (y && z)) || w
So what operators you’re using influences what order things are resolved in.
As a general rule, though, don’t rely on the precedence - put your own () in to make it clear what you are trying to do.