java面试4
1.两个对象a和b,请问a==b和a.equals(b)有什么区别?
a==b; 比较对象地址
a.equals(b);如果a对象没有重写equals方法,效果和==相同,如果重写了就按照重写的规则比较。
2.switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
1).switch可以作用在byte上,不能作用在long上,JDK1.7之后可以作用在String上。
2).switch支持的类型byte,short,int,char,JDK1.5之后支持枚举,JDK1.7之后支持String类型
3,char型变量中是否可以存储一个汉字?
能 因为java一个字符是2个字节,每个字符使用Unicode编码表示
4.float f = 3.4;是否正确,表达式15/2*2的值是多少
不正确 float f = 3.4f;
14
5.编写代码实现两个变量值交换,int m =3,n = 5;
int temp = m; m=n; n= temp;
m=m+n; n=m-n; m=m-n;
m=m^n; n = m^n; m = m^n;
6.java的基本数据类型有哪些? String是基本数据类型吗?
基本数据类型有:byte,short,int,long,float,double,char,boolean
String是引用数据类型,不是基本数据类型
7.数组有没有length()方法?String有没有length()方法?
File没有没length()方法?ArrayList有没有length()方法
数组没有length()方法,但是有length属性。
String和File有length()方法
ArrayList没有length()方法,有size()方法获取有效元素个数
8.String str = new String("hello");创建了哪些对象?
字符串常量池中有一个对象,堆中有一个字符串对象