I am studying operators in Java and I have a problem that I can't solve.
    public static boolean first(){
       System.out.println("first");
       return true;
   }
   public static boolean second(){
       System.out.println("second");
       return true;
   }
   public static boolean third(){
       System.out.println("third");
       return true;
   }
    public static void main(String[] args) {
       if(first() && second() | third()){
           //Do something
       }
    }
The output is "first second third". I think it shoud be "second third first" because | is greater than &&. I don't know where is my mistake but obviously there is one.
 
     
    