【Thinking in Java】操作符
来源:互联网 发布:javascript注释 编辑:程序博客网 时间:2024/06/05 18:33
Java在方法调用过程中传递的是“对象的引用”,但对于基本数据类型,传递的是参数的拷贝。
所以下列代码输出的分别是Z和4。
public class Letter {char c;}public class PassObject {public static void main(String args[]){Letter x=new Letter();int a=4;x.c='a';f(x);i(a);System.out.println(x.c);System.out.println(a);}static void f(Letter y){y.c='Z';}static void i(int num){num=8;}}
a++和++a,别是先传值和先运算。
对象的等价性。对于下列代码,输出的分别是:YES、NO、NO、YES。
对于后三个的解释为:
==比较的是引用,而不是对象本身。
equals在这里比较的是对象本身。事实上,equals优先比较的也是对象的引用,但是Java很多类重写了equals方法,使其比较的是对象本身,就像这里的String一样。
public class Equivalence {public static void main(String args[]){String str1="a";String str2="a";if(str1==str2){System.out.println("YES");}else{System.out.println("NO");}String s1=new String("abc");String s2=new String("abc");if(s1==s2){System.out.println("YES");}else{System.out.println("NO");}Integer a=new Integer(4);Integer b=new Integer(4);if(a==b){System.out.println("YES");}else{System.out.println("NO");}if(a.equals(b)){System.out.println("YES");}else{System.out.println("NO");}}}
但是对于第一个为什么成立存疑,难道这样写str1和str2就是同一个引用了?
使用逻辑操作符&&(或||)操作符连接多个布尔表达式,在已经确定整个表达式值得情况下,后面的表达式不会执行。这种情况称作“短路”。
使用按位操作符&(或|)连接布尔表达式与逻辑操作符具有同样的效果,但是不会出现“短路”,即所有的表达式均会执行。
位移操作符>>或(<<)把整数转换为二进制数后进行移位,再转化成十进制数返回。
0 0
- 【Thinking in Java】操作符
- java操作符(Thinking in Java)
- Thinking in Java 之移位操作符
- thinking in java——操作符
- Thinking in Java:第三章-操作符
- Java - Thinking in Java 第3章 操作符
- 《Thinking in Java》第四篇笔记 Java中的操作符
- 移位操作符(Thinking in Java 4th Edition)
- thinking in java 学习笔记(一)之操作符
- Thinking in java 笔记 第3章 操作符
- Thinking In Java笔记(第三章 操作符)
- CH3 操作符——Thinking in Java 读书笔记
- Thinking in Java——第三章-操作符
- 读thinking in java笔记(二):操作符
- #Thinking in Java阅读笔记# 第三章 操作符
- java文件操作--Thinking in java
- java文件操作--Thinking in java
- Thinking in java -- String 替换操作
- 计算机视觉——算法与应用
- 坚持#第38天~独在异乡为异客,每逢佳节倍思亲
- 【VS开发】visual studio 2015的NuGet Manager解决方案管理功能
- struct hostent结构体使用
- select函数使用时应注意的问题
- 【Thinking in Java】操作符
- JS
- ASP.NET Web API实现缓存的2种方式
- LINQ to SQL语句之用户定义函数
- DataReader和DataSet的异同
- LINQ to SQL语句之DataContext
- HDU 5726 求gcd=k的区间的个数 (二分+RMQ)
- stringbuilder
- hibernate参数设置一览表