java学习---操作符

来源:互联网 发布:双色球过滤软件 编辑:程序博客网 时间:2024/04/30 03:52

  java是建立在c++基础上的,所以java中的操作符大多数与c++类似,这里总结一些容易混淆的地方。

  (一)equals和==的区别

     个人理解,equals比较的是对象的实际内容,==比较的是对象的引用,通过例子很容易理解:

      class equal{

       public static void main(String[] args){

         Integer a1=new Integer(7);

         Integer a2=new Integer(7);

         System.out.println(a1==a2);

         System.out.println(a1.equals(a2));

    }

}

   结果会输出:false   true;

    原因在于a1与a2虽然值相同,但a1,a2是不同的引用,所以用==结果为false。而equals比较两者实际值,所以结果为true。

  (二)“别名现象”

       对于基本类型,例如int a=7,a并非一个对象的引用,而是存储了实际的数值。但在为类的对象赋值时,实际操作的是对象的引用,如 Integer a=new Integer(7),此时a不存储数值7,而是代表数值7所在内存的地址,即a指向“7”。


   (三)逻辑操作符

     java中,逻辑操作符只能应用于布尔值;

     “短路”现象,即一旦可以确定表达式的值,就不再计算表达式的剩余部分。

   (四)三元操作符

      boolean-exp?value0:value1

      与if-else类似。

0 0
原创粉丝点击