public class MaxMin{
public static void main(String[] args){
  int a=2;
  if(a>8)
  {System.out.println("av8");
  System.out.println("ok");
  }
  else if(a<8&a=2)
  {System.out.println("a<8&a=2");
  }
  else
  {System.out.println("a<8");
  System.out.println("不OK");
  }
  }
-----------------------------------------------
C:\>javac MaxMin.java
MaxMin.java:8: 运算符 & 不能应用于 boolean,int
        else if(a<8&a=2)

解决方案 »

  1.   

    (a<8&a=2)(a<8&a==2) 少个=号
      

  2.   

    初级java教程的代码段把,else if 去掉else。
      

  3.   

    public class MaxMin{
    public static void main(String[] args){
      int a=2;
      if(a>8)
      {System.out.println("av8");
      System.out.println("ok");
      }
      else if(a<8&a==2)//你的错误应该是在这儿
      {System.out.println("a<8&a=2");
      }
      else
      {System.out.println("a<8");
      System.out.println("不OK");
      }
      }
    }
      

  4.   

    public class MaxMin{
    public static void main(String[] args){
      int a=2;
      if(a>8)
      {System.out.println("av8");
      System.out.println("ok");
      }
      else if(a<8&a==2)//你的错误应该是在这儿
      {System.out.println("a<8&a=2");
      }
      else
      {System.out.println("a<8");
      System.out.println("不OK");
      }
      }
    }//另外你这里少了个大括号
      

  5.   

    public class MaxMin
    {
    public static void main(String[] args)
    {
       int a=2;
       if(a>8)
       {
    System.out.println("av8");
       System.out.println("ok");
      }
       else if(a<8 &&a==2)
       {
    System.out.println("a<8&a=2");
       }
       else
       {
    System.out.println("a<8");
       System.out.println("不OK");
       }
      }
    }
      

  6.   


    public class MaxMin {
    public static void main(String[] args) {
    int a = 2;
    if (a > 8) {
    System.out.println("av8");
    System.out.println("ok");
    }
    if (a < 8 && a == 2) {
    System.out.println("a<8&a=2");
    } else {
    System.out.println("a<8");
    System.out.println("不OK");
    }
    }
    }
      

  7.   

    再提个小小的建议&是重载运算符,可以作为与运算,也可做逻辑判断,若非必须情况,建议使用&&,并且搞不明白运算符的先后级就用括号括起来吧
      

  8.   

    (a<8&a=2)
    应该规范点,这样写:
    ((a<8)&(a==2))
      

  9.   

    &和|实际上是位运算符。二进制数1&1=1,1&0=0,0&1=0,0&0=0,|是或运算,就不说了。多位时对位超作。
    11&10=10,01&10=00......
    条件判断实际上是在确认表达式的值是0还是非0,非0为true,0为false。
    我们普通的概念true&true就是1&1,其结果也是1,也就是true。实际上就是位运算的只有1位版。
      

  10.   

    +1  然后输出a<8&a=2  然后就木了,亲给分哈
      

  11.   

    else if(a<8&a=2)
     应该是else if(a<8&&a==2)
     在 Java里(以及其它语言比如C)“和”是&&,不是&(&另有它意),而“等于”是“==",一个”=“是赋值用的
     
      

  12.   

    帮你改好了:public class MaxMin{
    public static void main(String[] args){
      int a=2;
      if(a>8)
      {
        System.out.println("av8");
        System.out.println("ok");
      }
      else if(a<8 && a=2)
      {
        System.out.println("a<8&a=2");
      }
      else
      {
         System.out.println("a<8");
         System.out.println("不OK");
      }
    }
      

  13.   

    public class MaxMin{
    public static void main(String[] args){
      int a=2;
      if(a>8)
      {System.out.println("av8");
      System.out.println("ok");
      }
      else if(a<8&a==2)  {System.out.println("a<8&a=2");
      }
      else
      {System.out.println("a<8");
      System.out.println("不OK");
      }
      }
      

  14.   

    public class MaxMin{
    public static void main(String[] args){
      int a=2;
      if(a>8)
      {System.out.println("av8");
      System.out.println("ok");
      }
      else if(a<8 && a==2)
      {System.out.println("a<8 && a==2");
      }
      else
      {System.out.println("a<8");
      System.out.println("不OK");
      }
      }
    }
    这样就可以了,以后在编译的时候可以看看出现的错误提示进行修改