!(p1.name.equals(p2.name)@@p1.name==p2.name)这一行代码就返回一个布尔值,当为true的时候,就给temp赋值false,否则保持true不变。

解决方案 »

  1.   

    不知道楼主这段代码怎么来的,如果是java代码
    1、首先 boolean temp=ture; 应该为boolean temp=true;
    2、p1.name.equals(p2.name)&&p1.name==p2.name(如果@@这个能编译通过?)
      

  2.   

    @@是啥
    如果是&&的话一定会执行
    如果是||的话就看name的值了,值不一样会执行
      

  3.   

    Java的代码应该这样写:
    boolean temp=true;   
    if(!(p1.name.equals(p2.name)&&p1.name==p2.name))
    {
         temp=false;
    } &&有短路计算的功能,当p1.name.equals(p2.name)是FALSE时p1.name==p2.name不会执行,当(p1.name.equals(p2.name)&&p1.name==p2.name)返回值为FALSE时temp=false;执行
      

  4.   

     boolean temp=ture;   
    if(!(p1.name.equals(p2.name)&&p1.name==p2.name))
    {
         temp=false;
    } 如果p1.name.equals(p2.name)和p1.name==p2.name值其中只要有一个为false
    则   temp=false; 执行
      

  5.   

    写错了,应该是3楼那样写的。
    他的执行顺序是:1、先看(p1.name.equals(p2.name)和p1.name==p2.name
                                      2、再判断!(p1.name.equals(p2.name)
                                      3、最后判断!(p1.name.equals(p2.name)&&p1.name==p2.name)这里主要涉及到运算优先级的关系:点  >  ()   >   !   >   &&
      

  6.   

    if内的逻辑值如果为true,则执行if控制的语句,否则执行其对应的else语句(如果有)
      

  7.   

    (p1.name.equals(p2.name)@@p1.name==p2.name)这里面为true的话 !(p1.name.equals(p2.name)@@p1.name==p2.name)
    为false  if就不执行了 反过来一样
      

  8.   

     boolean temp=ture;   
    if(!(p1.name.equals(p2.name)@@p1.name==p2.name))
    {
         temp=false;

    不知道你的@@是什么运算符,但是&&和||都是有短路作用的,也就是说&&只要前面的条件为假,就不会去判断后面的表达式。
    如果||的第一个表达式为真,那么也不会去考虑后面的表达式了。再回到你的判断,如果name为String的话,p1.name==p2.name应该都是假的,所以就看你的@@代表什么运算符了
      

  9.   

    看不懂@@,你可以换成&& 或 ||  试下
      

  10.   

    boolean temp=true;   
    if(!(p1.name.equals(p2.name)&&p1.name==p2.name))
    {
         temp=false;

     
    大概逻辑是:
    首先声明一个 boolean 类型 temp 变量并赋初值为 true
    然后拿 p1 对象中的 实例变量name 与 p2对象中的实例变量 name比较的结果任务 if 循环条件 为真是改变temp的值为 false
    这段代码中,有个隐藏的知识点: ==  比较是  地址
                                                                 equals()方法 比较的是  值注:逻辑运算符 && 是 and 并列,即,满足&&两边的条件
            !()是  否 ,即,与小括号中相反的结果
      

  11.   

    这段代码中,有个隐藏的知识点: ==  比较是  地址
                                                                 equals()方法 比较的是  值
    这个应该是正解,这应该是考点。
      

  12.   

    ture@@让别人不喷的情况下 先摆正自己的学习态度
      

  13.   

    等价于:temp=p1.name.equals(p2.name)@@p1.name==p2.name
      

  14.   

    这样的逻辑即可用于当temp=false的时候执行if语句块中的代码。